Skip to content

Commit 755b452

Browse files
Merge pull request #10468 from MicrosoftDocs/main638663654891599309sync_temp
For protected branch, push strategy should use PR and merge to target branch method to work around git push error
2 parents d37be68 + 6519760 commit 755b452

8 files changed

+217
-35
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
description: Returns the equivalent address (section and offset) for the specified VA.
3+
title: "IDiaStackWalkHelper::addressForVA"
4+
ms.date: "11/04/2024"
5+
ms.topic: "reference"
6+
dev_langs:
7+
- "C++"
8+
helpviewer_keywords:
9+
- "IDiaStackWalkHelper::addressForVA method"
10+
author: "grantri"
11+
ms.author: "grantri"
12+
manager: mijacobs
13+
ms.subservice: debug-diagnostics
14+
---
15+
16+
# IDiaStackWalkHelper::addressForVA
17+
18+
Returns the equivalent address (section and offset) for the specified VA.
19+
20+
## Syntax
21+
22+
```C++
23+
HRESULT addressForVA(
24+
ULONGLONG va,
25+
DWORD* pISect,
26+
DWORD* pOffset
27+
);
28+
```
29+
30+
### Parameters
31+
32+
`[in] va`
33+
34+
Specifies the virtual address to translate.
35+
36+
`[out] pISect`
37+
38+
Returns the equivalent section for the specified address.
39+
40+
`[out] pOffset`
41+
42+
Returns the equivalent offset within the section for the specified address.
43+
44+
## Return Value
45+
46+
If successful, returns `S_OK`. Returns `E_NOTIMPL` if the helper doesn't support translation; otherwise, returns an error code.
47+
48+
## See also
49+
50+
- [`IDiaStackWalkHelper`](../../debugger/debug-interface-access/idiastackwalkhelper.md)
51+
- [`IDiaSession::addressForVA`](../../debugger/debug-interface-access/idiasession-addressForVA.md)
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
description: Returns the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA).
3+
title: "IDiaStackWalkHelper::getFunctionFragmentsForVA"
4+
ms.date: "11/04/2024"
5+
ms.topic: "reference"
6+
dev_langs:
7+
- "C++"
8+
helpviewer_keywords:
9+
- "IDiaSesIDiaStackWalkHelpersion::getFunctionFragmentsForVA method"
10+
author: "grantri"
11+
ms.author: "grantri"
12+
manager: twhitney
13+
ms.subservice: debug-diagnostics
14+
---
15+
16+
# IDiaStackWalkHelper::getFunctionFragmentsForVA
17+
18+
Returns the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA).
19+
20+
## Syntax
21+
22+
```C++
23+
HRESULT getFunctionFragmentsVA(
24+
ULONGLONG vaFunc,
25+
DWORD cbFunc,
26+
DWORD cFragments,
27+
ULONGLONG *pVaFragment,
28+
DWORD *pLenFragment
29+
);
30+
```
31+
32+
### Parameters
33+
34+
`[in] vaFunc`
35+
36+
The virtual address of the function.
37+
38+
`[in] cbFunc`
39+
40+
The total size in bytes of the function (that is, the length of the function).
41+
42+
`[in] cFragments`
43+
44+
The count of elements allocated for `pVaFragment` and `pLenFragment`.
45+
46+
`[out] pVaFragment`
47+
48+
Array buffer to receive the virtual addresses of each fragment. This buffer must be at least `cFragments` elements long.
49+
50+
`[out] pLenFragment`
51+
52+
Array buffer to receive the length, in bytes, of each fragment. This buffer must be at least `cFragments` elements long.
53+
54+
## Return Value
55+
56+
If successful, returns `S_OK`; otherwise, returns an error code.
57+
58+
## See also
59+
60+
- [`IDiaStackWalkHelper`](../../debugger/debug-interface-access/idiastackwalkhelper.md)
61+
- [`IDiaSession::getFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_va.md)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
description: Returns the number of discontiguous fragments for the function at the specified virtual address (VA).
3+
title: "IDiaStackWalkHelper::getNumberOfFunctionFragmentsForVA"
4+
ms.date: "11/04/2024"
5+
ms.topic: "reference"
6+
dev_langs:
7+
- "C++"
8+
helpviewer_keywords:
9+
- "IDiaStackWalkHelper::getNumberOfFunctionFragmentsForVA method"
10+
author: "grantri"
11+
ms.author: "grantri"
12+
manager: twhitney
13+
ms.subservice: debug-diagnostics
14+
---
15+
16+
# IDiaStackWalkHelper::getNumberOfFunctionFragmentsForVA
17+
18+
Returns the number of discontiguous fragments for the function at the specified virtual address (VA).
19+
20+
## Syntax
21+
22+
```C++
23+
HRESULT getNumberOfFunctionFragmentsForVA(
24+
ULONGLONG vaFunc,
25+
DWORD cbFunc,
26+
DWORD *pNumFragments
27+
);
28+
```
29+
30+
### Parameters
31+
32+
`[in] vaFunc`
33+
34+
The virtual address of the function.
35+
36+
`[in] cbFunc`
37+
38+
The total size in bytes of the function (that is, the length of the function).
39+
40+
`[out] pNumFragments`
41+
42+
The number of fragments.
43+
44+
## Return Value
45+
46+
If successful, returns `S_OK`; otherwise, returns an error code.
47+
48+
## See also
49+
50+
- [`IDiaStackWalkHelper`](../../debugger/debug-interface-access/idiastackwalkhelper.md)
51+
- [`IDiaSession::getNumberOfFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md)
Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
description: Returns the PDATA data block associated with the virtual address.
33
title: "IDiaStackWalkHelper::pdataForVA"
4-
ms.date: "11/04/2016"
4+
ms.date: "11/04/2024"
55
ms.topic: "reference"
66
dev_langs:
77
- "C++"
88
helpviewer_keywords:
9-
- "IDiaStackWalkHelper2::pdataByVA method"
9+
- "IDiaStackWalkHelper::pdataByVA method"
1010
author: "mikejo5000"
1111
ms.author: "mikejo"
1212
manager: mijacobs
@@ -28,30 +28,35 @@ HRESULT pdataForVA(
2828
);
2929
```
3030

31-
#### Parameters
32-
`va`
31+
### Parameters
3332

34-
[in] Specifies the virtual address of the data to obtain.
33+
`[in] va`
3534

36-
`cbData`
35+
Specifies the virtual address of the data to obtain.
3736

38-
[in] The size of data in bytes to obtain.
37+
`[in] cbData`
3938

40-
`pcbData`
39+
The size of data in bytes to obtain.
4140

42-
[out] Returns the actual size of data in bytes that was obtained.
41+
`[out] pcbData`
4342

44-
`pbData`
43+
Returns the actual size of data in bytes that was obtained.
4544

46-
[in, out] A buffer that is filled in with the requested data. Cannot be `NULL`.
45+
`[in, out] pbData`
46+
47+
A buffer that is filled in with the requested data. Can't be `NULL`.
4748

4849
## Return Value
49-
If successful, returns `S_OK`. Returns `S_FALSE` if there is no PDATA for the specified address. Otherwise, returns an error code.
50+
51+
If successful, returns `S_OK`. Returns `S_FALSE` if there's no PDATA for the specified address. Otherwise, return an error code.
5052

5153
## Remarks
52-
The PDATA (the section named ".pdata") of a compiland contains information about exception handling for functions.
5354

54-
The caller knows how much data is to be returned so the caller has no need to ask for how much data is available. Therefore, it is acceptable for an implementation of this method to return an error if the `pbData` parameter is `NULL`.
55+
The `.pdata` section of a compiland contains information about exception handling for functions. It appears in the [PE Format](/windows/win32/debug/pe-format) as the "Exception Table" within the "Optional Header Data Directories."
56+
57+
The caller knows how much data is to be returned so the caller has no need to ask for how much data is available. Therefore, it's acceptable for an implementation of this method to return an error if the `pbData` parameter is `NULL`.
5558

5659
## See also
57-
- [IDiaStackWalkHelper](../../debugger/debug-interface-access/idiastackwalkhelper.md)
60+
61+
- [`IDiaStackWalkHelper`](../../debugger/debug-interface-access/idiastackwalkhelper.md)
62+
- [PE Format - The `.pdata` Section](/windows/win32/debug/pe-format#the-pdata-section)
Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: Facilitates walking the stack using the program debug database (.pdb) file.
33
title: IDiaStackWalkHelper
4-
ms.date: "11/04/2016"
4+
ms.date: "11/04/2024"
55
ms.topic: "reference"
66
dev_langs:
77
- "C++"
@@ -19,43 +19,51 @@ Facilitates walking the stack using the program debug database (.pdb) file.
1919

2020
## Syntax
2121

22-
```
22+
```C++
2323

2424
IDiaStackWalkHelper: IUnknown
2525

2626
```
2727

