You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Returns the PDATA data block associated with the virtual address.
3
3
title: "IDiaStackWalkHelper::pdataForVA"
4
-
ms.date: "11/04/2016"
4
+
ms.date: "11/04/2024"
5
5
ms.topic: "reference"
6
6
dev_langs:
7
7
- "C++"
8
8
helpviewer_keywords:
9
-
- "IDiaStackWalkHelper2::pdataByVA method"
9
+
- "IDiaStackWalkHelper::pdataByVA method"
10
10
author: "mikejo5000"
11
11
ms.author: "mikejo"
12
12
manager: mijacobs
@@ -28,30 +28,35 @@ HRESULT pdataForVA(
28
28
);
29
29
```
30
30
31
-
#### Parameters
32
-
`va`
31
+
### Parameters
33
32
34
-
[in]Specifies the virtual address of the data to obtain.
33
+
`[in] va`
35
34
36
-
`cbData`
35
+
Specifies the virtual address of the data to obtain.
37
36
38
-
[in]The size of data in bytes to obtain.
37
+
`[in] cbData`
39
38
40
-
`pcbData`
39
+
The size of data in bytes to obtain.
41
40
42
-
[out]Returns the actual size of data in bytes that was obtained.
41
+
`[out] pcbData`
43
42
44
-
`pbData`
43
+
Returns the actual size of data in bytes that was obtained.
45
44
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`.
47
48
48
49
## 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.
50
52
51
53
## Remarks
52
-
The PDATA (the section named ".pdata") of a compiland contains information about exception handling for functions.
53
54
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`.
description: Facilitates walking the stack using the program debug database (.pdb) file.
3
3
title: IDiaStackWalkHelper
4
-
ms.date: "11/04/2016"
4
+
ms.date: "11/04/2024"
5
5
ms.topic: "reference"
6
6
dev_langs:
7
7
- "C++"
@@ -19,43 +19,51 @@ Facilitates walking the stack using the program debug database (.pdb) file.
19
19
20
20
## Syntax
21
21
22
-
```
22
+
```C++
23
23
24
24
IDiaStackWalkHelper: IUnknown
25
25
26
26
```
27
27
28
28
## Methods in VTable Order
29
-
The table below shows the methods of `IDiaStackWalkHelper`:
29
+
30
+
This table shows the methods of `IDiaStackWalkHelper`:
30
31
31
32
|Method|Description|
32
33
|------------|-----------------|
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.|
42
46
43
47
## Remarks
48
+
44
49
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.
45
50
46
51
## 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.
Copy file name to clipboardExpand all lines: docs/deployment/quickstart-deploy-aspnet-web-app.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -156,7 +156,7 @@ Provide the necessary connection details and choose **Finish**. The following sc
156
156
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).
157
157
158
158
> [!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.
160
160
161
161
For troubleshooting, see [Web Deploy error codes](/troubleshoot/developer/webapps/iis/deployment-migration/web-deploy-error-codes#ERROR_DESTINATION_NOT_REACHABLE).
Copy file name to clipboardExpand all lines: subscriptions/assign-license-bulk.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Assign subscriptions to multiple users
3
3
author: joseb-rdc
4
4
ms.author: amast
5
5
manager: shve
6
-
ms.date: 09/16/2024
6
+
ms.date: 11/04/2024
7
7
ms.topic: conceptual
8
8
description: Assign multiple subscriptions to one or more users at the same time with the bulk operation features in the Subscriptions Admin Portal.
9
9
---
@@ -12,7 +12,7 @@ description: Assign multiple subscriptions to one or more users at the same time
12
12
13
13
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).
14
14
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.
0 commit comments