2828
## Methods in VTable Order
29-
The table below shows the methods of `IDiaStackWalkHelper`:
29+
30+
This table shows the methods of `IDiaStackWalkHelper`:
3031

3132
|Method|Description|
3233
|------------|-----------------|
33-
|[IDiaStackWalkHelper::get_registerValue](../../debugger/debug-interface-access/idiastackwalkhelper-get-registervalue.md)|Retrieves the value of a register.|
34-
|[IDiaStackWalkHelper::put_registerValue](../../debugger/debug-interface-access/idiastackwalkhelper-put-registervalue.md)|Sets the value of a register.|
35-
|[IDiaStackWalkHelper::readMemory](../../debugger/debug-interface-access/idiastackwalkhelper-readmemory.md)|Reads a block of data from the executable's image in memory.|
36-
|[IDiaStackWalkHelper::searchForReturnAddress](../../debugger/debug-interface-access/idiastackwalkhelper-searchforreturnaddress.md)|Searches the specified stack frame for the nearest function return address.|
37-
|[IDiaStackWalkHelper::searchForReturnAddressStart](../../debugger/debug-interface-access/idiastackwalkhelper-searchforreturnaddressstart.md)|Searches the specified stack frame for a return address at or near the specified stack address.|
38-
|[IDiaStackWalkHelper::frameForVA](../../debugger/debug-interface-access/idiastackwalkhelper-frameforva.md)|Retrieves the stack frame that contains the specified virtual address.|
39-
|[IDiaStackWalkHelper::symbolForVA](../../debugger/debug-interface-access/idiastackwalkhelper-symbolforva.md)|Retrieves the symbol that contains the specified virtual address. **Note:** Symbol must have the type `SymTagFunctionType` (a value from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration).|
40-
|[IDiaStackWalkHelper::pdataForVA](../../debugger/debug-interface-access/idiastackwalkhelper-pdataforva.md)|Returns the PDATA data block associated with the specified virtual address.|
41-
|[IDiaStackWalkHelper::imageForVA](../../debugger/debug-interface-access/idiastackwalkhelper-imageforva.md)|Retrieves the starting virtual address of an executable, given a virtual address somewhere in the executable's memory space.|
34+
|[`IDiaStackWalkHelper::get_registerValue`](../../debugger/debug-interface-access/idiastackwalkhelper-get-registervalue.md)|Retrieves the value of a register.|
35+
|[`IDiaStackWalkHelper::put_registerValue`](../../debugger/debug-interface-access/idiastackwalkhelper-put-registervalue.md)|Sets the value of a register.|
36+
|[`IDiaStackWalkHelper::readMemory`](../../debugger/debug-interface-access/idiastackwalkhelper-readmemory.md)|Reads a block of data from the executable's image in memory.|
37+
|[`IDiaStackWalkHelper::searchForReturnAddress`](../../debugger/debug-interface-access/idiastackwalkhelper-searchforreturnaddress.md)|Searches the specified stack frame for the nearest function return address.|
38+
|[`IDiaStackWalkHelper::searchForReturnAddressStart`](../../debugger/debug-interface-access/idiastackwalkhelper-searchforreturnaddressstart.md)|Searches the specified stack frame for a return address at or near the specified stack address.|
39+
|[`IDiaStackWalkHelper::frameForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-frameforva.md)|Retrieves the stack frame that contains the specified virtual address (VA).|
40+
|[`IDiaStackWalkHelper::symbolForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-symbolforva.md)|Retrieves the symbol that contains the specified VA. **Note:** Symbol must have the type `SymTagFunctionType` (a value from the [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration).|
41+
|[`IDiaStackWalkHelper::pdataForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-pdataforva.md)|Returns the PDATA data block associated with the specified VA.|
42+
|[`IDiaStackWalkHelper::imageForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-imageforva.md)|Retrieves the starting VA of an executable, given a VA somewhere in the executable's memory space.|
43+
|[`IDiaStackWalkHelper::addressForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-addressforva.md)|Returns the equivalent address (section and offset) for the specified VA.|
44+
|[`IDiaStackWalkHelper::numberOfFunctionFragmentsForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-numberoffunctionfragmentsforva.md)|Retrieves the number of discontiguous fragments for the function at the specified VA.|
45+
|[`IDiaStackWalkHelper::functionFragmentsForVA`](../../debugger/debug-interface-access/idiastackwalkhelper-functionfragmentsforva.md)|Retrieves the addresses and lengths of discontiguous fragments for the function at the specified VA.|
4246

4347
## Remarks
48+
4449
This interface is called by the Debug Interface Access (DIA) code to obtain information about the executable to construct a list of stack frames during program execution.
4550

4651
## Notes for Callers
47-
A client application implements this interface to support walking the stack during program execution. An instance of this interface is passed to the [IDiaStackWalker::getEnumFrames](../../debugger/debug-interface-access/idiastackwalker-getenumframes.md) or [IDiaStackWalker::getEnumFrames2](../../debugger/debug-interface-access/idiastackwalker-getenumframes2.md) methods.
52+
53+
A client application implements this interface to support walking the stack during program execution. An instance of this interface is passed to the [`IDiaStackWalker::getEnumFrames`](../../debugger/debug-interface-access/idiastackwalker-getenumframes.md) or [IDiaStackWalker::getEnumFrames2](../../debugger/debug-interface-access/idiastackwalker-getenumframes2.md) methods.
4854

4955
## Requirements
56+
5057
Header: Dia2.h
5158

5259
Library: diaguids.lib
5360

5461
DLL: msdia80.dll
5562

5663
## See also
64+
5765
- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md)
58-
- [IDiaFrameData](../../debugger/debug-interface-access/idiaframedata.md)
59-
- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md)
60-
- [IDiaStackWalker::getEnumFrames](../../debugger/debug-interface-access/idiastackwalker-getenumframes.md)
61-
- [IDiaStackWalker::getEnumFrames2](../../debugger/debug-interface-access/idiastackwalker-getenumframes2.md)
66+
- [`IDiaFrameData`](../../debugger/debug-interface-access/idiaframedata.md)
67+
- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md)
68+
- [`IDiaStackWalker::getEnumFrames`](../../debugger/debug-interface-access/idiastackwalker-getenumframes.md)
69+
- [`IDiaStackWalker::getEnumFrames2`](../../debugger/debug-interface-access/idiastackwalker-getenumframes2.md)

docs/debugger/debug-interface-access/toc.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,10 +874,16 @@
874874
items:
875875
- name: IDiaStackWalkHelper
876876
href: idiastackwalkhelper.md
877+
- name: IDiaStackWalkHelper::addressForVA
878+
href: idiastackwalkhelper-addressforva.md
877879
- name: IDiaStackWalkHelper::frameForVA
878880
href: idiastackwalkhelper-frameforva.md
881+
- name: IDiaStackWalkHelper::functionFragmentsForVA
882+
href: idiastackwalkhelper-functionfragmentsforva.md
879883
- name: IDiaStackWalkHelper::imageForVA
880884
href: idiastackwalkhelper-imageforva.md
885+
- name: IDiaStackWalkHelper::nuberOfFunctionFragmentsForVA
886+
href: idiastackwalkhelper-numberoffunctionfragmentsforva.md
881887
- name: IDiaStackWalkHelper::pdataForVA
882888
href: idiastackwalkhelper-pdataforva.md
883889
- name: IDiaStackWalkHelper::get_registerValue

docs/deployment/quickstart-deploy-aspnet-web-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Provide the necessary connection details and choose **Finish**. The following sc
156156
The first time you publish, create a username and password. These credentials are specific to WebDeploy deployment. Once they're created, you can't change them in Visual Studio, but you can reset them in IIS. See [Sites - Set Credentials dialog box](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831681(v=ws.11)#set-credentials-dialog-box). If you don't have the password, you can download a `.publishsettings` file, and read it from there. See [Import publish settings from IIS](./tutorial-import-publish-settings-iis.md).
157157

158158
> [!WARNING]
159-
> Using username and password credentials (basic authentication) is not the most secure method of authentication. Whenever possible, use alternative methods. For example, consider publishing to a package from Visual Studio, and then use *WebDeploy.exe* from a command line to deploy the package. With that method, you can use IIS Manager to configure authorized Windows users who can publish to the web server, and run *WebDeploy.exe* under that Windows user account. See [Installing and Configuring Web Deploy on IIS 8.0 or Later](/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later). If you do use password credentials, be sure to use a strong password, secure the password from being leaked or shared, and properly manage password rotation according to a fixed schedule.
159+
> Using username and password credentials (basic authentication) is not the most secure method of authentication. Whenever possible, use alternative methods. For example, consider publishing to a package from Visual Studio, and then use *WebDeploy.exe* from a command line to deploy the package. With that method, you can use IIS Manager to configure authorized Windows users who can publish to the web server, and run *WebDeploy.exe* under that Windows user account. See [Installing and Configuring Web Deploy on IIS 8.0 or Later](/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later). If you do use password credentials, be sure to use a strong password, and secure the password from being leaked or shared.
160160
161161
For troubleshooting, see [Web Deploy error codes](/troubleshoot/developer/webapps/iis/deployment-migration/web-deploy-error-codes#ERROR_DESTINATION_NOT_REACHABLE).
162162

subscriptions/assign-license-bulk.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Assign subscriptions to multiple users
33
author: joseb-rdc
44
ms.author: amast
55
manager: shve
6-
ms.date: 09/16/2024
6+
ms.date: 11/04/2024
77
ms.topic: conceptual
88
description: Assign multiple subscriptions to one or more users at the same time with the bulk operation features in the Subscriptions Admin Portal.
99
---
@@ -12,7 +12,7 @@ description: Assign multiple subscriptions to one or more users at the same time
1212

1313
The Subscriptions Admin Portal lets you add users one-at-a-time, or in large groups. To add individual users, see [Add single users](assign-license.md).
1414

15-
To add large groups of users, you can use the bulk add feature, or if your organization is using Microsoft Entra ID **and your organization has a trusted agreement**, you can use Microsoft Entra groups. This article explains the process for both options. Watch this video or read on to learn more about the bulk add feature.
15+
To add large groups of users, you can use the bulk add feature, or if your organization is using Microsoft Entra **and your organization has a trusted agreement**, you can use Microsoft Entra groups. This article explains the process for both options. Watch this video or read on to learn more about the bulk add feature.
1616

1717
## Use Bulk add to assign subscriptions
1818

0 commit comments

Comments
 (0)