From f455264a701ef6add11b3b2bc35c2be2962aa1bf Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 28 Jun 2024 16:59:56 -0700 Subject: [PATCH 01/25] Checkpoint up to IDiaSession::addressForVA --- .../common-hresult-values.md | 61 +++++++++ .../constants-debug-interface-access-sdk.md | 1 + .../debug-interface-access-sdk-reference.md | 4 + .../idiadatasource-get-lasterror.md | 5 +- ...iadatasource-loadandvalidatedatafrompdb.md | 6 + .../idiadatasource-loaddataforexe.md | 6 + ...idiadatasource-loaddatafromcodeviewinfo.md | 110 +++++++++++++++ .../idiadatasource-loaddatafromistream.md | 4 +- .../idiadatasource-loaddatafrommiscinfo.md | 126 ++++++++++++++++++ .../idiadatasource-loaddatafrompdb.md | 8 +- .../debug-interface-access/idiadatasource.md | 5 +- .../idiadatasourceex-getstreamrawdata.md | 82 ++++++++++++ .../idiadatasourceex-getstreamsize.md | 59 ++++++++ ...tasourceex-loadandvalidatedatafrompdbex.md | 106 +++++++++++++++ .../idiadatasourceex-loaddataforexeex.md | 107 +++++++++++++++ .../idiadatasourceex-loaddatafromistreamex.md | 64 +++++++++ .../idiadatasourceex-loaddatafrompdbex.md | 78 +++++++++++ ...atasourceex-setpfnminipdberrorcallback2.md | 55 ++++++++ .../idiadatasourceex-validatepdb.md | 101 ++++++++++++++ .../idiadatasourceex.md | 73 ++++++++++ .../idiaenuminputassemblyfiles-clone.md | 40 ++++++ .../idiaenuminputassemblyfiles-get-count.md | 41 ++++++ .../idiaenuminputassemblyfiles-get-newenum.md | 39 ++++++ .../idiaenuminputassemblyfiles-item.md | 46 +++++++ .../idiaenuminputassemblyfiles-next.md | 51 +++++++ .../idiaenuminputassemblyfiles-reset.md | 30 +++++ .../idiaenuminputassemblyfiles-skip.md | 40 ++++++ .../idiaenuminputassemblyfiles.md | 118 ++++++++++++++++ .../idiaenumsymbolsbyaddr-symbolbyaddr.md | 6 +- .../idiaenumsymbolsbyaddr-symbolbyrva.md | 4 +- .../idiaenumsymbolsbyaddr-symbolbyva.md | 4 +- .../idiaenumsymbolsbyaddr2-nextex.md | 58 ++++++++ .../idiaenumsymbolsbyaddr2-prevex.md | 56 ++++++++ .../idiaenumsymbolsbyaddr2-symbolbyaddrex.md | 53 ++++++++ .../idiaenumsymbolsbyaddr2-symbolbyrvaex.md | 49 +++++++ .../idiaenumsymbolsbyaddr2-symbolbyvaex.md | 48 +++++++ .../idiaenumsymbolsbyaddr2.md | 104 +++++++++++++++ .../idiasession-findchildrenex.md | 69 ++++++++++ .../idiasession-findchildrenexbyaddr.md | 79 +++++++++++ .../idiasession-findchildrenexbyrva.md | 74 ++++++++++ .../idiasession-findchildrenexbyva.md | 74 ++++++++++ .../debug-interface-access/idiasession.md | 6 +- .../interfaces-debug-interface-access-sdk.md | 4 + .../pfnminipdberrorcallback2.md | 71 ++++++++++ docs/debugger/debug-interface-access/toc.yml | 64 +++++++++ 45 files changed, 2276 insertions(+), 13 deletions(-) create mode 100644 docs/debugger/debug-interface-access/common-hresult-values.md create mode 100644 docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md create mode 100644 docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md create mode 100644 docs/debugger/debug-interface-access/idiadatasourceex.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md create mode 100644 docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findchildrenex.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md create mode 100644 docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md diff --git a/docs/debugger/debug-interface-access/common-hresult-values.md b/docs/debugger/debug-interface-access/common-hresult-values.md new file mode 100644 index 00000000000..6dbe82acf51 --- /dev/null +++ b/docs/debugger/debug-interface-access/common-hresult-values.md @@ -0,0 +1,61 @@ +--- +title: Common HRESULT Values (Debug Interface Access SDK) +description: See a list of common HRESULT values returned by various APIs in the debug interface access (DIA) SDK. +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "constants, HRESULT, DIA SDK" + - "DIA SDK, HRESULT, constants" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# Common HRESULT Values (Debug Interface Access SDK) + +The following HRESULT values are most commonly returned by APIs within the DIA SDK. + +Here are the values listed in numeric order by value + +|Value|Name|Description| +|-----------|-----------|-----------| +|0x806d0002|E_PDB_USAGE|invalid parameter or call order| +|0x806d0004|E_PDB_FILE_SYSTEM|Can't read or write file, out of disk space, etc.| +|0x806d0005|E_PDB_NOT_FOUND|PDB file not found| +|0x806d0006|E_PDB_INVALID_SIG|PDB signature does not match| +|0x806d0007|E_PDB_INVALID_AGE|PDB age mismatch| +|0x806d0008|E_PDB_PRECOMP_REQUIRED|Precompiled type information not found| +|0x806d0009|E_PDB_OUT_OF_TI|Out of debugger types| +|0x806d000c|E_PDB_FORMAT|Attempt to load or use a PDB with an incompatible or unsupported format| +|0x806d000d|E_PDB_LIMIT|Internal limit of PDB exceeded| +|0x806d000e|E_PDB_CORRUPT|PDB records or structure are corrupt| +|0x806d0011|E_PDB_ILLEGAL_TYPE_EDIT|Trying to edit types in read-only mode| +|0x806d0012|E_PDB_INVALID_EXECUTABLE|File is not recognized as a valid executable| +|0x806d0013|E_PDB_DBG_NOT_FOUND|.DBG file not found| +|0x806d0014|E_PDB_NO_DEBUG_INFO|No recognized debug information found| +|0x806d0015|E_PDB_INVALID_EXE_TIMESTAMP|Invalid timestamp of executable| +|0x806d0016|E_PDB_RESERVED|Undocumented error| +|0x806d0017|E_PDB_DEBUG_INFO_NOT_IN_PDB|Debug information is not in the PDB| +|0x806d0018|E_PDB_SYMSRV_BAD_CACHE_PATH|Bad cache location specified with symsrv| +|0x806d0019|E_PDB_SYMSRV_CACHE_FULL|symsrv cache is full| +|0x806d0064|E_DIA_INPROLOG|Cannot execute stack frame when in prolog| +|0x806d0065|E_DIA_SYNTAX|Error parsing frame program| +|0x806d0066|E_DIA_FRAME_ACCESS|Error accessing registers or memory| +|0x806d0067|E_DIA_VALUE|Error in computed value (e.g. divide by zero)| +|0x806d00C8|E_DIA_COFF_ACCESS|Error accessing OBJ, LIB or compiler generated PDB when querying a PDB produced by the linker with `/DEBUG:fastlink`| +|0x806d00C9|E_DIA_COMP_PDB_ACCESS|Error accessing compiler generated PDB| + + +## Requirements + +Header: dia2.h + +## See also + +- [Reference](../../debugger/debug-interface-access/debug-interface-access-sdk-reference.md) +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) + diff --git a/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md b/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md index 5d6e23a5909..82287ceb1c7 100644 --- a/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md +++ b/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md @@ -32,6 +32,7 @@ The following are declared as C/C++ macros. |`DiaTable_Dbg`|L"Dbg"| |`DiaTable_InjSrc`|L"InjectedSource"| |`DiaTable_FrameData`|L"FrameData"| +|`DiaTable_InputAssemblyFiles`|L"InputAssemblyFiles"| ## Example diff --git a/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md b/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md index d35fc894996..f83bcaad666 100644 --- a/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md +++ b/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md @@ -33,6 +33,10 @@ A complete reference to all of the enumerations and structures required by the i Describes a number of strings and their labels that can be used with the interfaces. +[Common HRESULT Values (Debug Interface Access SDK)](../../debugger/debug-interface-access/common-hresult-values.md) + +Describes a number of HRESULT values that can be return with the interfaces. + ## Related Sections [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md b/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md index 4ba575803d6..0721737d924 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md +++ b/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md @@ -29,11 +29,11 @@ HRESULT get_lastError ( pRetVal -[out] Returns a string that contains the .pdb file name associated with the last load error. +[out] Returns a string that contains the file name associated with the last error. ## Return Value -Returns the last error code caused by a load operation. Returns `E_INVALIDARG` if the `pRetVal` parameter is `NULL`. +Returns the last error code caused by any previous operation. Returns `E_INVALIDARG` if the `pRetVal` parameter is `NULL`. Returns `E_OUTOFMEMORY` if there is insufficient resources to allocate a BSTR ## Example @@ -45,3 +45,4 @@ HRESULT errorCode = pSource->get_lastError( &fileName ); ## See also - [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +- [Common HRESULT Values (Debug Interface Access SDK)](../../debugger/debug-interface-access/common-hresult-values.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md b/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md index 02b9a3fd98e..1efae711e5b 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md @@ -63,12 +63,16 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t A .pdb file contains both signature and age values. These values are replicated in the .exe or .dll file that matches the .pdb file. Before preparing the data source, this method verifies that the named .pdb file's signature and age match the values provided. +To load a .pdb file and validate with prefetching, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. + To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. To gain access to the data load process (through a callback mechanism), use the [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + ## Example ```c++ @@ -95,3 +99,5 @@ if (FAILED(hr)) - [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) - [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) - [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md index 3ad1a09e8fc..1602348a80f 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md @@ -64,12 +64,16 @@ This method reads the debug header and then searches for and prepares the debug The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. +To load a .pdb file with prefetching, use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. + To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + ## Example ```c++ @@ -94,6 +98,8 @@ if (FAILED(hr)) - [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) - [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) - [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) - [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) - [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) - [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md new file mode 100644 index 00000000000..33c864c9ddb --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md @@ -0,0 +1,110 @@ +--- +description: Opens and prepares the debug data associated with the .exe/.dll file. +title: "IDiaDataSource::loadDataFromCodeViewInfo" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSource::loadDataFromCodeViewInfo method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSource::loadDataFromCodeViewInfo + +Opens and prepares the debug data associated with the .exe/.dll file. + +## Syntax + +```c++ +HRESULT loadDataFromCodeViewInfo ( + LPCOLESTR executable, + LPCOLESTR searchPath, + DWORD cbCvInfo, + BYTE* pbCvInfo, + IUnknown* pCallback +); +``` + +#### Parameters + +executable + +[in] Path to the .exe or .dll file. + +searchPath + +[in] Alternate path to search for debug data. + +cbCvInfo + +[in] The size in bytes of the `pbCvInfo` paramter. + +pbCvInfo + +[in] The alternative debug header code view information (to replace what is normal read from the executable's IMAGE_DEBUG_DIRECTORY). Only RSDS or NB10 headers are supported. + +pCallback + +[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md), [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md), the [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows some of the possible error codes for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| +|E_PDB_FORMAT|Attempted to access a file with an unsupported format.| +|E_PDB_INVALID_SIG|Signature does not match.| +|E_PDB_INVALID_AGE|Age does not match.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|Data source has already been prepared.| + +## Remarks + +The code view information, in IMAGE_DEBUG_TYPE_CODEVIEW format, names the associated debug data location as well as prodiving the signture and age fields to match against. + +If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. + +This method reads the provided debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. + +The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. + +To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. + +To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. + +To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. + +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + +## Example + +```c++ +BYTE pbCodeViewInfo[] = { + ... +}; + +HRESULT hr = pSource->loadDataFromCodeViewInfo( L"myprog.exe", L".\debug", sizeof(pbCodeViewInfo), pbCodeViewInfo, nullptr); +if (FAILED(hr)) +{ + // Report error +} +``` + +## See also + +- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) +- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) +- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md index 352e704f3ef..0c358d9357b 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md @@ -43,7 +43,9 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t ## Remarks -This method allows the debug data for an executable to be obtained from memory through an object. +This method allows the debug data for an executable to be obtained through an object. + +To load with prefetching, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md new file mode 100644 index 00000000000..adf1f426532 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md @@ -0,0 +1,126 @@ +--- +description: Opens and prepares the debug data associated with the .exe/.dll file. +title: "IDiaDataSource::loadDataFromMiscInfo" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSource::loadDataFromMiscInfo method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSource::loadDataFromMiscInfo + +Opens and prepares the debug data associated with the .exe/.dll file. + +## Syntax + +```c++ +HRESULT loadDataFromMiscInfo ( + LPCOLESTR executable, + LPCOLESTR searchPath, + DWORD timeStampExe, + DWORD timeStampDbg, + DWORD sizeOfExe, + DWORD cbMiscInfo, + BYTE* pbMiscInfo, + IUnknown* pCallback +); +``` + +#### Parameters + +executable + +[in] Path to the .exe or .dll file. + +searchPath + +[in] Alternate path to search for debug data. + +timeStampExe + +[in] Alternate timestamp for the executable image. + +timeStampDbg + +[in] Alternate timestamp for the debug information. + +sizeOfExe + +[in] Alternate size of the executable image. + +cbMiscInfo + +[in] Size in bytes of the `pbMiscInfo` paramter. + +pbMiscInfo + +[in] Alternative debug header in IMAGE_DEBUG_MISC format that provides the filename with the debug information. + +pCallback + +[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md), [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md), the [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows some of the possible error codes for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| +|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| +|E_PDB_INVALID_SIG|Signature does not match.| +|E_PDB_INVALID_AGE|Age does not match.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|Data source has already been prepared.| + +## Remarks + +The pbMiscInfo replaces the debug information in the executable image and names the associated debug data location. The timestamps and size are used to match the debug information. + +If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. + +This method searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. + +The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. + +To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. + +To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. + +To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. + +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + +## Example + +```c++ +DWORD dwTimeStamp = 0x3BF1C039; +DWORD dwSizeImage = 0x0000A000; +BYTE pbMiscInfo[0x110] = { + ... +}; +HRESULT hr = pSource->loadDataFromMiscInfo( L"myprog.exe", L".\debug", dwTimeStamp, dwTimeStamp, dwSizeOfImage, sizeof(pbMiscInfo), pbMiscInfo, nullptr); +if (FAILED(hr)) +{ + // Report error +} +``` + +## See also + +- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) +- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) +- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md index 546046f9b87..29ea144fc61 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md @@ -38,7 +38,7 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| |E_PDB_NOT_FOUND|Failed to open the file, or determined that the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| +|E_PDB_FORMAT|Attempted to access a file with an incompatible or unsupported format.| |E_INVALIDARG|Invalid parameter.| |E_UNEXPECTED|Data source has already been prepared.| @@ -46,12 +46,16 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t This method loads the debug data directly from a .pdb file. +To load a .pdb file with prefetching, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. + To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. To gain access to the data load process (through a callback mechanism), use the [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + ## Example ```c++ @@ -68,3 +72,5 @@ if (FAILED(hr)) - [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) - [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) - [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource.md b/docs/debugger/debug-interface-access/idiadatasource.md index 41270d4a4d7..9447019e6c8 100644 --- a/docs/debugger/debug-interface-access/idiadatasource.md +++ b/docs/debugger/debug-interface-access/idiadatasource.md @@ -33,6 +33,8 @@ The following table shows the methods of `IDiaDataSource`. |[IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md)|Opens and prepares the debug data associated with the .exe/.dll file.| |[IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md)|Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.| |[IDiaDataSource::openSession](../../debugger/debug-interface-access/idiadatasource-opensession.md)|Opens a session for querying symbols.| +|[IDiaDataSource::loadDataFromCodeViewInfo](../../debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md)|Opens and prepares the debug data associated with the provided CodeView information.| +|[IDiaDataSource::loadDataFromMiscInfo](../../debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md)|Opens and prepares the debug data associated with the provided debug information.| ## Remarks @@ -64,8 +66,9 @@ Header: Dia2.h Library: diaguids.lib -DLL: msdia80.dll +DLL: msdia140.dll ## See also - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md new file mode 100644 index 00000000000..97eeea005e3 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md @@ -0,0 +1,82 @@ +--- +description: Retrieves the raw bytes of the named stream. +title: "IDiaDataSourceEx::getStreamRawData" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::getStreamRawData method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSource::getStreamRawData + +Retrieves the raw bytes of the named stream. + +## Syntax + +```c++ +HRESULT getStreamRawData ( + LPCOLESTR stream, + ULONGLONG cbOffset, + ULONGLONG cbRead, + ULONGLONG* pcbRead, + BYTE* pbData +); +``` + +#### Parameters + +stream + +[in] The name of the stream within the debug information. + +cbOffset + +[in] The offset within the stream to begin reading data from. + +cbRead + +[in] The number of bytes to retrieve. + +pcbRead + +[out] The number of bytes actually read from the stream. + +pbData + +[out] The location to store the read data. On input must be at least `cbRead` bytes in size. Upon successful return `*pcbRead` bytes will be valid. + +## Return Value + +If successful, returns `S_OK`. If the named stream does not exist within the PDB, the API might fail, or it might return a length of 0. + +## Remarks + +Program Databases are made up of multiple streams of data. Some of those streams are named. You can use this method to gather information about these named streams. + +To get the size of the stream, use the [IDiaDataSourceEx::getStreamSize](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md) method. + +## Example + +```c++ +ULONGLONG countBytes = 0; +LPCOLESTR stream = L"/names"; +HRESULT hr = pSource->getStreamSize( stream, &countBytes ); +if (SUCCEEDED(hr)) { + for (ULONGLONG cbOffset = 0, cbRead = 0; cbOffset < countBytes; cbOffset += cbRead) { + BYTE buffer[100]; + cbRead = 0; + hr = pSource->getStreamRawBytes( stream, cbOffset, std::min(countBytes - cbOffset, sizeof(buffer)), &cbRead, buffer); + if (SUCCEEDED(hr)) { + ... +``` + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::getStreamSize](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md new file mode 100644 index 00000000000..0d0ce6c049d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md @@ -0,0 +1,59 @@ +--- +description: Retrieves the size, in bytes, of the named stream. +title: "IDiaDataSourceEx::getStreamSize" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::getStreamSize method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSource::getStreamSize + +Retrieves the size, in bytes, of the named stream. + +## Syntax + +```c++ +HRESULT getStreamSize ( + LPCOLESTR stream, + ULONGLONG* pcb +); +``` + +#### Parameters + +stream + +[in] The name of the stream within the debug information. + +pcb + +[out] The size in bytes of the named stream. + +## Return Value + +If successful, returns `S_OK`. If the named stream does not exist within the PDB, the API might fail, or it i might return a length of 0. + +## Remarks + +Program Databases are made up of multiple streams of data. Some of those streams are named. You can use this method to gather information about these named streams. + +To get the data of the stream, use the [IDiaDataSourceEx::getStreamRawData](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md) method. + +## Example + +```c++ +ULONGLONG countBytes = 0; +HRESULT hr = pSource->getStreamSize( L"/names", &countBytes ); +``` + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::getStreamRawData](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md new file mode 100644 index 00000000000..6051cf225ce --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md @@ -0,0 +1,106 @@ +--- +description: Opens and verifies that the program database (.pdb) file matches the signature information provided, and prepares the .pdb file as a debug data source, with optional record prefetching. +title: "IDiaDataSourceEx::loadAndValidateDataFromPdbEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::loadAndValidateDataFromPdbEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx::loadAndValidateDataFromPdbEx + +Opens and verifies that the program database (.pdb) file matches the signature information provided, and prepares the .pdb file as a debug data source, with optional record prefetching. + +## Syntax + +```c++ +HRESULT loadAndValidateDataFromPdbEx ( + LPCOLESTR pdbPath, + GUID* pcsig70, + DWORD sig, + DWORD age, + BOOL fPdbPrefetching +); +``` + +#### Parameters + +`pdbPath` + +[in] The path to the .pdb file. + +`pcsig70` + +[in] The globally unique identifier (GUID) signature to verify against the .pdb file signature. Only .pdb files in Visual C++ and later have GUID signatures. + +`sig` + +[in] The 32-bit signature to verify against the .pdb file signature. + +`age` + +[in] Age value to verify. The age does not necessarily correspond to any known time value, it is used to determine whether a .pdb file is out of sync with a corresponding .exe file. + +fPdbPrefetching + +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md). If set to some other value, behavior is unspecified. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows the possible return values for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| +|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| +|E_PDB_INVALID_SIG|Signature does not match.| +|E_PDB_INVALID_AGE|Age does not match.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|The data source has already been prepared.| + +## Remarks + +A .pdb file contains both signature and age values. These values are replicated in the .exe or .dll file that matches the .pdb file. Before preparing the data source, this method verifies that the named .pdb file's signature and age match the values provided. + +To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. + +To gain access to the data load process (through a callback mechanism), use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. + +To load a .pdb file directly from memory, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. + +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + +## Example + +```c++ +IDiaDataSource* pSource; // Previously created data source. +DEFINE_GUID(expectedGUIDSignature,0x1234,0x5678,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08); +DWORD expectedFileSignature = 0x12345678; +DWORD expectedAge = 128; + +HRESULT hr; +hr = pSource->loadAndValidateDataFromPdbEx( L"yprog.pdb", + &expectedGUIDSignature, + expectedFileSignature, + expectedAge, + TRUE); +if (FAILED(hr)) +{ + // Report an error +} + +``` + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md new file mode 100644 index 00000000000..0014aa7b3f7 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md @@ -0,0 +1,107 @@ +--- +description: Opens and prepares the debug data associated with the .exe/.dll file, with optional record prefetching. +title: "IDiaDataSourceEx::loadDataForExeEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::loadDataForExeEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx::loadDataForExeEx + +Opens and prepares the debug data associated with the .exe/.dll file, with optional record prefetching. + +## Syntax + +```c++ +HRESULT loadDataForExeEx ( + LPCOLESTR executable, + LPCOLESTR searchPath, + IUnknown* pCallback, + BOOL fPdbPrefetching +); +``` + +#### Parameters + +executable + +[in] Path to the .exe or .dll file. + +searchPath + +[in] Alternate path to search for debug data. + +pCallback + +[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md), [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md), the [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. + +fPdbPrefetching + +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md). If set to some other value, behavior is unspecified. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows some of the possible error codes for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| +|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| +|E_PDB_INVALID_SIG|Signature does not match.| +|E_PDB_INVALID_AGE|Age does not match.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|Data source has already been prepared.| + +## Remarks + +The debug header of the .exe/.dll file names the associated debug data location. + +If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. + +This method reads the debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSourceEx::loadDataForExeEx` method finds and processes a debug directory. + +The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. + +To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. + +To validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. + +To load a .pdb file directly from memory, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. + +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + +## Example + +```c++ +class MyCallBack: public IDiaLoadCallback +{ +... +}; +MyCallBack callback; +... +HRESULT hr = pSource->loadDataForExeEx( L"myprog.exe", L".\debug", (IUnknown*)&callback, TRUE); +if (FAILED(hr)) +{ + // Report error +} +``` + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceEx.md) +- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) +- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) +- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md new file mode 100644 index 00000000000..6a4601cfadc --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md @@ -0,0 +1,64 @@ +--- +description: Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream, with optional record prefetching. +title: "IDiaDataSourceEx::loadDataFromIStreamEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::loadDataFromIStreamEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx::loadDataFromIStreamEx + +Prepares the debug data stored in a program database (.pdb) file accessed through a potentially in-memory data stream, with optional record prefetching. + +## Syntax + +```c++ +HRESULT loadDataFromIStreamEx ( + IStream* pIStream, + BOOL fPdbPrefetching +); +``` + +#### Parameters + +pIStream + +[in] An object representing the data stream to use. + +fPdbPrefetching + +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md). If set to some other value, behavior is unspecified. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows the possible return values for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|Data source has already been prepared.| + +## Remarks + +This method allows the debug data for an executable to be obtained from memory through an object. + +To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. + +To validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. + +To gain access to the data load process (through a callback mechanism), use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md new file mode 100644 index 00000000000..73b0872deb2 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md @@ -0,0 +1,78 @@ +--- +description: Opens and prepares a program database (.pdb) file as a debug data source, with optional record prefetching. +title: "IDiaDataSourceEx::loadDataFromPdbEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::loadDataFromPdbEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx::loadDataFromPdbEx + +Opens and prepares a program database (.pdb) file as a debug data source with optional record prefetching. + +## Syntax + +```c++ +HRESULT loadDataFromPdbEx ( + LPCOLESTR pdbPath, + BOOL fPdbPrefetching +); +``` + +#### Parameters + +pdbPath + +[in] The path to the .pdb file. + +fPdbPrefetching + +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md). If set to some other value, behavior is unspecified. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows the possible return values for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_NOT_FOUND|Failed to open the file, or determined that the file has an invalid format.| +|E_PDB_FORMAT|Attempted to access a file with an incompatible or unsupported format.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|Data source has already been prepared.| + +## Remarks + +This method loads the debug data directly from a .pdb file. + +To validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. + +To gain access to the data load process (through a callback mechanism), use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. + +To load a .pdb file directly from memory, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. + +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. + +## Example + +```c++ +HRESULT hr = pSource->loadDataFromPdbEx( L"myprog.pdb", TRUE ); +if (FAILED(hr)) +{ + // report error +} +``` + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) +- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md new file mode 100644 index 00000000000..29b840f111d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md @@ -0,0 +1,55 @@ +--- +description: Sets a callback function to receive errors relating to loading secondary files referenced from fastlink PDBs. +title: "IDiaDataSourceEx::setPfnMiniPDBErrorCallback" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::setPfnMiniPDBErrorCallback method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx::setPfnMiniPDBErrorCallback + +Sets a callback function to receive errors relating to loading secondary files (.OBJ, .LIB, or compiler generated .PDB files) referenced from fastlink PDBs (i.e. PDBs generated with /DEBUG:fastlink). + +## Syntax + +```c++ +HRESULT setpfnminipdberrorcallback2 ( + void* pvContext, + PFNMINIPDBERRORCALLBACK2 pfn +); +``` + +#### Parameters + +pvContext + +[in] A context parameter to be passed to the callback. + +pfn + +[in] A pointer to a function to be called. + +## Return Value + +If successful, returns `S_OK`. + +## Remarks + +PDBs that are generated with /DEBUG:fastlink (also sometimes call mini PDBs), do not contain all the debug information and instead must read information out of the OBJs, LIBs and compiler generated PDBs used to make the final executable. If errors occur when trying to loacte or read those files, a callback maybe set to receive additional information about the failure. + +Only one callback function may be registered at a time. Attempting to register a second function will simply replace the first. To remove the registration, simply pass a `nullptr` for both arguments. + +See [PFNMINIPDBERRORCALLBACK2](../../debugger/debug-interface-access/pfnminipdberrorcallback2.md) for an example of using this method. + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [PFNMINIPDBERRORCALLBACK2](../../debugger/debug-interface-access/pfnminipdberrorcallback2.md) +- [/DEBUG (Generate debug info)](/cpp/build/reference/debug-generate-debug-info) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md new file mode 100644 index 00000000000..b51f3bde0e3 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md @@ -0,0 +1,101 @@ +--- +description: Verifies that the program database (.pdb) file matches the signature information provided. +title: "IDiaDataSourceEx::ValidatePdb" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx::ValidatePdb method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx::ValidatePdbEx + +Verifies that the program database (.pdb) file matches the signature information provided. + +## Syntax + +```c++ +HRESULT ValidatePdb ( + LPCOLESTR pdbPath, + const GUID* pcsig70, + DWORD sig, + DWORD age, + BOOL* pfStripped +); +``` + +#### Parameters + +`pdbPath` + +[in] The path to the .pdb file. + +`pcsig70` + +[in] The globally unique identifier (GUID) signature to verify against the .pdb file signature. Only .pdb files in Visual C++ and later have GUID signatures. + +`sig` + +[in] The 32-bit signature to verify against the .pdb file signature. + +`age` + +[in] Age value to verify. The age does not necessarily correspond to any known time value, it is used to determine whether a .pdb file is out of sync with a corresponding .exe file. + +pfStripped + +[out] If the PDB matches the other information, this parameter is set to indicate whether the PDB has been stripped of private symbols. This is the same value as would be returned by [IDiaSymbol::get_isStripped](../../debugger/debug-interface-access/idiasymbol-get-isstripped). If the PDB does not match the other values, or this method fails, this parameter is unspecified. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. The following table shows the possible return values for this method. + +|Value|Description| +|-----------|-----------------| +|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| +|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| +|E_PDB_INVALID_SIG|Signature does not match.| +|E_PDB_INVALID_AGE|Age does not match.| +|E_INVALIDARG|Invalid parameter.| +|E_UNEXPECTED|The data source has already been prepared.| + +## Remarks + +A .pdb file contains both signature and age values. These values are replicated in the .exe or .dll file that matches the .pdb file. This method verifies that the named .pdb file's signature and age match the values provided without otherwise loading the PDB or preparing it for use. + +To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. + +To load and validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. + +## Example + +```c++ +IDiaDataSource* pSource; // Previously created data source. +DEFINE_GUID(expectedGUIDSignature,0x1234,0x5678,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08); +DWORD expectedFileSignature = 0x12345678; +DWORD expectedAge = 128; +BOOL fStripped = FALSE; + +HRESULT hr; +hr = pSource->lValidatePdb( L"myprog.pdb", + &expectedGUIDSignature, + expectedFileSignature, + expectedAge, + &fStripped); +if (FAILED(hr)) +{ + // Report an error +} + +``` + +## See also + +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex.md b/docs/debugger/debug-interface-access/idiadatasourceex.md new file mode 100644 index 00000000000..c533bfd440f --- /dev/null +++ b/docs/debugger/debug-interface-access/idiadatasourceex.md @@ -0,0 +1,73 @@ +--- +description: Initiates access to a source of debugging symbols. +title: IDiaDataSourceEx +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaDataSourceEx interface" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaDataSourceEx + +Initiates access to a source of debugging symbols. + +## Syntax + +`IDiaDataSourceEx : IDiaDataSource` + +## Methods in Vtable Order + +The following table shows the methods of `IDiaDataSourceEx`. + +|Method|Description| +|------------|-----------------| +|[IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md)|Opens and prepares a program database (.pdb) file as a debug data source.| +|[IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md)|Opens and verifies that the program database (.pdb) file matches the signature information provided; prepares the .pdb file as a debug data source.| +|[IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md)|Opens and prepares the debug data associated with the .exe/.dll file.| +|[IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md)|Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.| +|[IDiaDataSourceEx::getStreamSize](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md)|Reads the size of a named stream within this program database (.pdb) file.| +|[IDiaDataSourceEx::getStreamRawData](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md)|Reads the data of a named stream within this program database (.pdb) file.| +|[IDiaDataSourceEx::setPfnMiniPDBErrorCallback2](../../debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md)|Set a callback function pointer for receiving error notifications relating to fastlink PDBs.| +|[IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md)|Only verifies that the program database (.pdb) file matches the signature information provided.| + +## Remarks + +A call to one of the load methods of the `IDiaDataSourceEx` interface opens the symbol source. A successful call to the [IDiaDataSource::openSession](../../debugger/debug-interface-access/idiadatasource-opensession.md) method returns an [IDiaSession](../../debugger/debug-interface-access/idiasession.md) interface that supports querying the data source. If the load method returns a file-related error then the [IDiaDataSource::get_lastError](../../debugger/debug-interface-access/idiadatasource-get-lasterror.md) method return value contains the file name associated with the error. + +## Notes for Callers + +This interface is obtained by calling the `CoCreateInstance` function with the class identifier `CLSID_DiaSource` and the interface ID of `IID_IDiaDataSourceEx`, or by calling `QueryInterface` on an existing `IDiaDataSource` interface pointer. The example shows how this interface is obtained. + +## Example + +```c++ + + IDiaDataSource* pSource; +HRESULT hr = CoCreateInstance(CLSID_DiaSource, + NULL, + CLSCTX_INPROC_SERVER, + IID_IDiaDataSourceEx, + (void**) &pSource); +if (FAILED(hr)) +{ + // Report error and exit +} +``` + +## Requirements + +Header: Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md new file mode 100644 index 00000000000..e55dd63afce --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md @@ -0,0 +1,40 @@ +--- +description: Creates an enumerator that contains the same enumeration state as the current input assembly files enumerator. +title: "IDiaEnumInputAssemblyFiles::Clone" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::Clone method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::Clone + +Creates an enumerator that contains the same enumeration state as the current enumerator. + +## Syntax + +```c++ +HRESULT Clone ( + IDiaEnumInputAssemblyFiles** ppenum +); +``` + +#### Parameters + + `ppenum` + +[out] Returns an [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) object that contains a duplicate of the enumerator. The input assembly files are not duplicated, only the enumerator. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md new file mode 100644 index 00000000000..909e55a7abd --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md @@ -0,0 +1,41 @@ +--- +description: Retrieves the number of input assembly files. +title: "IDiaEnumInputAssemblyFiles::get_Count" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::get_Count method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::get_Count + +Retrieves the number of input assembly files. + +## Syntax + +```c++ +HRESULT get_Count ( + LONG* pRetVal +); +``` + +#### Parameters + +pRetVal + +[out] Returns the number of injected sources. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [IDiaEnumInputAssemblyFiles::Item](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md new file mode 100644 index 00000000000..cb7b17098c5 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md @@ -0,0 +1,39 @@ +--- +description: Retrieves the System.Runtime.InteropServices.ComTypes.IEnumVARIANT version of the innput assembly file enumerator. +title: "IDiaEnumInputAssemblyFiles::get__NewEnum" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::get__NewEnum method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::get__NewEnum + +Retrieves the version of this enumerator. + +## Syntax + +```c++ +HRESULT get__NewEnum ( + IUnknown** pRetVal +); +``` + +#### Parameters + +pRetVal +- [out, retval] Returns the `IUnknown` interface that represents the version of this enumerator. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md new file mode 100644 index 00000000000..b0c5ae98374 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md @@ -0,0 +1,46 @@ +--- +description: Retrieves an input assembly file by means of an index. +title: "IDiaEnumInputAssemblyFiles::Item" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::Item method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::Item + +Retrieves an input assembly file by means of an index. + +## Syntax + +```c++ +HRESULT Item ( + DWORD index, + IDiaInputAssemblyFile** file +); +``` + +#### Parameters + +index + +[in] Index of the [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) object to be retrieved. The index is the range 0 to `count`-1, where `count` is returned by the [IDiaEnumInputAssemblyFiles::get_Count](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md) method. + +file + +[out] Returns an [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) object representing the input assembly file. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenumininputassemblyfiles.md) +- [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md new file mode 100644 index 00000000000..c65239f9e50 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md @@ -0,0 +1,51 @@ +--- +description: Retrieves a specified number of input assembly files in the enumeration sequence. +title: "IDiaEnumInputAssemblyFiles::Next" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::Next method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::Next + +Retrieves a specified number of input assembly files in the enumeration sequence. + +## Syntax + +```c++ +HRESULT Next ( + ULONG celt, + IDiaInputAssemblyFile** rgelt, + ULONG* pceltFetched +); +``` + +#### Parameters + +celt + +[in] The number of injected sources in the enumerator to be retrieved. + +rgelt + +[out] Returns an array of [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) objects that represents the desired input assembly files. + +pceltFetched + +[out] Returns the number of input assembly files in the fetched enumerator. + +## Return Value + +If successful, returns `S_OK`. Returns `S_FALSE` if there are no more input assembly files. Otherwise, returns an error code. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md new file mode 100644 index 00000000000..ef95ae7b7af --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md @@ -0,0 +1,30 @@ +--- +description: Resets an enumeration sequence of input assembly files to the beginning. +title: "IDiaEnumInputAssemblyFiles::Reset" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::Reset method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::Reset + +Resets an enumeration sequence to the beginning. + +## Syntax + +`HRESULT Reset();` + +## Return Value + +Returns `S_OK`. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md new file mode 100644 index 00000000000..d6f5a78f34d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md @@ -0,0 +1,40 @@ +--- +description: Skips a specified number of input assembly files in an enumeration sequence. +title: "IDiaEnumInputAssemblyFiles::Skip" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles::Skip method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles::Skip + +Skips a specified number of input assembly files in an enumeration sequence. + +## Syntax + +```c++ +HRESULT Skip ( + ULONG celt +); +``` + +#### Parameters + +celt + +[in] The number of input assembly files in the enumeration sequence to skip. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns `S_FALSE` if there are no more injected sources to skip. + +## See also + +- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md new file mode 100644 index 00000000000..23a1c40f163 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md @@ -0,0 +1,118 @@ +--- +description: Enumerate the input assembly files listed in the data source. +title: IDiaEnumInputAssemblyFiles +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumInputAssemblyFiles interface" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# IDiaEnumInputAssemblyFiles + +Enumerate the input assembly files listed in the data source. + +## Syntax + +`IDiaEnumInputAssemblyFiles : IUnknown` + +## Methods in Vtable Order + +The following table shows the methods of `IDiaEnumInputAssemblyFiles`. + +|Method|Description| +|------------|-----------------| +|[IDiaEnumInputAssemblyFiles::get__NewEnum](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md)|Retrieves the [IEnumVARIANT Interface](/previous-versions/windows/desktop/api/oaidl/nn-oaidl-ienumvariant) version of this enumerator.| +|[IDiaEnumInputAssemblyFiles::get_Count](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md)|Retrieves the number of input assembly files.| +|[IDiaEnumInputAssemblyFiles::Item](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md)|Retrieves an input assembly file by means of an index.| +|[IDiaEnumInputAssemblyFiles::Next](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md)|Retrieves a specified number of input assembly files in the enumeration sequence.| +|[IDiaEnumInputAssemblyFiles::Skip](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md)|Skips a specified number of input assembly files in an enumeration sequence.| +|[IDiaEnumInputAssemblyFiles::Reset](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md)|Resets an enumeration sequence to the beginning.| +|[IDiaEnumInputAssemblyFiles::Clone](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md)|Creates an enumerator that contains the same enumeration state as the current enumerator.| + +## Remarks + +## Notes for Callers + +This interface is obtained by calling the [IDiaSession::findInputAssemblyFiles](../../debugger/debug-interface-access/idiasession-findinputassemblyfiles.md) method with the name of a specific source file or by calling the [IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md) method with the globally unique identifier (GUID) of the `IDiaEnumInputAssemblyFiles` interface. + +## Example + +This example shows how to obtain (the `GetEnumInputAssemblyFiles` function) and use (the `DumpAllInputAssemblyFiles` function) the `IDiaEnumInputAssemblyFiles` interface. See the [IDiaPropertyStorage](../../debugger/debug-interface-access/idiapropertystorage.md) interface for an implementation of the `PrintPropertyStorage` function. For an alternative output, see the [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) interface. + +```c++ + +IDiaEnumInputAssemblyFiles* GetEnumInputAssemblyInputFiles(IDiaSession *pSession) +{ + IDiaEnumInputAssemblyFiles* pUnknown = NULL; + REFIID iid = __uuidof(IDiaEnumInputAssemblyFiles); + IDiaEnumTables* pEnumTables = NULL; + IDiaTable* pTable = NULL; + ULONG celt = 0; + + if (pSession->getEnumTables(&pEnumTables) != S_OK) + { + wprintf(L"ERROR - GetTable() getEnumTables\n"); + return NULL; + } + while (pEnumTables->Next(1, &pTable, &celt) == S_OK && celt == 1) + { + // There is only one table that matches the given iid + HRESULT hr = pTable->QueryInterface(iid, (void**)&pUnknown); + pTable->Release(); + if (hr == S_OK) + { + break; + } + } + pEnumTables->Release(); + return pUnknown; +} + +void DumpAllInputAssemblyFiles( IDiaSession* pSession) +{ + IDiaEnumInputAssemblyFiles* pEnumInpAsmFiles; + + pEnumInpAsmFiles = GetEnumInjectedSources(pSession); + if (pEnumInpAsmFiles != NULL) + { + IDiaInputAssemblyFile* pInpAsmFile; + ULONG celt = 0; + + while(pEnumInpAsmFiles->Next(1, &pInpAsmFile, &celt) == S_OK && + celt == 1) + { + IDiaPropertyStorage *pPropertyStorage; + if (pInpAsmFile->QueryInterface(__uuidof(IDiaPropertyStorage), + (void **)&pPropertyStorage) == S_OK) + { + PrintPropertyStorage(pPropertyStorage); + pPropertyStorage->Release(); + } + pInpAsmFile->Release(); + } + pEnumInpAsmFiles->Release(); + } +} +``` + +## Requirements + +Header: Dia2.h + +Library: diaguids.lib + +DLL: msdia80.dll + +## See also + +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [IDiaSession::findInputAssemblyFiles](../../debugger/debug-interface-access/idiasession-findinputassemblyfiles.md) +- [IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md) +- [IDiaPropertyStorage](../../debugger/debug-interface-access/idiapropertystorage.md) +- [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md index c9cc84a7664..5b7d1a985d6 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md @@ -20,9 +20,9 @@ Positions the enumerator by performing a lookup by image section number and offs ## Syntax ```c++ -HRESULT symbolByAddr ( - DWORD** isect, - DWORD** offsect, +HRESULT symbolByAddr ( + DWORD isect, + DWORD offsect, IDiaSymbol** ppsymbol ); ``` diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md index 587ccbfb970..5d3ddbb5cd8 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md @@ -20,8 +20,8 @@ Positions the enumerator by performing a lookup by relative virtual address (RVA ## Syntax ```c++ -HRESULT symbolByRVA ( - DWORD** relativeVirtualAddress, +HRESULT symbolByRVA ( + DWORD relativeVirtualAddress, IDiaSymbol** ppsymbol ); ``` diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md index 1753428e943..ddb35e6c13c 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md @@ -20,8 +20,8 @@ Positions the enumerator by performing a lookup by virtual address (VA). ## Syntax ```c++ -HRESULT symbolByVA ( - DWORD** virtualAddress, +HRESULT symbolByVA ( + ULONGLONG virtualAddress, IDiaSymbol** ppsymbol ); ``` diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md new file mode 100644 index 00000000000..5911d2ad80d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md @@ -0,0 +1,58 @@ +--- +description: "Retrieves the next symbols in order by address." +title: "IDiaEnumSymbolsByAddr2::NextEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSymbolsByAddr2::NextEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaEnumSymbolsByAddr2::NextEx + +Retrieves the next symbols in order by address. + +## Syntax + +```C++ +HRESULT NextEx (  + BOOL fPromoteBlockSym, + ULONG celt, + IDiaSymbol** rgelt, + ULONG* pceltFetched +); +``` + +#### Parameters + fPromoteBlockSym + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::Next](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-next.md) + +[in] + + celt + +[in] The number of symbols in the enumerator to be retrieved. + + rgelt + +[out] An array that is to be filled in with the [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object that represent the desired symbols. + + pceltFetched + +[out] Returns the number of symbols in the fetched enumerator. + +## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if there are no more symbols. Otherwise, returns an error code. + +## Remarks + This method updates the enumerator position by the number of elements fetched. + +## See also +- [IDiaEnumSymbolsByAddr::Next](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-next.md) +- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md new file mode 100644 index 00000000000..aaf084485d1 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md @@ -0,0 +1,56 @@ +--- +description: "Retrieves the previous symbols in order by address." +title: "IDiaEnumSymbolsByAddr2::PrevEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSymbolsByAddr2::PrevEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaEnumSymbolsByAddr2::PrevEx + +Retrieves the previous symbols in order by address. + +## Syntax + +```C++ +HRESULT PrevEx (  + BOOL fPromoteBlockSym, + ULONG celt, + IDiaSymbol** rgelt, + ULONG* pceltFetched +); +``` + +#### Parameters + fPromoteBlockSym + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::Prev](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-prev.md) + + celt + +[in] The number of symbols in the enumerator to be retrieved. + + rgelt + +[out] An array that is to be filled in with [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) objects that represent the desired symbols. + + pceltFetched + +[out] Returns the number of symbols in the fetched enumerator. + +## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if there are no previous symbols. Otherwise, returns an error code. + +## Remarks + This method updates the enumerator position by the number of elements fetched. + +## See also +- [IDiaEnumSymbolsByAddr::Prev](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-prev.md) +- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md new file mode 100644 index 00000000000..eb12d3922be --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md @@ -0,0 +1,53 @@ +--- +description: "Positions the enumerator by performing a lookup by image section number and offset." +title: "IDiaEnumSymbolsByAddr2::symbolByAddrEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSymbolsByAddr2::symbolByAddrEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaEnumSymbolsByAddr2::symbolByAddr + +Positions the enumerator by performing a lookup by image section number and offset. + +## Syntax + +```C++ +HRESULT symbolByAddrEx ( + BOOL fPromoteBlockSym, + DWORD isect, + DWORD offsect, + IDiaSymbol** ppsymbol +); +``` + +#### Parameters + fPromoteBlockSym + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::symbolByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) + + isect + +[in] Image section number. + + offsect + +[in] Offset in section. + + ppsymbol + +[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. + +## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be found. Otherwise, returns an error code. + +## See also +- [IDiaEnumSymbolsByAddr::symbolByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) +- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md new file mode 100644 index 00000000000..bd8bb8e5d58 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md @@ -0,0 +1,49 @@ +--- +description: "Positions the enumerator by performing a lookup by relative virtual address (RVA)." +title: "IDiaEnumSymbolsByAddr2::symbolByRVAEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSymbolsByAddr2::symbolByRVAEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaEnumSymbolsByAddr2::symbolByRVAEx + +Positions the enumerator by performing a lookup by relative virtual address (RVA). + +## Syntax + +```C++ +HRESULT symbolByRVAEx (  + BOOL fPromoteBlockSym, + DWORD relativeVirtualAddress, + IDiaSymbol** ppsymbol +); +``` + +#### Parameters + fPromoteBlockSym + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::symbolByRVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) + + relativeVirtualAddress + +[in] Address relative to start of image. + + ppsymbol + +[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. + +## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be found. Otherwise, returns an error code. + +## See also +- [IDiaEnumSymbolsByAddr::symbolByRVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) +- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [IDiaEnumSymbolsByAddr2::symbolByVAEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md new file mode 100644 index 00000000000..11b92555709 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md @@ -0,0 +1,48 @@ +--- +description: "Positions the enumerator by performing a lookup by virtual address (VA)." +title: "IDiaEnumSymbolsByAddr2::symbolByVAEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSymbolsByAddr2::symbolByVAEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaEnumSymbolsByAddr2::symbolByVAEx + +Positions the enumerator by performing a lookup by virtual address (VA). + +## Syntax + +```C++ +HRESULT symbolByVA (  + BOOL fPromoteBlockSym, + ULONGLONG virtualAddress, + IDiaSymbol** ppsymbol +); +``` + +#### Parameters + fPromoteBlockSym + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::symbolByVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) + + virtualAddress + +[in] Virtual address. + + ppsymbol + +[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. + +## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be found. Otherwise, returns an error code. + +## See also +- [IDiaEnumSymbolsByAddr::symbolByVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) +- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md new file mode 100644 index 00000000000..8d14cc082f3 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md @@ -0,0 +1,104 @@ +--- +description: "Enumerates by address the various symbols contained in the data source." +title: "IDiaEnumSymbolsByAddr2" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSymbolsbyAddr2 interface" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaEnumSymbolsByAddr2 + +Enumerates by address the various symbols contained in the data source. + +## Syntax + +``` +IDiaEnumSymbolsByAddr2 : IDiaEnumSymbolsByAdd +``` + +## Methods in Vtable Order +The following table shows the methods of `IDiaEnumSymbolsByAddr2`. + +|Method|Description| +|------------|-----------------| +|[IDiaEnumSymbolsByAddr2::symbolByAddrEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md)|Positions the enumerator by performing a lookup by section and offset.| +|[IDiaEnumSymbolsByAddr2::symbolByRVAEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md)|Positions the enumerator by performing a lookup by relative virtual address (RVA).| +|[IDiaEnumSymbolsByAddr2::symbolByVAEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md)|Positions the enumerator by performing a lookup by virtual address (VA).| +|[IDiaEnumSymbolsByAddr2::NextEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md)|Retrieves the next symbols in order by address. Updates the enumerator position by number of elements fetched.| +|[IDiaEnumSymbolsByAddr2::PrevEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md)|Retrieves the previous symbols in order by address. Updates the enumerator position by number of elements fetched.| + +## Remarks +This interface provides symbols grouped by address. To work with symbols grouped by type, for example `SymTagUDT` (user-defined type) or `SymTagBaseClass`, use the [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) interface. + +## Notes for Callers +Obtain this interface by calling the [IDiaSession::getSymbolsByAddr](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) method and then calling [IUnknown::QueryInterface](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSymbolsByAddr2`. + +## Example +This function displays the name and address of all symbols ordered by relative virtual address. + +```C++ +void ShowSymbolsByAddress(IDiaSession *pSession) +{ + CComPtr pEnumByAddr; + if ( FAILED( psession->getSymbolsByAddr( &pEnumByAddr ) ) ) + { + Fatal( "getSymbolsByAddr" ); + } + CComPtr pEnumByAddr2; + if ( FAILED( pEnumByAddr->QueryInterface( IID_IDiaEnumSymbolsByAddr2, &pEnumByAddr2 ) ) ) + { + Fatal( "getSymbolsByAddr" ); + } + CComPtr pSym; + if ( FAILED( pEnumByAddr2->symbolByAddrEx( FALSE, 1, 0, &pSym ) ) ) + { + Fatal( "symbolByAddr" ); + } + DWORD rvaLast = 0; + if ( pSym->get_relativeVirtualAddress( &rvaLast ) == S_OK ) + { + pSym = 0; + if ( FAILED( pEnumByAddr2->symbolByRVAEx( FALSE, rvaLast, &pSym ) ) ) + { + Fatal( "symbolByAddr" ); + } + printf( "Symbols in order\n" ); + do + { + CDiaBSTR name; + if ( pSym->get_name( &name ) != S_OK ) + { + printf( "\t0x%08X (%ws) \n", rvaLast ); + } + else + { + printf( "\t0x%08X %ws\n", rvaLast, name ); + } + pSym = 0; + celt = 0; + if ( FAILED( hr = pEnumByAddr2->NextEx( FALSE, 1, &pSym, &celt ) ) ) + { + break; + } + } while ( celt == 1 ); + } +} +``` + +## Requirements +Header: Dia2.h + +Library: diaguids.lib + +DLL: msdia80.dll + +## See also +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [IDiaSession::getSymbolsByAddr](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) +- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenex.md b/docs/debugger/debug-interface-access/idiasession-findchildrenex.md new file mode 100644 index 00000000000..ece57d113c7 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenex.md @@ -0,0 +1,69 @@ +--- +description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals." +title: "IDiaSession::findChildrenEx" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findChildrenEx method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSession::findChildrenEx + +Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals. + +## Syntax + +```C++ +HRESULT findChildrenEx (  + IDiaSymbol* parent, + SymTagEnum symtag, + LPCOLESTR name, + DWORD compareFlags, + IDiaEnumSymbols** ppResult +); +``` + +#### Parameters + `parent` + +[in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). + + `symtag` + +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. + + `name` + +[in] Specifies the name of the children to be retrieved. Set to `NULL` for all children to be retrieved. + + `compareFlags` + +[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. + + `ppResult` + +[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. + +## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName`. + +```C++ +IDiaEnumSymbols* pEnum; +pSession->findChildrenEx( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum ); +``` + +## See also +- [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) +- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md new file mode 100644 index 00000000000..dfb8ed938e9 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md @@ -0,0 +1,79 @@ +--- +description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified address." +title: "IDiaSession::findChildrenExByAddr" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findChildrenExByAddr method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSession::findChildrenExByAddr + +Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified address. + +## Syntax + +```C++ +HRESULT findChildrenExByAddr (  + IDiaSymbol* parent, + SymTagEnum symtag, + LPCOLESTR name, + DWORD compareFlags, + DWORD isect, + DWORD offset, + IDiaEnumSymbols** ppResult +); +``` + +#### Parameters + `parent` + +[in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). + + `symtag` + +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. + + `name` + +[in] Specifies the name of the children to be retrieved. Set to `NULL` for all children to be retrieved. + + `compareFlags` + +[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. + + `isect` + +[in] Specifies the section component of the address. + + `offset` + +[in] Specifies the offset component of the address. + + `ppResult` + +[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. + +## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName` and are at address `isect:offset`. + +```C++ +IDiaEnumSymbols* pEnum; +pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, isect, offset, &pEnum ); +``` + +## See also +- [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) +- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md new file mode 100644 index 00000000000..53948d811eb --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md @@ -0,0 +1,74 @@ +--- +description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified relative virtual address (RVA)." +title: "IDiaSession::findChildrenExByRVA" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findChildrenExByRVA method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSession::findChildrenExByRVA + +Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified relative virtual address (RVA). + +## Syntax + +```C++ +HRESULT findChildrenExByRVA (  + IDiaSymbol* parent, + SymTagEnum symtag, + LPCOLESTR name, + DWORD compareFlags, + DWORD rva, + IDiaEnumSymbols** ppResult +); +``` + +#### Parameters + `parent` + +[in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). + + `symtag` + +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. + + `name` + +[in] Specifies the name of the children to be retrieved. Set to `NULL` for all children to be retrieved. + + `compareFlags` + +[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. + + `rva` + +[in] Specifies the RVA. + + `ppResult` + +[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. + +## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName` at relative virtual address `rva`. + +```C++ +IDiaEnumSymbols* pEnum; +pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum ); +``` + +## See also +- [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) +- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md new file mode 100644 index 00000000000..fd8d369718b --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md @@ -0,0 +1,74 @@ +--- +description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified virtual address (VA)." +title: "IDiaSession::findChildrenExByVA" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findChildrenExByVA method" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSession::findChildrenExByVA + +Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified virtual address (VA). + +## Syntax + +```C++ +HRESULT findChildrenExByVA (  + IDiaSymbol* parent, + SymTagEnum symtag, + LPCOLESTR name, + DWORD compareFlags, + ULONGLONG va, + IDiaEnumSymbols** ppResult +); +``` + +#### Parameters + `parent` + +[in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). + + `symtag` + +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. + + `name` + +[in] Specifies the name of the children to be retrieved. Set to `NULL` for all children to be retrieved. + + `compareFlags` + +[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. + + `va` + +[in] Specifies the virtual address. + + `ppResult` + +[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. + +## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName` at virtual address `va`. + +```C++ +IDiaEnumSymbols* pEnum; +pSession->findChildrenExByVA( pFunc, SymTagData, szVarName, nsCaseSensitive, va, &pEnum ); +``` + +## See also +- [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) +- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession.md b/docs/debugger/debug-interface-access/idiasession.md index 7bb8928b45d..977498905db 100644 --- a/docs/debugger/debug-interface-access/idiasession.md +++ b/docs/debugger/debug-interface-access/idiasession.md @@ -33,6 +33,10 @@ The following table shows the methods of `IDiaSession`. |[IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md)|Retrieves an enumerator for all tables contained in the symbol store.| |[IDiaSession::getSymbolsByAddr](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md)|Retrieves an enumerator for all named symbols at static locations.| |[IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md)|Retrieves all children of a specified parent identifier that match the name and symbol type.| +|[IDiaSession::findChildrenEx](../../debugger/debug-interface-access/idiasession-findchildrenex.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals.| +|[IDiaSession::findChildrenExByAddr](../../debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified address.| +|[IDiaSession::findChildrenExByVA](../../debugger/debug-interface-access/idiasession-findchildrenexbyva.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified virtual address (VA).| +|[IDiaSession::findChildrenExByRVA](../../debugger/debug-interface-access/idiasession-findchildrenexbyrva.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified relative virtual address (RVA).| |[IDiaSession::findSymbolByAddr](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md)|Retrieves a specified symbol type that contains, or is closest to, a specified address.| |[IDiaSession::findSymbolByRVA](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md)|Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address (RVA).| |[IDiaSession::findSymbolByVA](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md)|Retrieves a specified symbol type that contains, or is closest to, a specified virtual address (VA).| @@ -59,10 +63,10 @@ The following table shows the methods of `IDiaSession`. |[IDiaSession::findInlineeLinesByVA](../../debugger/debug-interface-access/idiasession-findinlineelinesbyva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified virtual address (VA).| |[IDiaSession::findInlineeLinesByLinenum](../../debugger/debug-interface-access/idiasession-findinlineelinesbylinenum.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in the specified source file and line number.| |[IDiaSession::findInlineesByName](../../debugger/debug-interface-access/idiasession-findinlineesbyname.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all inlined functions that match a specified name.| +|[IDiaSession::findAcceleratorInlineesByLinenum](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbylinenum.md)|Returns an enumeration of symbols for inline frames that correspond to the specified source location.| |[IDiaSession::findSymbolsForAcceleratorPointerTag](../../debugger/debug-interface-access/idiasession-findsymbolsforacceleratorpointertag.md)|Returns an enumeration of symbols for the variable that the specified tag value corresponds to in the parent Accelerator stub function.| |[IDiaSession::findSymbolsByRVAForAcceleratorPointerTag](../../debugger/debug-interface-access/idiasession-findsymbolsbyrvaforacceleratorpointertag.md)|Given a corresponding tag value, this method returns an enumeration of symbols that are contained in a specified parent Accelerator stub function at a specified relative virtual address.| |[IDiaSession::findAcceleratorInlineesByName](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbyname.md)|Returns an enumeration of symbols for inline frames corresponding to the specified inline function name.| -|[IDiaSession::findAcceleratorInlineesByLinenum](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbylinenum.md)|Returns an enumeration of symbols for inline frames that correspond to the specified source location.| ## Remarks It is important to call the [IDiaSession::put_loadAddress](../../debugger/debug-interface-access/idiasession-put-loadaddress.md) method after creating the `IDiaSession` object — and the value passed to the `put_loadAddress` method must be non-zero — for any virtual address (VA) properties of symbols to be accessible. The load address comes from whatever program loaded the executable being debugged. For example, you can call the Win32 function `GetModuleInformation` to retrieve the load address for the executable, given a handle to the executable. diff --git a/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md b/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md index 54591d46272..76757a86939 100644 --- a/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md +++ b/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md @@ -27,6 +27,10 @@ Provides control over how the DIA SDK computes virtual and relative virtual addr Initiates access to a source of debugging symbols. +[IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) + +Initiates access to a source of debugging symbols. Supersedes [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) + [IDiaEnumDebugStreamData](../../debugger/debug-interface-access/idiaenumdebugstreamdata.md) Provides access to the records in a debug data stream. diff --git a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md new file mode 100644 index 00000000000..f81f9564ba8 --- /dev/null +++ b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md @@ -0,0 +1,71 @@ +--- +description: Retrieves the file name for the last load error. +title: "PFNMINIPDBERRORCALLBACK2" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "PFNMINIPDBERRORCALLBACK2 typedef" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- + +# PFNMINIPDBERRORCALLBACK2 + +Retrieves the file name for the last load error. + +## Syntax + +```c++ +typedef HRESULT __cdecl (*PFNMINIPDBERRORCALLBACK2)( + void* pvContext, + DWORD dwErrorCode, + const LPCOLESTR szObjOrPdb, + const LPCOLESTR szLib +); +``` + +#### Parameters + +pvContext + +[in] The context that was passed into the call to the [IDiaDataSourceEx::setPfnMiniPDBErrorCallback2](../../debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md) method. + +dwErrorCode + +[in] The error code describing the particular error. Although typed as a `DWORD` this is really a `HRESULT`. The most common values are `E_PDB_CORRUPT`, `E_DIA_COFF_ACCESS`, and `E_DIA_COMP_PDB_ACCESS`. + +szObjOrPdb + +[in] The name of the OBJ or PDB file that is related to the error. + +szLib + +[in] If `szObjOrPdb` referrs to an OBJ file within a LIB file, this is the name of the LIB. Otherwise it is `nullptr`. + +## Return Value + +The return value is ignored. + +## Example + +```c++ +HRESULT __cdecl ReportMiniPDBError(void *pvContext, DWORD hr, const wchar_t *szObjOrPdb, const wchar_t *szLib) +{ + wprintf(L"Callback on fastlink PDB: hr = 0x%08x, szObjOrPdb=\"%ls\", szLib=\"%ls\"\n", hr, szObjOrPdb, szLib); + *reinterpret_cast(pvContext) = true; + return S_OK; +} +... + bool callbackCalled = false; + HRESULT hr = pSourceEx->setPfnMiniPDBErrorCallback2(&callbackCalled, ReportMiniPDBError); +... +``` + +## See also + +- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +- [Common HRESULT Values (Debug Interface Access SDK)](../../debugger/debug-interface-access/common-hresult-values.md) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index cf94dee8cfb..ddcb7823b51 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -128,6 +128,30 @@ href: idiadatasource-loaddatafrompdb.md - name: IDiaDataSource::openSession href: idiadatasource-opensession.md + - name: IDiaDataSource::loadDataFromCodeViewInfo + href: idiadatasource-loaddatafromcodeviewinfo.md + - name: IDiaDataSource::loadDataFromMiscInfo + href: idiadatasource-loaddatafrommiscinfo.md + - name: IDiaDataSourceEx + items: + - name: IDiaDataSourceEx + href: idiadatasourceex.md + - name: IDiaDataSource::loadDataFromPdbEx + href: idiadatasource-loaddatafrompdbex.md + - name: IDiaDataSourceEx::loadAndValidateDataFromPdbEx + href: idiadatasourceex-loadandvalidatedatafrompdbex.md + - name: IDiaDataSourceEx::loadDataForExeEx + href: idiadatasourceex-loaddataforexeex.md + - name: IDiaDataSourceEx::loadDataFromIStreamEx + href: idiadatasourceex-loaddatafromistreamex.md + - name: IDiaDataSourceEx::getStreamSize + href: idiadatasourceex-getstreamsize.md + - name: IDiaDataSourceEx::getStreamRawData + href: idiadatasourceex-getstreamrawdata.md + - name: IDiaDataSourceEx::setPfnMiniPDBErrorCallback2 + href: idiadatasourceex-setpfnminipdberrorcallback2.md + - name: IDiaDataSourceEx::ValidatePdb + href: idiadatasourceex-validatepdb.md - name: IDiaEnumDebugStreamData items: - name: IDiaEnumDebugStreamData @@ -206,6 +230,24 @@ href: idiaenuminjectedsources-reset.md - name: IDiaEnumInjectedSources::Skip href: idiaenuminjectedsources-skip.md + - name: IDiaEnumInputAssemblyFiles + items: + - name: IDiaEnumInputAssemblyFiles + href: idiaenuminputassemblyfiles.md + - name: IDiaEnumInputAssemblyFiles::Clone + href: idiaenuminputassemblyfiles-clone.md + - name: IDiaEnumInputAssemblyFiles::get__NewEnum + href: idiaenuminputassemblyfiles-get-newenum.md + - name: IDiaEnumInputAssemblyFiles::get_Count + href: idiaenuminputassemblyfiles-get-count.md + - name: IDiaEnumInputAssemblyFiles::Item + href: idiaenuminputassemblyfiles-item.md + - name: IDiaEnumInputAssemblyFiles::Next + href: idiaenuminputassemblyfiles-next.md + - name: IDiaEnumInputAssemblyFiles::Reset + href: idiaenuminputassemblyfiles-reset.md + - name: IDiaEnumInputAssemblyFiles::Skip + href: idiaenuminputassemblyfiles-skip.md - name: IDiaEnumLineNumbers items: - name: IDiaEnumLineNumbers @@ -320,6 +362,20 @@ href: idiaenumsymbolsbyaddr-symbolbyrva.md - name: IDiaEnumSymbolsByAddr::symbolByVA href: idiaenumsymbolsbyaddr-symbolbyva.md + - name: IDiaEnumSymbolsByAddr2 + items: + - name: IDiaEnumSymbolsByAddr2 + href: idiaenumsymbolsbyaddr2.md + - name: IDiaEnumSymbolsByAddr2::NextEx + href: idiaenumsymbolsbyaddr2-nextex.md + - name: IDiaEnumSymbolsByAddr2::PrevEx + href: idiaenumsymbolsbyaddr2-prevex.md + - name: IDiaEnumSymbolsByAddr2::symbolByAddrEx + href: idiaenumsymbolsbyaddr2-symbolbyaddrex.md + - name: IDiaEnumSymbolsByAddr2::symbolByRVAEx + href: idiaenumsymbolsbyaddr2-symbolbyrvaex.md + - name: IDiaEnumSymbolsByAddr2::symbolByVAEx + href: idiaenumsymbolsbyaddr2-symbolbyvaex.md - name: IDiaEnumTables items: - name: IDiaEnumTables @@ -580,6 +636,14 @@ href: idiasession-findacceleratorinlineesbyname.md - name: IDiaSession::findChildren href: idiasession-findchildren.md + - name: IDiaSession::findChildrenEx + href: idiasession-findchildrenex.md + - name: IDiaSession::findChildrenExByAddr + href: idiasession-findchildrenexbyaddr.md + - name: IDiaSession::findChildrenExByVA + href: idiasession-findchildrenexbyva.md + - name: IDiaSession::findChildrenExByRVA + href: idiasession-findchildrenexbyrva.md - name: IDiaSession::findFile href: idiasession-findfile.md - name: IDiaSession::findFileById From 70a67b2f32a321635eb9da2b2c56675fda3a8cf5 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Tue, 2 Jul 2024 08:22:32 -0700 Subject: [PATCH 02/25] Fix metadata date & authors of new topics. --- .../debug-interface-access/common-hresult-values.md | 6 +++--- .../idiadatasource-loaddatafromcodeviewinfo.md | 6 +++--- .../idiadatasource-loaddatafrommiscinfo.md | 6 +++--- .../idiadatasourceex-getstreamrawdata.md | 6 +++--- .../idiadatasourceex-getstreamsize.md | 6 +++--- .../idiadatasourceex-loadandvalidatedatafrompdbex.md | 6 +++--- .../idiadatasourceex-loaddataforexeex.md | 6 +++--- .../idiadatasourceex-loaddatafromistreamex.md | 6 +++--- .../idiadatasourceex-loaddatafrompdbex.md | 6 +++--- .../idiadatasourceex-setpfnminipdberrorcallback2.md | 6 +++--- .../debug-interface-access/idiadatasourceex-validatepdb.md | 6 +++--- docs/debugger/debug-interface-access/idiadatasourceex.md | 6 +++--- .../idiaenuminputassemblyfiles-clone.md | 6 +++--- .../idiaenuminputassemblyfiles-get-count.md | 6 +++--- .../idiaenuminputassemblyfiles-get-newenum.md | 6 +++--- .../idiaenuminputassemblyfiles-item.md | 6 +++--- .../idiaenuminputassemblyfiles-next.md | 6 +++--- .../idiaenuminputassemblyfiles-reset.md | 6 +++--- .../idiaenuminputassemblyfiles-skip.md | 6 +++--- .../debug-interface-access/idiaenuminputassemblyfiles.md | 6 +++--- .../debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md | 6 +++--- .../debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md | 6 +++--- .../idiaenumsymbolsbyaddr2-symbolbyaddrex.md | 6 +++--- .../idiaenumsymbolsbyaddr2-symbolbyrvaex.md | 6 +++--- .../idiaenumsymbolsbyaddr2-symbolbyvaex.md | 6 +++--- .../debug-interface-access/idiaenumsymbolsbyaddr2.md | 6 +++--- .../debug-interface-access/idiasession-findchildrenex.md | 6 +++--- .../idiasession-findchildrenexbyaddr.md | 6 +++--- .../idiasession-findchildrenexbyrva.md | 6 +++--- .../idiasession-findchildrenexbyva.md | 6 +++--- .../debug-interface-access/pfnminipdberrorcallback2.md | 6 +++--- 31 files changed, 93 insertions(+), 93 deletions(-) diff --git a/docs/debugger/debug-interface-access/common-hresult-values.md b/docs/debugger/debug-interface-access/common-hresult-values.md index 6dbe82acf51..a86a95f062b 100644 --- a/docs/debugger/debug-interface-access/common-hresult-values.md +++ b/docs/debugger/debug-interface-access/common-hresult-values.md @@ -1,15 +1,15 @@ --- title: Common HRESULT Values (Debug Interface Access SDK) description: See a list of common HRESULT values returned by various APIs in the debug interface access (DIA) SDK. -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "constants, HRESULT, DIA SDK" - "DIA SDK, HRESULT, constants" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md index 33c864c9ddb..d282407944c 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md @@ -1,14 +1,14 @@ --- description: Opens and prepares the debug data associated with the .exe/.dll file. title: "IDiaDataSource::loadDataFromCodeViewInfo" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSource::loadDataFromCodeViewInfo method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md index adf1f426532..5a1516569f1 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md @@ -1,14 +1,14 @@ --- description: Opens and prepares the debug data associated with the .exe/.dll file. title: "IDiaDataSource::loadDataFromMiscInfo" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSource::loadDataFromMiscInfo method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md index 97eeea005e3..bb327ee355c 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md @@ -1,14 +1,14 @@ --- description: Retrieves the raw bytes of the named stream. title: "IDiaDataSourceEx::getStreamRawData" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::getStreamRawData method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md index 0d0ce6c049d..6b9de5e4286 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md @@ -1,14 +1,14 @@ --- description: Retrieves the size, in bytes, of the named stream. title: "IDiaDataSourceEx::getStreamSize" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::getStreamSize method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md index 6051cf225ce..62abf4c4b8c 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md @@ -1,14 +1,14 @@ --- description: Opens and verifies that the program database (.pdb) file matches the signature information provided, and prepares the .pdb file as a debug data source, with optional record prefetching. title: "IDiaDataSourceEx::loadAndValidateDataFromPdbEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::loadAndValidateDataFromPdbEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md index 0014aa7b3f7..8d456118da3 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md @@ -1,14 +1,14 @@ --- description: Opens and prepares the debug data associated with the .exe/.dll file, with optional record prefetching. title: "IDiaDataSourceEx::loadDataForExeEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::loadDataForExeEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md index 6a4601cfadc..9459e944b23 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md @@ -1,14 +1,14 @@ --- description: Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream, with optional record prefetching. title: "IDiaDataSourceEx::loadDataFromIStreamEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::loadDataFromIStreamEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md index 73b0872deb2..bd00779b72c 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md @@ -1,14 +1,14 @@ --- description: Opens and prepares a program database (.pdb) file as a debug data source, with optional record prefetching. title: "IDiaDataSourceEx::loadDataFromPdbEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::loadDataFromPdbEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md index 29b840f111d..00a726ee5c5 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md @@ -1,14 +1,14 @@ --- description: Sets a callback function to receive errors relating to loading secondary files referenced from fastlink PDBs. title: "IDiaDataSourceEx::setPfnMiniPDBErrorCallback" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::setPfnMiniPDBErrorCallback method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md index b51f3bde0e3..eca65a878ef 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md @@ -1,14 +1,14 @@ --- description: Verifies that the program database (.pdb) file matches the signature information provided. title: "IDiaDataSourceEx::ValidatePdb" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx::ValidatePdb method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiadatasourceex.md b/docs/debugger/debug-interface-access/idiadatasourceex.md index c533bfd440f..b5e46a00cae 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex.md @@ -1,14 +1,14 @@ --- description: Initiates access to a source of debugging symbols. title: IDiaDataSourceEx -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaDataSourceEx interface" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md index e55dd63afce..28557ee028b 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md @@ -1,14 +1,14 @@ --- description: Creates an enumerator that contains the same enumeration state as the current input assembly files enumerator. title: "IDiaEnumInputAssemblyFiles::Clone" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::Clone method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md index 909e55a7abd..4b84ef43886 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md @@ -1,14 +1,14 @@ --- description: Retrieves the number of input assembly files. title: "IDiaEnumInputAssemblyFiles::get_Count" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::get_Count method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "granti" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md index cb7b17098c5..860410b0a80 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md @@ -1,14 +1,14 @@ --- description: Retrieves the System.Runtime.InteropServices.ComTypes.IEnumVARIANT version of the innput assembly file enumerator. title: "IDiaEnumInputAssemblyFiles::get__NewEnum" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::get__NewEnum method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md index b0c5ae98374..7ff2924793e 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md @@ -1,14 +1,14 @@ --- description: Retrieves an input assembly file by means of an index. title: "IDiaEnumInputAssemblyFiles::Item" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::Item method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md index c65239f9e50..51b2bceb288 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md @@ -1,14 +1,14 @@ --- description: Retrieves a specified number of input assembly files in the enumeration sequence. title: "IDiaEnumInputAssemblyFiles::Next" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::Next method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md index ef95ae7b7af..8aa83cbc433 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md @@ -1,14 +1,14 @@ --- description: Resets an enumeration sequence of input assembly files to the beginning. title: "IDiaEnumInputAssemblyFiles::Reset" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::Reset method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md index d6f5a78f34d..0de605d4a38 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md @@ -1,14 +1,14 @@ --- description: Skips a specified number of input assembly files in an enumeration sequence. title: "IDiaEnumInputAssemblyFiles::Skip" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::Skip method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md index 23a1c40f163..d43735df512 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md @@ -1,14 +1,14 @@ --- description: Enumerate the input assembly files listed in the data source. title: IDiaEnumInputAssemblyFiles -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumInputAssemblyFiles interface" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md index 5911d2ad80d..fec734732d5 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md @@ -1,14 +1,14 @@ --- description: "Retrieves the next symbols in order by address." title: "IDiaEnumSymbolsByAddr2::NextEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumSymbolsByAddr2::NextEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md index aaf084485d1..3595eebc992 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md @@ -1,14 +1,14 @@ --- description: "Retrieves the previous symbols in order by address." title: "IDiaEnumSymbolsByAddr2::PrevEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumSymbolsByAddr2::PrevEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md index eb12d3922be..6692bdb1f8b 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md @@ -1,14 +1,14 @@ --- description: "Positions the enumerator by performing a lookup by image section number and offset." title: "IDiaEnumSymbolsByAddr2::symbolByAddrEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumSymbolsByAddr2::symbolByAddrEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md index bd8bb8e5d58..b955b042709 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md @@ -1,14 +1,14 @@ --- description: "Positions the enumerator by performing a lookup by relative virtual address (RVA)." title: "IDiaEnumSymbolsByAddr2::symbolByRVAEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumSymbolsByAddr2::symbolByRVAEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md index 11b92555709..5ccda9e8813 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md @@ -1,14 +1,14 @@ --- description: "Positions the enumerator by performing a lookup by virtual address (VA)." title: "IDiaEnumSymbolsByAddr2::symbolByVAEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumSymbolsByAddr2::symbolByVAEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md index 8d14cc082f3..07985ed434c 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md @@ -1,14 +1,14 @@ --- description: "Enumerates by address the various symbols contained in the data source." title: "IDiaEnumSymbolsByAddr2" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaEnumSymbolsbyAddr2 interface" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenex.md b/docs/debugger/debug-interface-access/idiasession-findchildrenex.md index ece57d113c7..49f1655e84b 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenex.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenex.md @@ -1,14 +1,14 @@ --- description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals." title: "IDiaSession::findChildrenEx" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaSession::findChildrenEx method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md index dfb8ed938e9..b9748d7750d 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md @@ -1,14 +1,14 @@ --- description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified address." title: "IDiaSession::findChildrenExByAddr" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaSession::findChildrenExByAddr method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md index 53948d811eb..24124d40431 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md @@ -1,14 +1,14 @@ --- description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified relative virtual address (RVA)." title: "IDiaSession::findChildrenExByRVA" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaSession::findChildrenExByRVA method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md index fd8d369718b..8712d108f22 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md @@ -1,14 +1,14 @@ --- description: "Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified virtual address (VA)." title: "IDiaSession::findChildrenExByVA" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "IDiaSession::findChildrenExByVA method" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md index f81f9564ba8..f6121ecf320 100644 --- a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md +++ b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md @@ -1,14 +1,14 @@ --- description: Retrieves the file name for the last load error. title: "PFNMINIPDBERRORCALLBACK2" -ms.date: "11/04/2016" +ms.date: "7/2/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - "PFNMINIPDBERRORCALLBACK2 typedef" -author: "mikejo5000" -ms.author: "mikejo" +author: "grantri" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- From da0b155848847fd045b6aaad68ae29f7e2651bbf Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Tue, 2 Jul 2024 08:35:12 -0700 Subject: [PATCH 03/25] Clarify search paths --- .../debug-interface-access/idiadatasource-loaddataforexe.md | 2 +- .../idiadatasource-loaddatafromcodeviewinfo.md | 2 +- .../idiadatasource-loaddatafrommiscinfo.md | 2 +- .../debug-interface-access/idiadatasourceex-loaddataforexeex.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md index 1602348a80f..78e6a9a213c 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md @@ -35,7 +35,7 @@ executable searchPath -[in] Alternate path to search for debug data. +[in] Alternate paths to search for debug data. Multiple paths should be semicolon delimited. Paths may contain a trailing `\`. pCallback diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md index d282407944c..503a07a026f 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md @@ -37,7 +37,7 @@ executable searchPath -[in] Alternate path to search for debug data. +[in] Alternate paths to search for debug data. Multiple paths should be semicolon delimited. Paths may contain a trailing `\`. cbCvInfo diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md index 5a1516569f1..ffecb4dbbce 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md @@ -40,7 +40,7 @@ executable searchPath -[in] Alternate path to search for debug data. +[in] Alternate paths to search for debug data. Multiple paths should be semicolon delimited. Paths may contain a trailing `\`. timeStampExe diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md index 8d456118da3..011fbb3cb87 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md @@ -36,7 +36,7 @@ executable searchPath -[in] Alternate path to search for debug data. +[in] Alternate path to search for debug data. Multiple paths should be semicolon delimited. Paths may contain a trailing `\`. pCallback From 99ed5fcf0d70626d472b3c3043a060dbaee299e6 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:08:37 -0700 Subject: [PATCH 04/25] Escaping hell and other cleanup --- .../common-hresult-values.md | 54 +++++------ ...iadatasource-loadandvalidatedatafrompdb.md | 34 +++---- .../idiadatasource-loaddataforexe.md | 54 +++++------ ...idiadatasource-loaddatafromcodeviewinfo.md | 52 +++++------ .../idiadatasource-loaddatafromistream.md | 24 ++--- .../idiadatasource-loaddatafrommiscinfo.md | 68 +++++++------- .../idiadatasource-loaddatafrompdb.md | 32 +++---- .../debug-interface-access/idiadatasource.md | 18 ++-- .../idiadatasourceex-getstreamrawdata.md | 16 ++-- .../idiadatasourceex-getstreamsize.md | 10 +-- ...tasourceex-loadandvalidatedatafrompdbex.md | 32 +++---- .../idiadatasourceex-loaddataforexeex.md | 56 ++++++------ .../idiadatasourceex-loaddatafromistreamex.md | 26 +++--- .../idiadatasourceex-loaddatafrompdbex.md | 32 +++---- ...atasourceex-setpfnminipdberrorcallback2.md | 12 +-- .../idiadatasourceex-validatepdb.md | 22 ++--- .../idiadatasourceex.md | 18 ++-- .../idiaenuminputassemblyfiles-clone.md | 4 +- .../idiaenuminputassemblyfiles-get-count.md | 6 +- .../idiaenuminputassemblyfiles-get-newenum.md | 5 +- .../idiaenuminputassemblyfiles-item.md | 12 +-- .../idiaenuminputassemblyfiles-next.md | 12 +-- .../idiaenuminputassemblyfiles-reset.md | 2 +- .../idiaenuminputassemblyfiles-skip.md | 4 +- .../idiaenumsymbolsbyaddr-symbolbyaddr.md | 12 +-- .../idiaenumsymbolsbyaddr-symbolbyrva.md | 10 +-- .../idiaenumsymbolsbyaddr-symbolbyva.md | 10 +-- .../idiaenumsymbolsbyaddr2-nextex.md | 24 ++--- .../idiaenumsymbolsbyaddr2-prevex.md | 24 ++--- .../idiaenumsymbolsbyaddr2-symbolbyaddrex.md | 21 +++-- .../idiaenumsymbolsbyaddr2-symbolbyrvaex.md | 23 ++--- .../idiaenumsymbolsbyaddr2-symbolbyvaex.md | 21 +++-- .../idiaenumsymbolsbyaddr2.md | 28 +++--- .../idiasession-findchildrenex.md | 24 ++--- .../idiasession-findchildrenexbyaddr.md | 20 +++-- .../idiasession-findchildrenexbyrva.md | 24 ++--- .../idiasession-findchildrenexbyva.md | 21 +++-- .../debug-interface-access/idiasession.md | 90 +++++++++---------- 38 files changed, 498 insertions(+), 459 deletions(-) diff --git a/docs/debugger/debug-interface-access/common-hresult-values.md b/docs/debugger/debug-interface-access/common-hresult-values.md index a86a95f062b..4666a874abd 100644 --- a/docs/debugger/debug-interface-access/common-hresult-values.md +++ b/docs/debugger/debug-interface-access/common-hresult-values.md @@ -14,39 +14,39 @@ manager: mijacobs ms.subservice: debug-diagnostics --- -# Common HRESULT Values (Debug Interface Access SDK) +# Common HRESULT values (Debug Interface Access SDK) -The following HRESULT values are most commonly returned by APIs within the DIA SDK. +The following `HRESULT` values are most commonly returned by APIs within the DIA SDK. Here are the values listed in numeric order by value |Value|Name|Description| |-----------|-----------|-----------| -|0x806d0002|E_PDB_USAGE|invalid parameter or call order| -|0x806d0004|E_PDB_FILE_SYSTEM|Can't read or write file, out of disk space, etc.| -|0x806d0005|E_PDB_NOT_FOUND|PDB file not found| -|0x806d0006|E_PDB_INVALID_SIG|PDB signature does not match| -|0x806d0007|E_PDB_INVALID_AGE|PDB age mismatch| -|0x806d0008|E_PDB_PRECOMP_REQUIRED|Precompiled type information not found| -|0x806d0009|E_PDB_OUT_OF_TI|Out of debugger types| -|0x806d000c|E_PDB_FORMAT|Attempt to load or use a PDB with an incompatible or unsupported format| -|0x806d000d|E_PDB_LIMIT|Internal limit of PDB exceeded| -|0x806d000e|E_PDB_CORRUPT|PDB records or structure are corrupt| -|0x806d0011|E_PDB_ILLEGAL_TYPE_EDIT|Trying to edit types in read-only mode| -|0x806d0012|E_PDB_INVALID_EXECUTABLE|File is not recognized as a valid executable| -|0x806d0013|E_PDB_DBG_NOT_FOUND|.DBG file not found| -|0x806d0014|E_PDB_NO_DEBUG_INFO|No recognized debug information found| -|0x806d0015|E_PDB_INVALID_EXE_TIMESTAMP|Invalid timestamp of executable| -|0x806d0016|E_PDB_RESERVED|Undocumented error| -|0x806d0017|E_PDB_DEBUG_INFO_NOT_IN_PDB|Debug information is not in the PDB| -|0x806d0018|E_PDB_SYMSRV_BAD_CACHE_PATH|Bad cache location specified with symsrv| -|0x806d0019|E_PDB_SYMSRV_CACHE_FULL|symsrv cache is full| -|0x806d0064|E_DIA_INPROLOG|Cannot execute stack frame when in prolog| -|0x806d0065|E_DIA_SYNTAX|Error parsing frame program| -|0x806d0066|E_DIA_FRAME_ACCESS|Error accessing registers or memory| -|0x806d0067|E_DIA_VALUE|Error in computed value (e.g. divide by zero)| -|0x806d00C8|E_DIA_COFF_ACCESS|Error accessing OBJ, LIB or compiler generated PDB when querying a PDB produced by the linker with `/DEBUG:fastlink`| -|0x806d00C9|E_DIA_COMP_PDB_ACCESS|Error accessing compiler generated PDB| +|0x806d0002|`E_PDB_USAGE`|invalid parameter or call order| +|0x806d0004|`E_PDB_FILE_SYSTEM`|Can't read or write file, out of disk space, etc.| +|0x806d0005|`E_PDB_NOT_FOUND`|PDB file not found| +|0x806d0006|`E_PDB_INVALID_SIG`|PDB signature does not match| +|0x806d0007|`E_PDB_INVALID_AGE`|PDB age mismatch| +|0x806d0008|`E_PDB_PRECOMP_REQUIRED`|Precompiled type information not found| +|0x806d0009|`E_PDB_OUT_OF_TI`|Out of debugger types| +|0x806d000c|`E_PDB_FORMAT`|Attempt to load or use a PDB with an incompatible or unsupported format| +|0x806d000d|`E_PDB_LIMIT`|Internal limit of PDB exceeded| +|0x806d000e|`E_PDB_CORRUPT`|PDB records or structure are corrupt| +|0x806d0011|`E_PDB_ILLEGAL_TYPE_EDIT`|Trying to edit types in read-only mode| +|0x806d0012|`E_PDB_INVALID_EXECUTABLE`|File is not recognized as a valid executable| +|0x806d0013|`E_PDB_DBG_NOT_FOUND`|.DBG file not found| +|0x806d0014|`E_PDB_NO_DEBUG_INFO`|No recognized debug information found| +|0x806d0015|`E_PDB_INVALID_EXE_TIMESTAMP`|Invalid timestamp of executable| +|0x806d0016|`E_PDB_RESERVED`|Undocumented error| +|0x806d0017|`E_PDB_DEBUG_INFO_NOT_IN_PDB`|Debug information is not in the PDB| +|0x806d0018|`E_PDB_SYMSRV_BAD_CACHE_PATH`|Bad cache location specified with symsrv| +|0x806d0019|`E_PDB_SYMSRV_CACHE_FULL`|symsrv cache is full| +|0x806d0064|`E_DIA_INPROLOG`|Cannot execute stack frame when in prolog| +|0x806d0065|`E_DIA_SYNTAX`|Error parsing frame program| +|0x806d0066|`E_DIA_FRAME_ACCESS`|Error accessing registers or memory| +|0x806d0067|`E_DIA_VALUE`|Error in computed value (e.g. divide by zero)| +|0x806d00C8|`E_DIA_COFF_ACCESS`|Error accessing OBJ, LIB or compiler generated PDB when querying a PDB produced by the linker with `/DEBUG:fastlink`| +|0x806d00C9|`E_DIA_COMP_PDB_ACCESS`|Error accessing compiler generated PDB| ## Requirements diff --git a/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md b/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md index 1efae711e5b..fdeb57ee676 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md @@ -52,26 +52,26 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|The data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|The data source has already been prepared.| ## Remarks A .pdb file contains both signature and age values. These values are replicated in the .exe or .dll file that matches the .pdb file. Before preparing the data source, this method verifies that the named .pdb file's signature and age match the values provided. -To load a .pdb file and validate with prefetching, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. +To load a .pdb file and validate with prefetching, use the [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. -To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. +To load a .pdb file without validation, use the [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. -To gain access to the data load process (through a callback mechanism), use the [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. +To gain access to the data load process (through a callback mechanism), use the [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -95,9 +95,9 @@ if (FAILED(hr)) ## See also -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) -- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) -- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) -- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) +- [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md index 78e6a9a213c..a37246f0cbc 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md @@ -15,7 +15,7 @@ ms.subservice: debug-diagnostics # IDiaDataSource::loadDataForExe -Opens and prepares the debug data associated with the .exe/.dll file. +Opens and prepares the debug data associated with the `.exe`/`.dll` file. ## Syntax @@ -31,7 +31,7 @@ HRESULT loadDataForExe ( executable -[in] Path to the .exe or .dll file. +[in] Path to the `.exe` or `.dll` file. searchPath @@ -47,32 +47,32 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks -The debug header of the .exe/.dll file names the associated debug data location. +The debug header of the `.exe`/`.dll` file names the associated debug data location. If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. -This method reads the debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. +This method reads the debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. -The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. +The [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. -To load a .pdb file with prefetching, use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. +To load a `.pdb` file with prefetching of symbol records, use the [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. -To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. +To load a .pdb file without validation, use the [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -92,14 +92,14 @@ if (FAILED(hr)) ## See also -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) -- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) -- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) -- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) -- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) -- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) -- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) -- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) -- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md) +- [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md) +- [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md index 503a07a026f..2c3241cf297 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md @@ -15,7 +15,7 @@ ms.subservice: debug-diagnostics # IDiaDataSource::loadDataFromCodeViewInfo -Opens and prepares the debug data associated with the .exe/.dll file. +Opens and prepares the debug data associated with the `.exe`/`.dll` file. ## Syntax @@ -33,7 +33,7 @@ HRESULT loadDataFromCodeViewInfo ( executable -[in] Path to the .exe or .dll file. +[in] Path to the `.exe` or `.dll` file. searchPath @@ -49,7 +49,7 @@ pbCvInfo pCallback -[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md), [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md), the [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. +[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md), [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md), the [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [`IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. ## Return Value @@ -57,30 +57,30 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an unsupported format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an unsupported format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks -The code view information, in IMAGE_DEBUG_TYPE_CODEVIEW format, names the associated debug data location as well as prodiving the signture and age fields to match against. +The code view information, in `IMAGE_DEBUG_TYPE_CODEVIEW` format, names the associated debug data location as well as prodiving the signture and age fields to match against. If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. -This method reads the provided debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. +This method reads the provided debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. -The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. +The [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. -To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. +To load a `.pdb` file without validation, use the [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -98,13 +98,13 @@ if (FAILED(hr)) ## See also -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) -- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) -- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) -- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) -- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) -- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) -- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) -- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md) +- [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md) +- [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md index 0c358d9357b..cc6bddafb65 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md @@ -27,7 +27,7 @@ HRESULT loadDataFromIStream ( #### Parameters -pIStream +`pIStream` [in] An object representing the data stream to use. @@ -37,25 +37,25 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks This method allows the debug data for an executable to be obtained through an object. -To load with prefetching, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. +To load with prefetching, use the [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. -To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. +To load a .pdb file without validation, use the [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. -To gain access to the data load process (through a callback mechanism), use the [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. +To gain access to the data load process (through a callback mechanism), use the [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. ## See also -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) -- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) -- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) +- [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md index ffecb4dbbce..c66795479a9 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md @@ -15,7 +15,7 @@ ms.subservice: debug-diagnostics # IDiaDataSource::loadDataFromMiscInfo -Opens and prepares the debug data associated with the .exe/.dll file. +Opens and prepares the debug data associated with the `.exe`/`.dll` file. ## Syntax @@ -34,37 +34,37 @@ HRESULT loadDataFromMiscInfo ( #### Parameters -executable +`executable` -[in] Path to the .exe or .dll file. +[in] Path to the `.exe` or `.dll` file. -searchPath +`searchPath` [in] Alternate paths to search for debug data. Multiple paths should be semicolon delimited. Paths may contain a trailing `\`. -timeStampExe +`timeStampExe` [in] Alternate timestamp for the executable image. -timeStampDbg +`timeStampDbg` [in] Alternate timestamp for the debug information. -sizeOfExe +`sizeOfExe` -[in] Alternate size of the executable image. +[in] Alternate size of the executable image in bytes. -cbMiscInfo +`cbMiscInfo` [in] Size in bytes of the `pbMiscInfo` paramter. -pbMiscInfo +`pbMiscInfo` -[in] Alternative debug header in IMAGE_DEBUG_MISC format that provides the filename with the debug information. +[in] Alternative debug header in `IMAGE_DEBUG_MISC` format that provides the filename with the debug information. -pCallback +`pCallback` -[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md), [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md), the [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. +[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md), [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md), the [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. ## Return Value @@ -72,12 +72,12 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks @@ -85,15 +85,15 @@ The pbMiscInfo replaces the debug information in the executable image and names If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. -This method searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. +This method searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSource::loadDataForExe` method finds and processes a debug directory. -The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. +The [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. -To load a .pdb file without validation, use the [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. +To load a .pdb file without validation, use the [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. @@ -114,13 +114,13 @@ if (FAILED(hr)) ## See also -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) -- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) -- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) -- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) -- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) -- [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) -- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) -- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md) +- [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md) +- [`IDiaLoadCallback`::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md) +- [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md index 29ea144fc61..7bfa264bc07 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md @@ -27,7 +27,7 @@ HRESULT loadDataFromPdb ( #### Parameters -pdbPath +`pdbPath` [in] The path to the .pdb file. @@ -37,24 +37,24 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or determined that the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an incompatible or unsupported format.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or determined that the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an incompatible or unsupported format.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks This method loads the debug data directly from a .pdb file. -To load a .pdb file with prefetching, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. +To load a .pdb file with prefetching, use the [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) method. -To gain access to the data load process (through a callback mechanism), use the [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. +To gain access to the data load process (through a callback mechanism), use the [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -68,9 +68,9 @@ if (FAILED(hr)) ## See also -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) -- [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) -- [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) -- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md) +- [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md) +- [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md) +- [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasource.md b/docs/debugger/debug-interface-access/idiadatasource.md index 9447019e6c8..537cd6a2f4a 100644 --- a/docs/debugger/debug-interface-access/idiadatasource.md +++ b/docs/debugger/debug-interface-access/idiadatasource.md @@ -27,14 +27,14 @@ The following table shows the methods of `IDiaDataSource`. |Method|Description| |------------|-----------------| -|[IDiaDataSource::get_lastError](../../debugger/debug-interface-access/idiadatasource-get-lasterror.md)|Retrieves the file name for the last load error.| -|[IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md)|Opens and prepares a program database (.pdb) file as a debug data source.| -|[IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md)|Opens and verifies that the program database (.pdb) file matches the signature information provided; prepares the .pdb file as a debug data source.| -|[IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md)|Opens and prepares the debug data associated with the .exe/.dll file.| -|[IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md)|Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.| -|[IDiaDataSource::openSession](../../debugger/debug-interface-access/idiadatasource-opensession.md)|Opens a session for querying symbols.| -|[IDiaDataSource::loadDataFromCodeViewInfo](../../debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md)|Opens and prepares the debug data associated with the provided CodeView information.| -|[IDiaDataSource::loadDataFromMiscInfo](../../debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md)|Opens and prepares the debug data associated with the provided debug information.| +|[`IDiaDataSource::get_lastError`](../../debugger/debug-interface-access/idiadatasource-get-lasterror.md)|Retrieves the file name for the last load error.| +|[`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md)|Opens and prepares a program database (.pdb) file as a debug data source.| +|[`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md)|Opens and verifies that the program database (.pdb) file matches the signature information provided; prepares the .pdb file as a debug data source.| +|[`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md)|Opens and prepares the debug data associated with the .exe/.dll file.| +|[`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md)|Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.| +|[`IDiaDataSource::openSession`](../../debugger/debug-interface-access/idiadatasource-opensession.md)|Opens a session for querying symbols.| +|[`IDiaDataSource::loadDataFromCodeViewInfo`](../../debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md)|Opens and prepares the debug data associated with the provided CodeView information.| +|[`IDiaDataSource::loadDataFromMiscInfo`](../../debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md)|Opens and prepares the debug data associated with the provided debug information.| ## Remarks @@ -71,4 +71,4 @@ DLL: msdia140.dll ## See also - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md index bb327ee355c..23dbc10d2e0 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md @@ -31,23 +31,23 @@ HRESULT getStreamRawData ( #### Parameters -stream +`stream` [in] The name of the stream within the debug information. -cbOffset +`cbOffset` [in] The offset within the stream to begin reading data from. -cbRead +`cbRead` [in] The number of bytes to retrieve. -pcbRead +`pcbRead` [out] The number of bytes actually read from the stream. -pbData +`pbData` [out] The location to store the read data. On input must be at least `cbRead` bytes in size. Upon successful return `*pcbRead` bytes will be valid. @@ -59,7 +59,7 @@ If successful, returns `S_OK`. If the named stream does not exist within the PDB Program Databases are made up of multiple streams of data. Some of those streams are named. You can use this method to gather information about these named streams. -To get the size of the stream, use the [IDiaDataSourceEx::getStreamSize](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md) method. +To get the size of the stream, use the [`IDiaDataSourceEx::getStreamSize`](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md) method. ## Example @@ -78,5 +78,5 @@ if (SUCCEEDED(hr)) { ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [IDiaDataSourceEx::getStreamSize](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx::getStreamSize`](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md index 6b9de5e4286..dc4aff16a22 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-getstreamsize.md @@ -28,11 +28,11 @@ HRESULT getStreamSize ( #### Parameters -stream +`stream` [in] The name of the stream within the debug information. -pcb +`pcb` [out] The size in bytes of the named stream. @@ -44,7 +44,7 @@ If successful, returns `S_OK`. If the named stream does not exist within the PDB Program Databases are made up of multiple streams of data. Some of those streams are named. You can use this method to gather information about these named streams. -To get the data of the stream, use the [IDiaDataSourceEx::getStreamRawData](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md) method. +To get the data of the stream, use the [`IDiaDataSourceEx::getStreamRawData`](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md) method. ## Example @@ -55,5 +55,5 @@ HRESULT hr = pSource->getStreamSize( L"/names", &countBytes ); ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [IDiaDataSourceEx::getStreamRawData](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx::getStreamRawData`](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md index 62abf4c4b8c..a8aa32cd5a7 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md @@ -49,7 +49,7 @@ HRESULT loadAndValidateDataFromPdbEx ( fPdbPrefetching -[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadAndValidateDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md). If set to some other value, behavior is unspecified. +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [`IDiaDataSource::loadAndValidateDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md). If set to some other value, behavior is unspecified. ## Return Value @@ -57,24 +57,24 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|The data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|The data source has already been prepared.| ## Remarks A .pdb file contains both signature and age values. These values are replicated in the .exe or .dll file that matches the .pdb file. Before preparing the data source, this method verifies that the named .pdb file's signature and age match the values provided. -To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. +To load a .pdb file without validation, use the [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. -To gain access to the data load process (through a callback mechanism), use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. +To gain access to the data load process (through a callback mechanism), use the [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -99,8 +99,8 @@ if (FAILED(hr)) ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) -- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) -- [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md index 011fbb3cb87..d4b0d727ae8 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md @@ -30,21 +30,21 @@ HRESULT loadDataForExeEx ( #### Parameters -executable +`executable` [in] Path to the .exe or .dll file. -searchPath +`searchPath` [in] Alternate path to search for debug data. Multiple paths should be semicolon delimited. Paths may contain a trailing `\`. -pCallback +`pCallback` -[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md), [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md), the [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. +[in] An `IUnknown` interface for an object that supports a debug callback interface, such as the [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md), [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md), the [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md), and/or the [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces. -fPdbPrefetching +`fPdbPrefetching` -[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadDataForExe](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md). If set to some other value, behavior is unspecified. +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [`IDiaDataSource::loadDataForExe`](../../debugger/debug-interface-access/idiadatasource-loaddataforexe.md). If set to some other value, behavior is unspecified. ## Return Value @@ -52,12 +52,12 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks @@ -65,17 +65,17 @@ The debug header of the .exe/.dll file names the associated debug data location. If you are loading debug data from a symbol server, *symsrv.dll* must be present in the same directory where either the user's application or *msdia140.dll* is installed, or it must be present in the system directory. -This method reads the debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSourceEx::loadDataForExeEx` method finds and processes a debug directory. +This method reads the debug header and then searches for and prepares the debug data. The progress of the search may, optionally, be reported and controlled through callbacks. For example, the [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) is invoked when the `IDiaDataSourceEx::loadDataForExeEx` method finds and processes a debug directory. -The [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. +The [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) and [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) interfaces allow the client application to provide alternative methods for reading data from the executable file when the file cannot be accessed directly through standard file I/O. -To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. +To load a .pdb file without validation, use the [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -95,13 +95,13 @@ if (FAILED(hr)) ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceEx.md) -- [IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) -- [IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) -- [IDiaLoadCallback::NotifyDebugDir](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) -- [IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) -- [IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) -- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) -- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) -- [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceEx.md) +- [`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md) +- [`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md) +- [`IDiaLoadCallback::NotifyDebugDir`](../../debugger/debug-interface-access/idialoadcallback-notifydebugdir.md) +- [`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +- [`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +- [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md index 9459e944b23..9e1d407c037 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md @@ -28,13 +28,13 @@ HRESULT loadDataFromIStreamEx ( #### Parameters -pIStream +`pIStream` [in] An object representing the data stream to use. -fPdbPrefetching +`fPdbPrefetching` -[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadDataFromIStream](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md). If set to some other value, behavior is unspecified. +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [`IDiaDataSource::loadDataFromIStream`](../../debugger/debug-interface-access/idiadatasource-loaddatafromistream.md). If set to some other value, behavior is unspecified. ## Return Value @@ -42,23 +42,23 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks This method allows the debug data for an executable to be obtained from memory through an object. -To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. +To load a .pdb file without validation, use the [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. -To validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. -To gain access to the data load process (through a callback mechanism), use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. +To gain access to the data load process (through a callback mechanism), use the [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) -- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) -- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md index bd00779b72c..b9065fecaa8 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md @@ -28,13 +28,13 @@ HRESULT loadDataFromPdbEx ( #### Parameters -pdbPath +`pdbPath` [in] The path to the .pdb file. -fPdbPrefetching +`fPdbPrefetching` -[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [IDiaDataSource::loadDataFromPdb](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md). If set to some other value, behavior is unspecified. +[in] If set to `TRUE`, adjacent debug records are prefetched into memory, potentially replacing many smaller file I/O operations with fewer, larger operations, and thus improving overall throughput as those records are subsequently accessed, at the expense of potentially increased memory usage. If set to `FALSE`, this behaves identically to [`IDiaDataSource::loadDataFromPdb`](../../debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md). If set to some other value, behavior is unspecified. ## Return Value @@ -42,22 +42,22 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or determined that the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an incompatible or unsupported format.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|Data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or determined that the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an incompatible or unsupported format.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|Data source has already been prepared.| ## Remarks This method loads the debug data directly from a .pdb file. -To validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. +To validate the .pdb file against specific criteria, use the [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. -To gain access to the data load process (through a callback mechanism), use the [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. +To gain access to the data load process (through a callback mechanism), use the [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) method. -To load a .pdb file directly from memory, use the [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. +To load a .pdb file directly from memory, use the [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) method. -To validate a .pdb file without loading it, use the [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. +To validate a .pdb file without loading it, use the [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) method. ## Example @@ -71,8 +71,8 @@ if (FAILED(hr)) ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) -- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) -- [IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) -- [IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md) +- [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md) +- [`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md index 00a726ee5c5..735ad98f49e 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md @@ -15,7 +15,7 @@ ms.subservice: debug-diagnostics # IDiaDataSourceEx::setPfnMiniPDBErrorCallback -Sets a callback function to receive errors relating to loading secondary files (.OBJ, .LIB, or compiler generated .PDB files) referenced from fastlink PDBs (i.e. PDBs generated with /DEBUG:fastlink). +Sets a callback function to receive errors relating to loading secondary files (.OBJ, .LIB, or compiler generated .PDB files) referenced from fastlink PDBs (i.e. PDBs generated with `/DEBUG:fastlink`). ## Syntax @@ -28,11 +28,11 @@ HRESULT setpfnminipdberrorcallback2 ( #### Parameters -pvContext +`pvContext` [in] A context parameter to be passed to the callback. -pfn +`pfn` [in] A pointer to a function to be called. @@ -46,10 +46,10 @@ PDBs that are generated with /DEBUG:fastlink (also sometimes call mini PDBs), do Only one callback function may be registered at a time. Attempting to register a second function will simply replace the first. To remove the registration, simply pass a `nullptr` for both arguments. -See [PFNMINIPDBERRORCALLBACK2](../../debugger/debug-interface-access/pfnminipdberrorcallback2.md) for an example of using this method. +See [`PFNMINIPDBERRORCALLBACK2`](../../debugger/debug-interface-access/pfnminipdberrorcallback2.md) for an example of using this method. ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [PFNMINIPDBERRORCALLBACK2](../../debugger/debug-interface-access/pfnminipdberrorcallback2.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`PFNMINIPDBERRORCALLBACK2`](../../debugger/debug-interface-access/pfnminipdberrorcallback2.md) - [/DEBUG (Generate debug info)](/cpp/build/reference/debug-generate-debug-info) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md index eca65a878ef..14695e2dd18 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md @@ -57,20 +57,20 @@ If successful, returns `S_OK`; otherwise, returns an error code. The following t |Value|Description| |-----------|-----------------| -|E_PDB_NOT_FOUND|Failed to open the file, or the file has an invalid format.| -|E_PDB_FORMAT|Attempted to access a file with an obsolete format.| -|E_PDB_INVALID_SIG|Signature does not match.| -|E_PDB_INVALID_AGE|Age does not match.| -|E_INVALIDARG|Invalid parameter.| -|E_UNEXPECTED|The data source has already been prepared.| +|`E_PDB_NOT_FOUND`|Failed to open the file, or the file has an invalid format.| +|`E_PDB_FORMAT`|Attempted to access a file with an obsolete format.| +|`E_PDB_INVALID_SIG`|Signature does not match.| +|`E_PDB_INVALID_AGE`|Age does not match.| +|`E_INVALIDARG`|Invalid parameter.| +|`E_UNEXPECTED`|The data source has already been prepared.| ## Remarks A .pdb file contains both signature and age values. These values are replicated in the .exe or .dll file that matches the .pdb file. This method verifies that the named .pdb file's signature and age match the values provided without otherwise loading the PDB or preparing it for use. -To load a .pdb file without validation, use the [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. +To load a .pdb file without validation, use the [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) method. -To load and validate the .pdb file against specific criteria, use the [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. +To load and validate the .pdb file against specific criteria, use the [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) method. ## Example @@ -96,6 +96,6 @@ if (FAILED(hr)) ## See also -- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) -- [IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) -- [IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) +- [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) +- [`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md) +- [`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md) diff --git a/docs/debugger/debug-interface-access/idiadatasourceex.md b/docs/debugger/debug-interface-access/idiadatasourceex.md index b5e46a00cae..88e8b26ae39 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex.md @@ -27,18 +27,18 @@ The following table shows the methods of `IDiaDataSourceEx`. |Method|Description| |------------|-----------------| -|[IDiaDataSourceEx::loadDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md)|Opens and prepares a program database (.pdb) file as a debug data source.| -|[IDiaDataSourceEx::loadAndValidateDataFromPdbEx](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md)|Opens and verifies that the program database (.pdb) file matches the signature information provided; prepares the .pdb file as a debug data source.| -|[IDiaDataSourceEx::loadDataForExeEx](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md)|Opens and prepares the debug data associated with the .exe/.dll file.| -|[IDiaDataSourceEx::loadDataFromIStreamEx](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md)|Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.| -|[IDiaDataSourceEx::getStreamSize](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md)|Reads the size of a named stream within this program database (.pdb) file.| -|[IDiaDataSourceEx::getStreamRawData](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md)|Reads the data of a named stream within this program database (.pdb) file.| -|[IDiaDataSourceEx::setPfnMiniPDBErrorCallback2](../../debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md)|Set a callback function pointer for receiving error notifications relating to fastlink PDBs.| -|[IDiaDataSourceEx::ValidatePdb](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md)|Only verifies that the program database (.pdb) file matches the signature information provided.| +|[`IDiaDataSourceEx::loadDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafrompdbex.md)|Opens and prepares a program database (.pdb) file as a debug data source.| +|[`IDiaDataSourceEx::loadAndValidateDataFromPdbEx`](../../debugger/debug-interface-access/idiadatasourceex-loadandvalidatedatafrompdbex.md)|Opens and verifies that the program database (.pdb) file matches the signature information provided; prepares the .pdb file as a debug data source.| +|[`IDiaDataSourceEx::loadDataForExeEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md)|Opens and prepares the debug data associated with the .exe/.dll file.| +|[`IDiaDataSourceEx::loadDataFromIStreamEx`](../../debugger/debug-interface-access/idiadatasourceex-loaddatafromistreamex.md)|Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream.| +|[`IDiaDataSourceEx::getStreamSize`](../../debugger/debug-interface-access/idiadatasourceex-getstreamsize.md)|Reads the size of a named stream within this program database (.pdb) file.| +|[`IDiaDataSourceEx::getStreamRawData`](../../debugger/debug-interface-access/idiadatasourceex-getstreamrawdata.md)|Reads the data of a named stream within this program database (.pdb) file.| +|[`IDiaDataSourceEx::setPfnMiniPDBErrorCallback2`](../../debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md)|Set a callback function pointer for receiving error notifications relating to fastlink PDBs.| +|[`IDiaDataSourceEx::ValidatePdb`](../../debugger/debug-interface-access/idiadatasourceex-validatepdb.md)|Only verifies that the program database (.pdb) file matches the signature information provided.| ## Remarks -A call to one of the load methods of the `IDiaDataSourceEx` interface opens the symbol source. A successful call to the [IDiaDataSource::openSession](../../debugger/debug-interface-access/idiadatasource-opensession.md) method returns an [IDiaSession](../../debugger/debug-interface-access/idiasession.md) interface that supports querying the data source. If the load method returns a file-related error then the [IDiaDataSource::get_lastError](../../debugger/debug-interface-access/idiadatasource-get-lasterror.md) method return value contains the file name associated with the error. +A call to one of the load methods of the `IDiaDataSourceEx` interface opens the symbol source. A successful call to the [`IDiaDataSource::openSession`](../../debugger/debug-interface-access/idiadatasource-opensession.md) method returns an [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) interface that supports querying the data source. If the load method returns a file-related error then the [`IDiaDataSource::get_lastError`](../../debugger/debug-interface-access/idiadatasource-get-lasterror.md) method return value contains the file name associated with the error. ## Notes for Callers diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md index 28557ee028b..4df8e28c675 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-clone.md @@ -29,7 +29,7 @@ HRESULT Clone ( `ppenum` -[out] Returns an [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) object that contains a duplicate of the enumerator. The input assembly files are not duplicated, only the enumerator. +[out] Returns an [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) object that contains a duplicate of the enumerator. The input assembly files are not duplicated, only the enumerator. ## Return Value @@ -37,4 +37,4 @@ If successful, returns `S_OK`; otherwise, returns an error code. ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md index 4b84ef43886..a2aedf991a1 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md @@ -27,7 +27,7 @@ HRESULT get_Count ( #### Parameters -pRetVal +`pRetVal` [out] Returns the number of injected sources. @@ -37,5 +37,5 @@ If successful, returns `S_OK`; otherwise, returns an error code. ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) -- [IDiaEnumInputAssemblyFiles::Item](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [`IDiaEnumInputAssemblyFiles::Item`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md index 860410b0a80..47b22a609f9 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-newenum.md @@ -27,7 +27,8 @@ HRESULT get__NewEnum ( #### Parameters -pRetVal +`pRetVal` + - [out, retval] Returns the `IUnknown` interface that represents the version of this enumerator. ## Return Value @@ -36,4 +37,4 @@ If successful, returns `S_OK`; otherwise, returns an error code. ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md index 7ff2924793e..bc8b95accba 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md @@ -28,13 +28,13 @@ HRESULT Item ( #### Parameters -index +`index` -[in] Index of the [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) object to be retrieved. The index is the range 0 to `count`-1, where `count` is returned by the [IDiaEnumInputAssemblyFiles::get_Count](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md) method. +[in] Index of the [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) object to be retrieved. The index is the range 0 to `count`-1, where `count` is returned by the [IDiaEnumInputAssemblyFiles::get_Count](../../debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md) method. -file +`file` -[out] Returns an [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) object representing the input assembly file. +[out] Returns an [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) object representing the input assembly file. ## Return Value @@ -42,5 +42,5 @@ If successful, returns `S_OK`; otherwise, returns an error code. ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenumininputassemblyfiles.md) -- [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenumininputassemblyfiles.md) +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md index 51b2bceb288..4dec4a1cc1d 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-next.md @@ -29,15 +29,15 @@ HRESULT Next ( #### Parameters -celt +`celt` [in] The number of injected sources in the enumerator to be retrieved. -rgelt +`rgelt` -[out] Returns an array of [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) objects that represents the desired input assembly files. +[out] Returns an array of [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) objects that represents the desired input assembly files. -pceltFetched +`pceltFetched` [out] Returns the number of input assembly files in the fetched enumerator. @@ -47,5 +47,5 @@ If successful, returns `S_OK`. Returns `S_FALSE` if there are no more input asse ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) -- [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md index 8aa83cbc433..f1fbdb1e7c9 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-reset.md @@ -27,4 +27,4 @@ Returns `S_OK`. ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md index 0de605d4a38..8389ef6c4a1 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-skip.md @@ -27,7 +27,7 @@ HRESULT Skip ( #### Parameters -celt +`celt` [in] The number of input assembly files in the enumeration sequence to skip. @@ -37,4 +37,4 @@ If successful, returns `S_OK`; otherwise, returns `S_FALSE` if there are no more ## See also -- [IDiaEnumInputAssemblyFiles](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md index 5b7d1a985d6..2b320581f90 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md @@ -29,17 +29,17 @@ HRESULT symbolByAddr ( #### Parameters -isect +`isect` [in] Image section number. -offsect +`offsect` [in] Offset in section. -ppsymbol +`ppsymbol` -[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. +[out] Returns an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. ## Return Value @@ -47,5 +47,5 @@ If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be foun ## See also -- [IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaEnumSymbolsByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md index 5d3ddbb5cd8..6bdd1882526 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md @@ -28,11 +28,11 @@ HRESULT symbolByRVA ( #### Parameters -relativeVirtualAddress +`relativeVirtualAddress` [in] Address relative to start of image. -ppsymbol +`ppsymbol` [out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. @@ -42,6 +42,6 @@ If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be foun ## See also -- [IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) -- [IDiaEnumSymbolsByAddr::symbolByVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaEnumSymbolsByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) +- [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md index ddb35e6c13c..c1f6f8e25ad 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md @@ -28,13 +28,13 @@ HRESULT symbolByVA ( #### Parameters -virtualAddress +`virtualAddress` [in] Virtual address. -ppsymbol +`ppsymbol` -[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. +[out] Returns an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. ## Return Value @@ -42,5 +42,5 @@ If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be foun ## See also -- [IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaEnumSymbolsByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md index fec734732d5..214fe02e965 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md @@ -19,7 +19,7 @@ Retrieves the next symbols in order by address. ## Syntax ```C++ -HRESULT NextEx (  +HRESULT NextEx ( BOOL fPromoteBlockSym, ULONG celt, IDiaSymbol** rgelt, @@ -28,31 +28,35 @@ HRESULT NextEx (  ``` #### Parameters - fPromoteBlockSym -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::Next](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-next.md) + `fPromoteBlockSym` + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::Next`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-next.md) [in] - celt + `celt` [in] The number of symbols in the enumerator to be retrieved. - rgelt + `rgelt` -[out] An array that is to be filled in with the [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object that represent the desired symbols. +[out] An array that is to be filled in with the [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object that represent the desired symbols. - pceltFetched + `pceltFetched` [out] Returns the number of symbols in the fetched enumerator. ## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if there are no more symbols. Otherwise, returns an error code. ## Remarks + This method updates the enumerator position by the number of elements fetched. ## See also -- [IDiaEnumSymbolsByAddr::Next](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-next.md) -- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaEnumSymbolsByAddr::Next`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-next.md) +- [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md index 3595eebc992..1b880843a77 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md @@ -19,7 +19,7 @@ Retrieves the previous symbols in order by address. ## Syntax ```C++ -HRESULT PrevEx (  +HRESULT PrevEx ( BOOL fPromoteBlockSym, ULONG celt, IDiaSymbol** rgelt, @@ -28,29 +28,33 @@ HRESULT PrevEx (  ``` #### Parameters - fPromoteBlockSym -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::Prev](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-prev.md) + `fPromoteBlockSym` - celt +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::Prev`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-prev.md) + + `celt` [in] The number of symbols in the enumerator to be retrieved. - rgelt + `rgelt` -[out] An array that is to be filled in with [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) objects that represent the desired symbols. +[out] An array that is to be filled in with [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) objects that represent the desired symbols. - pceltFetched + `pceltFetched` [out] Returns the number of symbols in the fetched enumerator. ## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if there are no previous symbols. Otherwise, returns an error code. ## Remarks + This method updates the enumerator position by the number of elements fetched. ## See also -- [IDiaEnumSymbolsByAddr::Prev](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-prev.md) -- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaEnumSymbolsByAddr::Prev`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-prev.md) +- [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md index 6692bdb1f8b..5210a22088f 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md @@ -28,26 +28,29 @@ HRESULT symbolByAddrEx ( ``` #### Parameters - fPromoteBlockSym -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::symbolByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) + `fPromoteBlockSym` - isect +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) + + `isect` [in] Image section number. - offsect + `offsect` [in] Offset in section. - ppsymbol + `ppsymbol` -[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. +[out] Returns an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. ## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be found. Otherwise, returns an error code. ## See also -- [IDiaEnumSymbolsByAddr::symbolByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) -- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaEnumSymbolsByAddr::symbolByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) +- [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md index b955b042709..99a0de97404 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md @@ -19,7 +19,7 @@ Positions the enumerator by performing a lookup by relative virtual address (RVA ## Syntax ```C++ -HRESULT symbolByRVAEx (  +HRESULT symbolByRVAEx ( BOOL fPromoteBlockSym, DWORD relativeVirtualAddress, IDiaSymbol** ppsymbol @@ -27,23 +27,26 @@ HRESULT symbolByRVAEx (  ``` #### Parameters - fPromoteBlockSym -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::symbolByRVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) + `fPromoteBlockSym` - relativeVirtualAddress +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByRVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) + + `relativeVirtualAddress` [in] Address relative to start of image. - ppsymbol + `ppsymbol` -[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. +[out] Returns an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. ## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be found. Otherwise, returns an error code. ## See also -- [IDiaEnumSymbolsByAddr::symbolByRVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) -- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) -- [IDiaEnumSymbolsByAddr2::symbolByVAEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaEnumSymbolsByAddr::symbolByRVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) +- [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [`IDiaEnumSymbolsByAddr2::symbolByVAEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md index 5ccda9e8813..527249133e3 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md @@ -19,7 +19,7 @@ Positions the enumerator by performing a lookup by virtual address (VA). ## Syntax ```C++ -HRESULT symbolByVA (  +HRESULT symbolByVA ( BOOL fPromoteBlockSym, ULONGLONG virtualAddress, IDiaSymbol** ppsymbol @@ -27,22 +27,25 @@ HRESULT symbolByVA (  ``` #### Parameters - fPromoteBlockSym -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [IDiaEnumSymbolsByAddr::symbolByVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) + `fPromoteBlockSym` + +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) - virtualAddress + `virtualAddress` [in] Virtual address. - ppsymbol + `ppsymbol` -[out] Returns an [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. +[out] Returns an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the symbol found. ## Return Value + If successful, returns `S_OK`. Returns `S_FALSE` if the symbol could not be found. Otherwise, returns an error code. ## See also -- [IDiaEnumSymbolsByAddr::symbolByVA](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) -- [IDiaEnumSymbolsByAddr2](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) +- [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md index 07985ed434c..1f136705c7e 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md @@ -23,23 +23,27 @@ IDiaEnumSymbolsByAddr2 : IDiaEnumSymbolsByAdd ``` ## Methods in Vtable Order + The following table shows the methods of `IDiaEnumSymbolsByAddr2`. |Method|Description| |------------|-----------------| -|[IDiaEnumSymbolsByAddr2::symbolByAddrEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md)|Positions the enumerator by performing a lookup by section and offset.| -|[IDiaEnumSymbolsByAddr2::symbolByRVAEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md)|Positions the enumerator by performing a lookup by relative virtual address (RVA).| -|[IDiaEnumSymbolsByAddr2::symbolByVAEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md)|Positions the enumerator by performing a lookup by virtual address (VA).| -|[IDiaEnumSymbolsByAddr2::NextEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md)|Retrieves the next symbols in order by address. Updates the enumerator position by number of elements fetched.| -|[IDiaEnumSymbolsByAddr2::PrevEx](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md)|Retrieves the previous symbols in order by address. Updates the enumerator position by number of elements fetched.| +|[`IDiaEnumSymbolsByAddr2::symbolByAddrEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md)|Positions the enumerator by performing a lookup by section and offset.| +|[`IDiaEnumSymbolsByAddr2::symbolByRVAEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md)|Positions the enumerator by performing a lookup by relative virtual address (RVA).| +|[`IDiaEnumSymbolsByAddr2::symbolByVAEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md)|Positions the enumerator by performing a lookup by virtual address (VA).| +|[`IDiaEnumSymbolsByAddr2::NextEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md)|Retrieves the next symbols in order by address. Updates the enumerator position by number of elements fetched.| +|[`IDiaEnumSymbolsByAddr2::PrevEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md)|Retrieves the previous symbols in order by address. Updates the enumerator position by number of elements fetched.| ## Remarks -This interface provides symbols grouped by address. To work with symbols grouped by type, for example `SymTagUDT` (user-defined type) or `SymTagBaseClass`, use the [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) interface. -## Notes for Callers -Obtain this interface by calling the [IDiaSession::getSymbolsByAddr](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) method and then calling [IUnknown::QueryInterface](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSymbolsByAddr2`. +This interface provides symbols grouped by address. To work with symbols grouped by type, for example `SymTagUDT` (user-defined type) or `SymTagBaseClass`, use the [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) interface. + +## Notes for callers + +Obtain this interface by calling the [`IDiaSession::getSymbolsByAddr`](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) method and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSymbolsByAddr2`. ## Example + This function displays the name and address of all symbols ordered by relative virtual address. ```C++ @@ -92,13 +96,15 @@ void ShowSymbolsByAddress(IDiaSession *pSession) ``` ## Requirements + Header: Dia2.h Library: diaguids.lib -DLL: msdia80.dll +DLL: msdia140.dll ## See also + - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) -- [IDiaSession::getSymbolsByAddr](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) -- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSession::getSymbolsByAddr`](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenex.md b/docs/debugger/debug-interface-access/idiasession-findchildrenex.md index 49f1655e84b..02b5cbd4ae2 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenex.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenex.md @@ -19,7 +19,7 @@ Retrieves all children of a specified parent identifier that match the name and ## Syntax ```C++ -HRESULT findChildrenEx (  +HRESULT findChildrenEx ( IDiaSymbol* parent, SymTagEnum symtag, LPCOLESTR name, @@ -29,13 +29,14 @@ HRESULT findChildrenEx (  ``` #### Parameters + `parent` -[in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). +[in] An [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). `symtag` -[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. `name` @@ -43,16 +44,18 @@ HRESULT findChildrenEx (  `compareFlags` -[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. +[in] Specifies the comparison options applied to name matching. Values from the [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. `ppResult` -[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. +[out] Returns an [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. ## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. ## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName`. ```C++ @@ -61,9 +64,10 @@ pSession->findChildrenEx( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum ``` ## See also + - [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) -- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) -- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) -- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md index b9748d7750d..8b1cf60c035 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md @@ -19,7 +19,7 @@ Retrieves all children of a specified parent identifier that match the name and ## Syntax ```C++ -HRESULT findChildrenExByAddr (  +HRESULT findChildrenExByAddr ( IDiaSymbol* parent, SymTagEnum symtag, LPCOLESTR name, @@ -31,13 +31,14 @@ HRESULT findChildrenExByAddr (  ``` #### Parameters + `parent` [in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). `symtag` -[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. `name` @@ -45,7 +46,7 @@ HRESULT findChildrenExByAddr (  `compareFlags` -[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. +[in] Specifies the comparison options applied to name matching. Values from the [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. `isect` @@ -57,12 +58,14 @@ HRESULT findChildrenExByAddr (  `ppResult` -[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. +[out] Returns an [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. ## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. ## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName` and are at address `isect:offset`. ```C++ @@ -71,9 +74,10 @@ pSession->findChildrenExByAddr( pFunc, SymTagData, szVarName, nsCaseSensitive, i ``` ## See also + - [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) -- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) - [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) -- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) -- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) +- [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md index 24124d40431..a5b1df02701 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyrva.md @@ -19,7 +19,7 @@ Retrieves all children of a specified parent identifier that match the name and ## Syntax ```C++ -HRESULT findChildrenExByRVA (  +HRESULT findChildrenExByRVA ( IDiaSymbol* parent, SymTagEnum symtag, LPCOLESTR name, @@ -30,13 +30,14 @@ HRESULT findChildrenExByRVA (  ``` #### Parameters + `parent` -[in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). +[in] An [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). `symtag` -[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. `name` @@ -44,7 +45,7 @@ HRESULT findChildrenExByRVA (  `compareFlags` -[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. +[in] Specifies the comparison options applied to name matching. Values from the [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. `rva` @@ -52,12 +53,14 @@ HRESULT findChildrenExByRVA (  `ppResult` -[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. +[out] Returns an [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. ## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. ## Example + The following example shows how to find local variables of function `pFunc` that match name `szVarName` at relative virtual address `rva`. ```C++ @@ -66,9 +69,10 @@ pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rv ``` ## See also + - [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) -- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) -- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) -- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md index 8712d108f22..4191f7f3b3a 100644 --- a/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md +++ b/docs/debugger/debug-interface-access/idiasession-findchildrenexbyva.md @@ -19,7 +19,7 @@ Retrieves all children of a specified parent identifier that match the name and ## Syntax ```C++ -HRESULT findChildrenExByVA (  +HRESULT findChildrenExByVA ( IDiaSymbol* parent, SymTagEnum symtag, LPCOLESTR name, @@ -30,13 +30,14 @@ HRESULT findChildrenExByVA (  ``` #### Parameters + `parent` [in] An [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) object representing the parent. If this parent symbol is a function, module, or block, then its lexical children are returned in `ppResult`. If the parent symbol is a type, then its class children are returned. If this parameter is `NULL`, then `symtag` must be set to `SymTagExe` or `SymTagNull`, which returns the global scope (.exe file). `symtag` -[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. +[in] Specifies the symbol tag of the children to be retrieved. Values are taken from the [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) enumeration. Set to `SymTagNull` to retrieve all children. `name` @@ -44,7 +45,7 @@ HRESULT findChildrenExByVA (  `compareFlags` -[in] Specifies the comparison options applied to name matching. Values from the [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. +[in] Specifies the comparison options applied to name matching. Values from the [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) enumeration can be used alone or in combination. `va` @@ -52,9 +53,10 @@ HRESULT findChildrenExByVA (  `ppResult` -[out] Returns an [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. +[out] Returns an [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of child symbols retrieved. ## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. ## Example @@ -66,9 +68,10 @@ pSession->findChildrenExByVA( pFunc, SymTagData, szVarName, nsCaseSensitive, va, ``` ## See also + - [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) -- [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) -- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) -- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession.md b/docs/debugger/debug-interface-access/idiasession.md index 977498905db..3f01da18b44 100644 --- a/docs/debugger/debug-interface-access/idiasession.md +++ b/docs/debugger/debug-interface-access/idiasession.md @@ -27,49 +27,49 @@ The following table shows the methods of `IDiaSession`. |Method|Description| |------------|-----------------| -|[IDiaSession::get_loadAddress](../../debugger/debug-interface-access/idiasession-get-loadaddress.md)|Retrieves the load address for the executable file that corresponds to the symbols in this symbol store. This is the same value that was passed to the `put_loadAddress` method.| -|[IDiaSession::put_loadAddress](../../debugger/debug-interface-access/idiasession-put-loadaddress.md)|Sets the load address for the executable file that corresponds to the symbols in this symbol store. **Note:** It is important to call this method when you get an `IDiaSession` object and before you start using the object.| -|[IDiaSession::get_globalScope](../../debugger/debug-interface-access/idiasession-get-globalscope.md)|Retrieves a reference to the global scope.| -|[IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md)|Retrieves an enumerator for all tables contained in the symbol store.| -|[IDiaSession::getSymbolsByAddr](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md)|Retrieves an enumerator for all named symbols at static locations.| -|[IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md)|Retrieves all children of a specified parent identifier that match the name and symbol type.| -|[IDiaSession::findChildrenEx](../../debugger/debug-interface-access/idiasession-findchildrenex.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals.| -|[IDiaSession::findChildrenExByAddr](../../debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified address.| -|[IDiaSession::findChildrenExByVA](../../debugger/debug-interface-access/idiasession-findchildrenexbyva.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified virtual address (VA).| -|[IDiaSession::findChildrenExByRVA](../../debugger/debug-interface-access/idiasession-findchildrenexbyrva.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified relative virtual address (RVA).| -|[IDiaSession::findSymbolByAddr](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md)|Retrieves a specified symbol type that contains, or is closest to, a specified address.| -|[IDiaSession::findSymbolByRVA](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md)|Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address (RVA).| -|[IDiaSession::findSymbolByVA](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md)|Retrieves a specified symbol type that contains, or is closest to, a specified virtual address (VA).| -|[IDiaSession::findSymbolByToken](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md)|Retrieves the symbol that contains a specified metadata token.| -|[IDiaSession::symsAreEquiv](../../debugger/debug-interface-access/idiasession-symsareequiv.md)|Checks to see if two symbols are equivalent.| -|[IDiaSession::symbolById](../../debugger/debug-interface-access/idiasession-symbolbyid.md)|Retrieves a symbol by its unique identifier.| -|[IDiaSession::findSymbolByRVAEx](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md)|Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address and offset.| -|[IDiaSession::findSymbolByVAEx](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md)|Retrieves a specified symbol type that contains, or is closest to, a specified virtual address and offset.| -|[IDiaSession::findFile](../../debugger/debug-interface-access/idiasession-findfile.md)|Retrieves a source file by compiland and name.| -|[IDiaSession::findFileById](../../debugger/debug-interface-access/idiasession-findfilebyid.md)|Retrieves a source file by source file identifier.| -|[IDiaSession::findLines](../../debugger/debug-interface-access/idiasession-findlines.md)|Retrieves line numbers within a specified compiland and source file identifier.| -|[IDiaSession::findLinesByAddr](../../debugger/debug-interface-access/idiasession-findlinesbyaddr.md)|Retrieves the lines in a specified compiland that contain a specified address.| -|[IDiaSession::findLinesByRVA](../../debugger/debug-interface-access/idiasession-findlinesbyrva.md)|Retrieves the lines in a specified compiland that contain a specified relative virtual address.| -|[IDiaSession::findLinesByVA](../../debugger/debug-interface-access/idiasession-findlinesbyva.md)|Finds the line number information for lines contained in a specified address range.| -|[IDiaSession::findLinesByLinenum](../../debugger/debug-interface-access/idiasession-findlinesbylinenum.md)|Retrieves the lines in a specified compiland by source file and line number.| -|[IDiaSession::findInjectedSource](../../debugger/debug-interface-access/idiasession-findinjectedsource.md)|Retrieves a source that has been placed into the symbol store by attribute providers or other components of the compilation process.| -|[IDiaSession::getEnumDebugStreams](../../debugger/debug-interface-access/idiasession-getenumdebugstreams.md)|Retrieves an enumerated sequence of debug data streams.| -|[IDiaSession::findInlineFramesByAddr](../../debugger/debug-interface-access/idiasession-findinlineframesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a given address.| -|[IDiaSession::findInlineFramesByRVA](../../debugger/debug-interface-access/idiasession-findinlineframesbyrva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified relative virtual address (RVA).| -|[IDiaSession::findInlineFramesByVA](../../debugger/debug-interface-access/idiasession-findinlineframesbyva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified virtual address (VA).| -|[IDiaSession::findInlineeLines](../../debugger/debug-interface-access/idiasession-findinlineelines.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol.| -|[IDiaSession::findInlineeLinesByAddr](../../debugger/debug-interface-access/idiasession-findinlineelinesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified address range.| -|[IDiaSession::findInlineeLinesByRVA](../../debugger/debug-interface-access/idiasession-findinlineelinesbyrva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified relative virtual address (RVA).| -|[IDiaSession::findInlineeLinesByVA](../../debugger/debug-interface-access/idiasession-findinlineelinesbyva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified virtual address (VA).| -|[IDiaSession::findInlineeLinesByLinenum](../../debugger/debug-interface-access/idiasession-findinlineelinesbylinenum.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in the specified source file and line number.| -|[IDiaSession::findInlineesByName](../../debugger/debug-interface-access/idiasession-findinlineesbyname.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all inlined functions that match a specified name.| -|[IDiaSession::findAcceleratorInlineesByLinenum](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbylinenum.md)|Returns an enumeration of symbols for inline frames that correspond to the specified source location.| -|[IDiaSession::findSymbolsForAcceleratorPointerTag](../../debugger/debug-interface-access/idiasession-findsymbolsforacceleratorpointertag.md)|Returns an enumeration of symbols for the variable that the specified tag value corresponds to in the parent Accelerator stub function.| -|[IDiaSession::findSymbolsByRVAForAcceleratorPointerTag](../../debugger/debug-interface-access/idiasession-findsymbolsbyrvaforacceleratorpointertag.md)|Given a corresponding tag value, this method returns an enumeration of symbols that are contained in a specified parent Accelerator stub function at a specified relative virtual address.| -|[IDiaSession::findAcceleratorInlineesByName](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbyname.md)|Returns an enumeration of symbols for inline frames corresponding to the specified inline function name.| +|[`IDiaSession::get_loadAddress`](../../debugger/debug-interface-access/idiasession-get-loadaddress.md)|Retrieves the load address for the executable file that corresponds to the symbols in this symbol store. This is the same value that was passed to the `put_loadAddress` method.| +|[`IDiaSession::put_loadAddress`](../../debugger/debug-interface-access/idiasession-put-loadaddress.md)|Sets the load address for the executable file that corresponds to the symbols in this symbol store. **Note:** It is important to call this method when you get an `IDiaSession` object and before you start using the object.| +|[`IDiaSession::get_globalScope`](../../debugger/debug-interface-access/idiasession-get-globalscope.md)|Retrieves a reference to the global scope.| +|[`IDiaSession::getEnumTables`](../../debugger/debug-interface-access/idiasession-getenumtables.md)|Retrieves an enumerator for all tables contained in the symbol store.| +|[`IDiaSession::getSymbolsByAddr`](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md)|Retrieves an enumerator for all named symbols at static locations.| +|[`IDiaSession::findChildren`](../../debugger/debug-interface-access/idiasession-findchildren.md)|Retrieves all children of a specified parent identifier that match the name and symbol type.| +|[`IDiaSession::findChildrenEx`](../../debugger/debug-interface-access/idiasession-findchildrenex.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals.| +|[`IDiaSession::findChildrenExByAddr`](../../debugger/debug-interface-access/idiasession-findchildrenexbyaddr.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified address.| +|[`IDiaSession::findChildrenExByVA`](../../debugger/debug-interface-access/idiasession-findchildrenexbyva.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified virtual address (VA).| +|[`IDiaSession::findChildrenExByRVA`](../../debugger/debug-interface-access/idiasession-findchildrenexbyrva.md)|Retrieves all children of a specified parent identifier that match the name and symbol type, including optimized locals, that contains, or is closest to, a specified relative virtual address (RVA).| +|[`IDiaSession::findSymbolByAddr`](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md)|Retrieves a specified symbol type that contains, or is closest to, a specified address.| +|[`IDiaSession::findSymbolByRVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md)|Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address (RVA).| +|[`IDiaSession::findSymbolByVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md)|Retrieves a specified symbol type that contains, or is closest to, a specified virtual address (VA).| +|[`IDiaSession::findSymbolByToken`](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md)|Retrieves the symbol that contains a specified metadata token.| +|[`IDiaSession::symsAreEquiv`](../../debugger/debug-interface-access/idiasession-symsareequiv.md)|Checks to see if two symbols are equivalent.| +|[`IDiaSession::symbolById`](../../debugger/debug-interface-access/idiasession-symbolbyid.md)|Retrieves a symbol by its unique identifier.| +|[`IDiaSession::findSymbolByRVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md)|Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address and offset.| +|[`IDiaSession::findSymbolByVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md)|Retrieves a specified symbol type that contains, or is closest to, a specified virtual address and offset.| +|[`IDiaSession::findFile`](../../debugger/debug-interface-access/idiasession-findfile.md)|Retrieves a source file by compiland and name.| +|[`IDiaSession::findFileById`](../../debugger/debug-interface-access/idiasession-findfilebyid.md)|Retrieves a source file by source file identifier.| +|[`IDiaSession::findLines`](../../debugger/debug-interface-access/idiasession-findlines.md)|Retrieves line numbers within a specified compiland and source file identifier.| +|[`IDiaSession::findLinesByAddr`](../../debugger/debug-interface-access/idiasession-findlinesbyaddr.md)|Retrieves the lines in a specified compiland that contain a specified address.| +|[`IDiaSession::findLinesByRVA`](../../debugger/debug-interface-access/idiasession-findlinesbyrva.md)|Retrieves the lines in a specified compiland that contain a specified relative virtual address.| +|[`IDiaSession::findLinesByVA`](../../debugger/debug-interface-access/idiasession-findlinesbyva.md)|Finds the line number information for lines contained in a specified address range.| +|[`IDiaSession::findLinesByLinenum`](../../debugger/debug-interface-access/idiasession-findlinesbylinenum.md)|Retrieves the lines in a specified compiland by source file and line number.| +|[`IDiaSession::findInjectedSource`](../../debugger/debug-interface-access/idiasession-findinjectedsource.md)|Retrieves a source that has been placed into the symbol store by attribute providers or other components of the compilation process.| +|[`IDiaSession::getEnumDebugStreams`](../../debugger/debug-interface-access/idiasession-getenumdebugstreams.md)|Retrieves an enumerated sequence of debug data streams.| +|[`IDiaSession::findInlineFramesByAddr`](../../debugger/debug-interface-access/idiasession-findinlineframesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a given address.| +|[`IDiaSession::findInlineFramesByRVA`](../../debugger/debug-interface-access/idiasession-findinlineframesbyrva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified relative virtual address (RVA).| +|[`IDiaSession::findInlineFramesByVA`](../../debugger/debug-interface-access/idiasession-findinlineframesbyva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified virtual address (VA).| +|[`IDiaSession::findInlineeLines`](../../debugger/debug-interface-access/idiasession-findinlineelines.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol.| +|[`IDiaSession::findInlineeLinesByAddr`](../../debugger/debug-interface-access/idiasession-findinlineelinesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified address range.| +|[`IDiaSession::findInlineeLinesByRVA`](../../debugger/debug-interface-access/idiasession-findinlineelinesbyrva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified relative virtual address (RVA).| +|[`IDiaSession::findInlineeLinesByVA`](../../debugger/debug-interface-access/idiasession-findinlineelinesbyva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified virtual address (VA).| +|[`IDiaSession::findInlineeLinesByLinenum`](../../debugger/debug-interface-access/idiasession-findinlineelinesbylinenum.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in the specified source file and line number.| +|[`IDiaSession::findInlineesByName`](../../debugger/debug-interface-access/idiasession-findinlineesbyname.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all inlined functions that match a specified name.| +|[`IDiaSession::findAcceleratorInlineesByLinenum`](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbylinenum.md)|Returns an enumeration of symbols for inline frames that correspond to the specified source location.| +|[`IDiaSession::findSymbolsForAcceleratorPointerTag`](../../debugger/debug-interface-access/idiasession-findsymbolsforacceleratorpointertag.md)|Returns an enumeration of symbols for the variable that the specified tag value corresponds to in the parent Accelerator stub function.| +|[`IDiaSession::findSymbolsByRVAForAcceleratorPointerTag`](../../debugger/debug-interface-access/idiasession-findsymbolsbyrvaforacceleratorpointertag.md)|Given a corresponding tag value, this method returns an enumeration of symbols that are contained in a specified parent Accelerator stub function at a specified relative virtual address.| +|[`IDiaSession::findAcceleratorInlineesByName`](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbyname.md)|Returns an enumeration of symbols for inline frames corresponding to the specified inline function name.| ## Remarks -It is important to call the [IDiaSession::put_loadAddress](../../debugger/debug-interface-access/idiasession-put-loadaddress.md) method after creating the `IDiaSession` object — and the value passed to the `put_loadAddress` method must be non-zero — for any virtual address (VA) properties of symbols to be accessible. The load address comes from whatever program loaded the executable being debugged. For example, you can call the Win32 function `GetModuleInformation` to retrieve the load address for the executable, given a handle to the executable. +It is important to call the [`IDiaSession::put_loadAddress`](../../debugger/debug-interface-access/idiasession-put-loadaddress.md) method after creating the `IDiaSession` object — and the value passed to the `put_loadAddress` method must be non-zero — for any virtual address (VA) properties of symbols to be accessible. The load address comes from whatever program loaded the executable being debugged. For example, you can call the Win32 function `GetModuleInformation` to retrieve the load address for the executable, given a handle to the executable. ## Example This example shows how to obtain the `IDiaSession` interface as part of a general initialization of the DIA SDK. @@ -118,8 +118,8 @@ DLL: msdia80.dll - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) - [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) - [Exe](../../debugger/debug-interface-access/exe.md) -- [IDiaAddressMap](../../debugger/debug-interface-access/idiaaddressmap.md) -- [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -- [IDiaDataSource::openSession](../../debugger/debug-interface-access/idiadatasource-opensession.md) -- [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md) +- [`IDiaAddressMap`](../../debugger/debug-interface-access/idiaaddressmap.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaDataSource::openSession`](../../debugger/debug-interface-access/idiadatasource-opensession.md) +- [`IDiaSymbol::findChildren`](../../debugger/debug-interface-access/idiasymbol-findchildren.md) - [Querying the .Pdb File](../../debugger/debug-interface-access/querying-the-dot-pdb-file.md) From 518265f9cbf15a218f236d2e8b7ee2e3874318c7 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Wed, 3 Jul 2024 16:23:53 -0700 Subject: [PATCH 05/25] Various Project N APIs --- .../idiasession-addressForVA.md | 56 +++++++++++++ .../idiasession-addressforrva.md | 56 +++++++++++++ .../idiasession-findiloffsetsbyaddr.md | 78 +++++++++++++++++++ .../idiasession-findiloffsetsbyrva.md | 72 +++++++++++++++++ .../idiasession-findiloffsetsbyva.md | 72 +++++++++++++++++ .../idiasession-findinputassembly.md | 46 +++++++++++ .../idiasession-findinputassemblybyid.md | 46 +++++++++++ .../idiasession-findinputassemblyfiles.md | 40 ++++++++++ .../idiasession-findlinesbyrva.md | 1 + .../idiasession-findlinesbyva.md | 1 + .../idiasession-getfuncmdtokenmap.md | 49 ++++++++++++ .../idiasession-getfuncmdtokenmapsize.md | 39 ++++++++++ .../idiasession-gettypemdtokenmap.md | 49 ++++++++++++ .../idiasession-gettypemdtokenmapsize.md | 39 ++++++++++ .../debug-interface-access/idiasession.md | 23 +++++- 15 files changed, 666 insertions(+), 1 deletion(-) create mode 100644 docs/debugger/debug-interface-access/idiasession-addressForVA.md create mode 100644 docs/debugger/debug-interface-access/idiasession-addressforrva.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findinputassembly.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md create mode 100644 docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md create mode 100644 docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md create mode 100644 docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md diff --git a/docs/debugger/debug-interface-access/idiasession-addressForVA.md b/docs/debugger/debug-interface-access/idiasession-addressForVA.md new file mode 100644 index 00000000000..dd3958c0ab3 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-addressForVA.md @@ -0,0 +1,56 @@ +--- +description: "Returns the equivalent address for the specified virtual address (VA)." +title: "IDiaSession::addressForVA" +ms.date: "07/03/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::addressForVA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::addressForVA` + +Returns the equivalent address for the specified virtual address (VA). + +## Syntax + +```C++ +HRESULT addressForVA( + ULONGLONG va, + DWORD* pISect, + DWORD* pOffset); +``` + +#### Parameters + + `va` + +[in] The virtual address to translate. + + `pISect` + +[out] Returns the equivalent section for the specified address. + + `pOffset` + +[out] Returns the equivalent offset within the section for the specified address. + + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + +```C++ +DWORD sect = 0, offset = 0; +pSession->addressForVA( va, §, &offset ); +``` + +## See also + +- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession-addressforrva.md b/docs/debugger/debug-interface-access/idiasession-addressforrva.md new file mode 100644 index 00000000000..87e5d4fc2e8 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-addressforrva.md @@ -0,0 +1,56 @@ +--- +description: "Returns the equivalent address for the specified relative virtual address (RVA)." +title: "IDiaSession::addressForRVA" +ms.date: "07/03/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::addressForRVA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::addressForRVA` + +Returns the equivalent address for the specified virtual address (VA). + +## Syntax + +```C++ +HRESULT addressForRVA( + DWORD rva, + DWORD* pISect, + DWORD* pOffset); +``` + +#### Parameters + + `rva` + +[in] The relative virtual address to translate. + + `pISect` + +[out] Returns the equivalent section for the specified address. + + `pOffset` + +[out] Returns the equivalent offset within the section for the specified address. + + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + +```C++ +DWORD sect = 0, offset = 0; +pSession->addressForRVA( rva, §, &offset ); +``` + +## See also + +- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md new file mode 100644 index 00000000000..ff51eeb0813 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md @@ -0,0 +1,78 @@ +--- +description: "Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range." +title: "IDiaSession::findILOffsetsByAddr" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findILOffsetsByAddr method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findILOffsetsByAddr` + +Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range. + +## Syntax + +```C++ +HRESULT findILOffsetsByAddr ( + DWORD isect, + DWORD offset, + DWORD length, + IDiaEnumLineNumbers** ppResult +); +``` + +#### Parameters +`isect` + +[in] Specifies the section component of the specific address. + +`offset` + +[in] Specifies the offset component of the specific address. + +`length` + +[in] Specifies the number of bytes of address range to cover with this query. + +`ppResult` + +[out] Returns an [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the MSIL offsets that cover the specified address range. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + +This example shows a function that obtains all MSIL offset contained in a function using the function's address and length. + +```C++ +IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc, + IDiaSession *pSession) +{ + IDiaEnumLineNumbers* pEnum = NULL; + DWORD seg; + DWORD offset; + ULONGLONG length; + + if (pFunc->get_addressSection ( &seg ) == S_OK && + pFunc->get_addressOffset ( &offset ) == S_OK) + { + pFunc->get_length ( &length ); + pSession->findILOffsetsByAddr( seg, offset, static_cast( length ), &pEnum ); + } + return(pEnum); +} +``` + +## See also + +- [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::findILOffsetsByVA`](../../debugger/debug-interface-access/idiasession-findlinesbyva.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md new file mode 100644 index 00000000000..b0d13a526e8 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md @@ -0,0 +1,72 @@ +--- +description: "Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified relative virtual address (RVA) range." +title: "IDiaSession::findILOffsetsByRVA" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findILOffsetsByRVA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findILOffsetsByRVA` + +Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range. + +## Syntax + +```C++ +HRESULT findILOffsetsByRVA ( + DWORD rva, + DWORD length, + IDiaEnumLineNumbers** ppResult +); +``` + +#### Parameters + +`rva` + +[in] Specifies the address as an RVA. + +`length` + +[in] Specifies the number of bytes of address range to cover with this query. + +`ppResult` + +[out] Returns an [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the MSIL offsets that cover the specified address range. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + +This example shows a function that obtains all MSIL offset contained in a function using the function's address and length. + +```C++ +IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc, + IDiaSession *pSession) +{ + IDiaEnumLineNumbers* pEnum = NULL; + DWORD rva = 0; + ULONGLONG length; + + if (pFunc->get_relativeVirtualAddress ( &rva ) == S_OK) + { + pFunc->get_length ( &length ); + pSession->findILOffsetsByRVA( rva, static_cast( length ), &pEnum ); + } + return(pEnum); +} +``` + +## See also + +- [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::findILOffsetsByRVA`](../../debugger/debug-interface-access/idiasession-findlinesbyrva.md) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md new file mode 100644 index 00000000000..4a50ad282bf --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md @@ -0,0 +1,72 @@ +--- +description: "Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified virtual address (VA) range." +title: "IDiaSession::findILOffsetsByVA" +ms.date: "11/04/2016" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findILOffsetsByVA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findILOffsetsByVA` + +Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range. + +## Syntax + +```C++ +HRESULT findILOffsetsByVA ( + ULONGLONG va, + DWORD length, + IDiaEnumLineNumbers** ppResult +); +``` + +#### Parameters + +`va` + +[in] Specifies the address as a VA. + +`length` + +[in] Specifies the number of bytes of address range to cover with this query. + +`ppResult` + +[out] Returns an [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the MSIL offsets that cover the specified address range. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## Example + +This example shows a function that obtains all MSIL offset contained in a function using the function's address and length. + +```C++ +IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc, + IDiaSession *pSession) +{ + IDiaEnumLineNumbers* pEnum = NULL; + ULONGLONG va = 0; + ULONGLONG length = 0; + + if (pFunc->get_virtualAddress ( &rva ) == S_OK) + { + pFunc->get_length ( &length ); + pSession->findILOffsetsByVA( va, static_cast( length ), &pEnum ); + } + return(pEnum); +} +``` + +## See also + +- [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::findILOffsetsByRVA`](../../debugger/debug-interface-access/idiasession-findlinesbyrva.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassembly.md b/docs/debugger/debug-interface-access/idiasession-findinputassembly.md new file mode 100644 index 00000000000..a59592aad4a --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findinputassembly.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves a .NET Native input assembly file by index." +title: "IDiaSession::findInputAssembly" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findInputAssembly method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findInputAssembly` + +Retrieves a .NET Native input assembly file by index. + +## Syntax + +```C++ +HRESULT findInputAssembly ( + DWORD index, + IDiaInputAssemblyFile** ppResult +); +``` + +#### Parameters + + `index` + +[in] Specifies the index of the .NET Native input assembly file to return. + + `ppResult` + +[out] Returns the specified [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) object. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [`IDiaInputAssemblyFile::get_index`](../../debugger/debug-interface-access/idiainputassemblyfile-get-index.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md b/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md new file mode 100644 index 00000000000..beab8777a96 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves a .NET Native input assembly file by unique identifier." +title: "IDiaSession::findInputAssemblyById" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findInputAssemblyById method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findInputAssemblyById` + +Retrieves a .NET Native input assembly file by unique identifier. + +## Syntax + +```C++ +HRESULT findInputAssemblyById ( + DWORD uniqueId, + IDiaInputAssemblyFile** ppResult +); +``` + +#### Parameters + + `uniqueId` + +[in] Specifies the unique identifier of the .NET Native input assembly file to return. + + `ppResult` + +[out] Returns the specified [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) object. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [`IDiaInputAssemblyFile::get_uniqueId`](../../debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md new file mode 100644 index 00000000000..8d6fe18b4da --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md @@ -0,0 +1,40 @@ +--- +description: "Retrieves an enumeration that allows a client to iterate through the .NET Native input assembly files." +title: "IDiaSession::findInputAssemblyFiles" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findInputAssemblyFiles method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findInputAssemblyFiles` + +Retrieves an enumeration that allows a client to iterate through the .NET Native input assembly files. + +## Syntax + +```C++ +HRESULT findInputAssemblyFiles ( + IDiaEnumInputAssemblyFiles** ppResult +); +``` + +#### Parameters + + `ppResult` + +[out] Returns an [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) object that contains a list of .NET Native input assembly files. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md b/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md index 68873a06fce..cee9ba2f3cc 100644 --- a/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md +++ b/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md @@ -27,6 +27,7 @@ HRESULT findLinesByRVA (  ``` #### Parameters + `rva` [in] Specifies the address as an RVA. diff --git a/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md b/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md index c262cf469d4..31fd3526cbf 100644 --- a/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md +++ b/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md @@ -27,6 +27,7 @@ HRESULT findLinesByVA ( ``` #### Parameters + `va` [in] Specifies the address as a VA. diff --git a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md new file mode 100644 index 00000000000..7bfa61aa496 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md @@ -0,0 +1,49 @@ +--- +description: "Retrieves the contents of the .NET Native metadata function token map." +title: "IDiaSession::getFuncMDTokenMap" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getFuncMDTokenMap method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getFuncMDTokenMap` + +Retrieves the contents of the .NET Native metadata function token map. + +## Syntax + +```C++ +HRESULT getFuncMDTokenMap( + DWORD cb, + DWORD *pcb, + BYTE *pb +); +``` + +#### Parameters + + `cb` + +[in] The size in bytes of the buffer pointed to by `pb` for receiving the .NET Native metadata function token map. + + `pcb` + +[out] Returns the size in bytes of the .NET Native metadata function token map (i.e. the number of bytes written into `pb`). + + `pb` + +[out] Buffer to receive the contents of the .NET Native metadata function token map. This must be at least `cb` bytes in size. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md new file mode 100644 index 00000000000..0ef566b4175 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md @@ -0,0 +1,39 @@ +--- +description: "Retrieves the size, in bytes, of the .NET Native metadata function token map." +title: "IDiaSession::getFuncMDTokenMapSize" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getFuncMDTokenMapSize method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getFuncMDTokenMapSize` + +Retrieves the size, in bytes, of the .NET Native metadata function token map. + +## Syntax + +```C++ +HRESULT getFuncMDTokenMapSize( + DWORD *pcb +); +``` + +#### Parameters + + `pcb` + +[out] Returns the size in bytes of the .NET Native metadata function token map. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md new file mode 100644 index 00000000000..ec7b4e5b358 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md @@ -0,0 +1,49 @@ +--- +description: "Retrieves the contents of the .NET Native metadata type token map." +title: "IDiaSession::getTypeMDTokenMap" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getTypeMDTokenMap method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getTypeMDTokenMap` + +Retrieves the contents of the .NET Native metadata type token map. + +## Syntax + +```C++ +HRESULT getTypeMDTokenMap( + DWORD cb, + DWORD *pcb, + BYTE *pb +); +``` + +#### Parameters + + `cb` + +[in] The size in bytes of the buffer pointed to by `pb` for receiving the .NET Native metadata type token map. + + `pcb` + +[out] Returns the size in bytes of the .NET Native metadata type token map (i.e. the number of bytes written into `pb`). + + `pb` + +[out] Buffer to receive the contents of the .NET Native metadata type token map. This must be at least `cb` bytes in size. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md new file mode 100644 index 00000000000..b2039fb7d92 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md @@ -0,0 +1,39 @@ +--- +description: "Retrieves the size, in bytes, of the .NET Native metadata type token map." +title: "IDiaSession::getTypeMDTokenMapSize" +ms.date: "07/04/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getTypeMDTokenMapSize method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getTypeMDTokenMapSize` + +Retrieves the size, in bytes, of the .NET Native metadata type token map. + +## Syntax + +```C++ +HRESULT getTypeMDTokenMapSize( + DWORD *pcb +); +``` + +#### Parameters + + `pcb` + +[out] Returns the size in bytes of the .NET Native metadata type token map. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession.md b/docs/debugger/debug-interface-access/idiasession.md index 3f01da18b44..3730530c99a 100644 --- a/docs/debugger/debug-interface-access/idiasession.md +++ b/docs/debugger/debug-interface-access/idiasession.md @@ -1,7 +1,7 @@ --- description: "Provides a query context for debug symbols." title: "IDiaSession" -ms.date: "11/04/2016" +ms.date: "07/03/2024" ms.topic: "reference" dev_langs: - "C++" @@ -67,11 +67,32 @@ The following table shows the methods of `IDiaSession`. |[`IDiaSession::findSymbolsForAcceleratorPointerTag`](../../debugger/debug-interface-access/idiasession-findsymbolsforacceleratorpointertag.md)|Returns an enumeration of symbols for the variable that the specified tag value corresponds to in the parent Accelerator stub function.| |[`IDiaSession::findSymbolsByRVAForAcceleratorPointerTag`](../../debugger/debug-interface-access/idiasession-findsymbolsbyrvaforacceleratorpointertag.md)|Given a corresponding tag value, this method returns an enumeration of symbols that are contained in a specified parent Accelerator stub function at a specified relative virtual address.| |[`IDiaSession::findAcceleratorInlineesByName`](../../debugger/debug-interface-access/idiasession-findacceleratorinlineesbyname.md)|Returns an enumeration of symbols for inline frames corresponding to the specified inline function name.| +|[`IDiaSession::addressForVA`](../../debugger/debug-interface-access/idiasession-addressForVA.md)|Returns the equivalent address for the specified virtual address (VA).| +|[`IDiaSession::addressForRVA`](../../debugger/debug-interface-access/idiasession-addressforrva.md)|Returns the equivalent address for the specified relative virtual address (RVA).| +|[`IDiaSession::findILOffsetsByAddr`](../../debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md)|Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range.| +|[`IDiaSession::findILOffsetsByRVA`](../../debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md)|Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified relative virtual address (RVA) range.| +|[`IDiaSession::findILOffsetsByVA`](../../debugger/debug-interface-access/idiasession-findiloffsetsbyva.md)|Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified virtual address (VA) range.| +|[`IDiaSession::findInputAssemblyFiles`](../../debugger/debug-interface-access/idiasession-findinputassemblyfiles.md)|Retrieves an enumeration that allows a client to iterate through the .NET Native input assembly files.| +|[`IDiaSession::findInputAssembly`](../../debugger/debug-interface-access/idiasession-findinputassembly.md)|Retrieves a .NET Native input assembly file by index.| +|[`IDiaSession::findInputAssemblyById`](../../debugger/debug-interface-access/idiasession-findinputassemblybyid.md)|Retrieves .NET Native input assembly file by unique identifier.| +|[`IDiaSession::getFuncMDTokenMapSize`](../../debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md)|Retrieves the size, in bytes, of the .NET Native metadata function token map.| +|[`IDiaSession::getFuncMDTokenMap`](../../debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md)|Retrieves the contents of the .NET Native metadata function token map.| +|[`IDiaSession::getTypeMDTokenMapSize`](../../debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md)|Retrieves the size, in bytes, of the .NET Native metadata type token map.| +|[`IDiaSession::getTypeMDTokenMap`](../../debugger/debug-interface-access/idiasession-gettypemdtokenmap.md)|Retrieves the contents of the .NET Native metadata type token map.| +|[`IDiaSession::getNumberOfFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md)|Retrieves the number of discontiguous fragments for the function at the specified virtual address (VA).| +|[`IDiaSession::getNumberOfFunctionFragments_RVA`](../../debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md)|Retrieves the number of discontiguous fragments for the function at the specified relative virtual address (RVA).| +|[`IDiaSession::getFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_va.md)|Retrieves the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA).| +|[`IDiaSession::getFunctionFragments_RVA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md)|Retrieves the addresses and lengths of discontiguous fragments for the function at the specified relative virtual address (RVA).| +|[`IDiaSession::getExports`](../../debugger/debug-interface-access/idiasession-getexports.md)|Retrieves an enumerator for all exported symbols.| +|[`IDiaSession::getHeapAllocationSites`](../../debugger/debug-interface-access/idiasession-getheapallocationsites.md)|Retrieves an enumerator for all SymTagHeapAllocationSite symbols.| +|[`IDiaSession::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasession-findinputassemblyfile.md)|Retrieves the input assembly file that is the parent of the specified symbol.| ## Remarks + It is important to call the [`IDiaSession::put_loadAddress`](../../debugger/debug-interface-access/idiasession-put-loadaddress.md) method after creating the `IDiaSession` object — and the value passed to the `put_loadAddress` method must be non-zero — for any virtual address (VA) properties of symbols to be accessible. The load address comes from whatever program loaded the executable being debugged. For example, you can call the Win32 function `GetModuleInformation` to retrieve the load address for the executable, given a handle to the executable. ## Example + This example shows how to obtain the `IDiaSession` interface as part of a general initialization of the DIA SDK. ```C++ From 4c03f674d0ae95fdbe1b429711e18d3073a4a00c Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 5 Jul 2024 10:16:27 -0700 Subject: [PATCH 06/25] Function fragments --- .../idiasession-getfuncmdtokenmap.md | 27 +++++ .../idiasession-getfunctionfragments_rva.md | 114 ++++++++++++++++++ .../idiasession-getfunctionfragments_va.md | 114 ++++++++++++++++++ ...ession-getnumberoffunctionfragments_rva.md | 50 ++++++++ ...session-getnumberoffunctionfragments_va.md | 50 ++++++++ .../idiasession-gettypemdtokenmap.md | 27 +++++ 6 files changed, 382 insertions(+) create mode 100644 docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md diff --git a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md index 7bfa61aa496..1805b0ce102 100644 --- a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md +++ b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md @@ -44,6 +44,33 @@ HRESULT getFuncMDTokenMap( If successful, returns `S_OK`; otherwise, returns an error code. + ## Example + + This shows how to retrieve the size of the map and then retrieve the full token map. + + ```C++ +DWORD size = 0; +HRESULT hr = pDiaSession->getFuncMDTokenMapSize(&size); +if (FAILED(hr)) { + return hr; +} +if (size == 0) { + return S_FALSE; +} + +BYTE * map = new (std::nothrow) BYTE[size]; +if (map == nullptr) { + return E_OUTOFMEMORY; +} + +hr = pDiaSession->getFuncMDTokenMap(size, &size, map); +if (FAILED(hr)) { + delete [] map; + return hr; +} +``` + ## See also - [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::getFuncMDTokenMapSize`](../../debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md new file mode 100644 index 00000000000..021d4c7604e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md @@ -0,0 +1,114 @@ +--- +description: "Retrieves the addresses and lengths of discontiguous fragments for the function at the specified relative virtual address (RVA)." +title: "IDiaSession::getFunctionFragments_RVA" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getFunctionFragments_RVA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getFunctionFragments_RVA` + +Retrieves the addresses and lengths of discontiguous fragments for the function at the specified relative virtual address (RVA). + +## Syntax + +```C++ +HRESULT getFunctionFragments_RVA( + DWORD rvaFunc, + DWORD cbFunc, + DWORD cFragments, + DWORD *pRvaFragment, + DWORD *pLenFragment +); +``` + +#### Parameters + + `rvaFunc` + +[in] The relative virtual address of the function. + + `cbFunc` + +[in] The total size in bytes of the function (i.e. the length of the function). + +`cFragments` + +[in] The count of elements allocated for `pRvaFragment` and `pLenFragment`. + + `pRvaFragment` + +[out] Array buffer to receive the relative virtual addresses of each fragment. This must be at least `cFragments` long. + + `pLenFragment` + +[out] Array buffer to receive the length, in bytes, of each fragment. This must be at least `cFragments` long. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + + ## Example + + This shows how to retrieve the address and length of a function via `IDiaSymbol`, then the number of fragments, retrieve the set of function fragments and then print them as a list of start and end addresses. + + ```C++ +HRESULT PrintFunctionFragments(CComPtr pFunc) { + DWORD rvaStart = 0; + ULONGLONG cbFunc = 0; + + HRESULT hr = pFunc->get_relativeVirtualAddress(&rvaStart); + if (FAILED(hr)) { + return hr; + } + hr = pFunc->get_length(&cbFunc); + if (FAILED(hr)) { + return hr; + } + + DWORD cFragments = 0; + + hr = pSession->getNumberOfFunctionFragments_RVA(rvaStart, (DWORD) cbFunc, &cFragments); + if (FAILED(hr)) { + return hr; + } + + DWORD * rgRVA = new (std::nothrow) DWORD[cFragments]; + if (rgRVA == nullptr) { + return E_OUTOFMEMORY; + } + + DWORD * rgLen = new (std::nothrow) DWORD[cFragments]; + if (rgLen == nullptr) { + delete[] rgRVA; + return E_OUTOFMEMORY; + } + + hr = pSession->getFunctionFragments_RVA(rvaStart, (DWORD) cbFunc, cFragments, rgRVA, rgLen); + if (FAILED(hr)) { + delete[] rgRVA; + delete[] rgLen; + return hr; + + } + for (DWORD i = 0; i < cFragments; i++) { + printf(" %08X -- %08X\n", rgRVA[i], rgRVA[i] + rgLen[i] - 1); + } + + delete [] rgRVA; + delete [] rgLen; + + return S_OK; +} +``` + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::getNumberOfFunctionFragments_RVA`](../../debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md new file mode 100644 index 00000000000..ed1750e2348 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md @@ -0,0 +1,114 @@ +--- +description: "Retrieves the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA)." +title: "IDiaSession::getFunctionFragments_VA" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getFunctionFragments_VA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getFunctionFragments_VA` + +Retrieves the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA). + +## Syntax + +```C++ +HRESULT getFunctionFragments_VA( + ULONGLONG vaFunc, + DWORD cbFunc, + DWORD cFragments, + ULONGLONG *pVaFragment, + DWORD *pLenFragment +); +``` + +#### Parameters + + `vaFunc` + +[in] The virtual address of the function. + + `cbFunc` + +[in] The total size in bytes of the function (i.e. the length of the function). + +`cFragments` + +[in] The count of elements allocated for `pVaFragment` and `pLenFragment`. + + `pVaFragment` + +[out] Array buffer to receive the virtual addresses of each fragment. This must be at least `cFragments` long. + + `pLenFragment` + +[out] Array buffer to receive the length, in bytes, of each fragment. This must be at least `cFragments` long. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + + ## Example + + This shows how to retrieve the address and length of a function via `IDiaSymbol`, then the number of fragments, retrieve the set of function fragments and then print them as a list of start and end addresses. + + ```C++ +HRESULT PrintFunctionFragments(CComPtr pFunc) { + ULONGLONG vaStart = 0; + ULONGLONG cbFunc = 0; + + HRESULT hr = pFunc->get_relativeVirtualAddress(&vaStart); + if (FAILED(hr)) { + return hr; + } + hr = pFunc->get_length(&cbFunc); + if (FAILED(hr)) { + return hr; + } + + DWORD cFragments = 0; + + hr = pSession->getNumberOfFunctionFragments_VA(vaStart, (DWORD) cbFunc, &cFragments); + if (FAILED(hr)) { + return hr; + } + + ULONGLONG * rgVA = new (std::nothrow) ULONGLONG[cFragments]; + if (rgVA == nullptr) { + return E_OUTOFMEMORY; + } + + DWORD * rgLen = new (std::nothrow) DWORD[cFragments]; + if (rgLen == nullptr) { + delete[] rgVA; + return E_OUTOFMEMORY; + } + + hr = pSession->getFunctionFragments_VA(vaStart, (DWORD) cbFunc, cFragments, rgVA, rgLen); + if (FAILED(hr)) { + delete[] rgVA; + delete[] rgLen; + return hr; + + } + for (DWORD i = 0; i < cFragments; i++) { + printf(" %016llX -- %016llX\n", rgVA[i], rgVA[i] + rgLen[i] - 1); + } + + delete [] rgVA; + delete [] rgLen; + + return S_OK; +} +``` + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::getNumberOfFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md new file mode 100644 index 00000000000..19454fc61c6 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md @@ -0,0 +1,50 @@ +--- +description: "Retrieves the number of discontiguous fragments for the function at the specified relative virtual address (RVA)." +title: "IDiaSession::getNumberOfFunctionFragments_RVA" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getNumberOfFunctionFragments_RVA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getNumberOfFunctionFragments_RVA` + +Retrieves the number of discontiguous fragments for the function at the specified relative virtual address (RVA). + +## Syntax + +```C++ +HRESULT getNumberOfFunctionFragments_RVA( + DWORD rvaFunc, + DWORD cbFunc, + DWORD *pNumFragments +); +``` + +#### Parameters + + `rvaFunc` + +[in] The relative virtual address of the function. + + `cbFunc` + +[in] The total size in bytes of the function (i.e. the length of the function). + +`pNumFragments` + +[out] The number of fragments. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::getFunctionFragments_RVA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md new file mode 100644 index 00000000000..bddd0a72e4d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md @@ -0,0 +1,50 @@ +--- +description: "Retrieves the number of discontiguous fragments for the function at the specified virtual address (VA)." +title: "IDiaSession::getNumberOfFunctionFragments_VA" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getNumberOfFunctionFragments_VA method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getNumberOfFunctionFragments_VA` + +Retrieves the number of discontiguous fragments for the function at the specified virtual address (VA). + +## Syntax + +```C++ +HRESULT getNumberOfFunctionFragments_VA( + ULONGLONG vaFunc, + DWORD cbFunc, + DWORD *pNumFragments +); +``` + +#### Parameters + + `vaFunc` + +[in] The virtual address of the function. + + `cbFunc` + +[in] The total size in bytes of the function (i.e. the length of the function). + +`pNumFragments` + +[out] The number of fragments. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::getFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_va.md) diff --git a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md index ec7b4e5b358..994e3de9014 100644 --- a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md +++ b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md @@ -44,6 +44,33 @@ HRESULT getTypeMDTokenMap( If successful, returns `S_OK`; otherwise, returns an error code. +## Example + + This shows how to retrieve the size of the map and then retrieve the full token map. + + ```C++ +DWORD size = 0; +HRESULT hr = pDiaSession->getTypeMDTokenMapSize(&size); +if (FAILED(hr)) { + return hr; +} +if (size == 0) { + return S_FALSE; +} + +BYTE * map = new (std::nothrow) BYTE[size]; +if (map == nullptr) { + return E_OUTOFMEMORY; +} + +hr = pDiaSession->getTypeMDTokenMap(size, &size, map); +if (FAILED(hr)) { + delete [] map; + return hr; +} +``` + ## See also - [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::getTypeMDTokenMapSize`](../../debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md) \ No newline at end of file From 99abd2b161c020c2ff006c61d9f5616c0f336abd Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 5 Jul 2024 11:55:55 -0700 Subject: [PATCH 07/25] Finished IDiaSession!!!! --- .../idiasession-findinputassemblyfile.md | 47 ++++++++++++++ .../idiasession-getexports.md | 41 ++++++++++++ .../idiasession-getheapallocationsites.md | 41 ++++++++++++ .../debug-interface-access/idiasession.md | 4 +- .../debug-interface-access/symtagenum.md | 65 ++++++++++++------- 5 files changed, 172 insertions(+), 26 deletions(-) create mode 100644 docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getexports.md create mode 100644 docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md new file mode 100644 index 00000000000..b01d4df57f2 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md @@ -0,0 +1,47 @@ +--- +description: "Retrieves the .NET Native input assembly file that is the parent of the specified symbol." +title: "IDiaSession::findInputAssemblyFile" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::findInputAssemblyFile method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::findInputAssemblyFile` + +Retrieves the .NET Native input assembly file that is the parent of the specified symbol. + +## Syntax + +```C++ +HRESULT findInputAssemblyFile (  + IDiaSymbol* pSymbol, + IDiaInputAssemblyFile** ppResult +); +``` + +#### Parameters + + `pSymbol` + +[in] An [`IDiaSymbol`](../../debugger/debug-interface-access/idisymbol.md) that is a child of the desired input assembly. + + `ppResult` + +[out] Returns an [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) object that was the original .NET assembly of the specified symbol. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md) +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getexports.md b/docs/debugger/debug-interface-access/idiasession-getexports.md new file mode 100644 index 00000000000..b602e54b47e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getexports.md @@ -0,0 +1,41 @@ +--- +description: "Retrieves an enumerator for all exported symbols." +title: "IDiaSession::getExports" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getExports method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getExports` + +Retrieves an enumerator for all exported symbols, symbols with `SymTagExport`, from a `.dll`. + +## Syntax + +```C++ +HRESULT getExports (  + IDiaEnumSymbols** ppResult +); +``` + +#### Parameters + + `ppResult` + +[out] Returns an [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of symbols retrieved. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md b/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md new file mode 100644 index 00000000000..1f3aa5a7a15 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md @@ -0,0 +1,41 @@ +--- +description: "Retrieves an enumerator for all SymTagHeapAllocationSite symbols." +title: "IDiaSession::getHeapAllocationSites" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSession::getHeapAllocationSites method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSession::getHeapAllocationSites` + +Retrieves an enumerator for all `SymTagHeapAllocationSite` symbols. + +## Syntax + +```C++ +HRESULT getHeapAllocationSites (  + IDiaEnumSymbols** ppResult +); +``` + +#### Parameters + + `ppResult` + +[out] Returns an [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) object that contains the list of symbols retrieved. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) diff --git a/docs/debugger/debug-interface-access/idiasession.md b/docs/debugger/debug-interface-access/idiasession.md index 3730530c99a..d01da060143 100644 --- a/docs/debugger/debug-interface-access/idiasession.md +++ b/docs/debugger/debug-interface-access/idiasession.md @@ -84,8 +84,8 @@ The following table shows the methods of `IDiaSession`. |[`IDiaSession::getFunctionFragments_VA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_va.md)|Retrieves the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA).| |[`IDiaSession::getFunctionFragments_RVA`](../../debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md)|Retrieves the addresses and lengths of discontiguous fragments for the function at the specified relative virtual address (RVA).| |[`IDiaSession::getExports`](../../debugger/debug-interface-access/idiasession-getexports.md)|Retrieves an enumerator for all exported symbols.| -|[`IDiaSession::getHeapAllocationSites`](../../debugger/debug-interface-access/idiasession-getheapallocationsites.md)|Retrieves an enumerator for all SymTagHeapAllocationSite symbols.| -|[`IDiaSession::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasession-findinputassemblyfile.md)|Retrieves the input assembly file that is the parent of the specified symbol.| +|[`IDiaSession::getHeapAllocationSites`](../../debugger/debug-interface-access/idiasession-getheapallocationsites.md)|Retrieves an enumerator for all `SymTagHeapAllocationSite` symbols.| +|[`IDiaSession::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasession-findinputassemblyfile.md)|Retrieves the .NET Native input assembly file that is the parent of the specified symbol.| ## Remarks diff --git a/docs/debugger/debug-interface-access/symtagenum.md b/docs/debugger/debug-interface-access/symtagenum.md index a730990c527..3d509d25fa5 100644 --- a/docs/debugger/debug-interface-access/symtagenum.md +++ b/docs/debugger/debug-interface-access/symtagenum.md @@ -56,7 +56,14 @@ enum SymTagEnum { SymTagBaseInterface, SymTagVectorType, SymTagMatrixType, - SymTagHLSLType + SymTagHLSLType, + SymTagCaller, + SymTagCallee, + SymTagExport, + SymTagHeapAllocationSite, + SymTagCoffGroup, + SymTagInlinee, + SymTagTaggedUnionCase, }; ``` @@ -101,41 +108,51 @@ enum SymTagEnum { | `SymTagVectorType` | Indicates that the symbol is a vector type. | | `SymTagMatrixType` | Indicates that the symbol is a matrix type. | | `SymTagHLSLType` | Indicates that the symbol is a High Level Shader Language type. | +| `SymTagCaller` | Indicates that the symbol represents PGO caller information. | +| `SymTagCallee` | Indicates that the symbol represents PGO callee information. | +| `SymTagExport` | Indicates that the symbol is an export from a DLL. | +| `SymTagHeapAllocationSite`| Indicates that the symbol represents a heap allocation site (i.e. call to `operator new`)| +| `SymTagCoffGroup` | Indicates that the symbol is a COFF group. | +| `SymTagInlinee` | Indicates that the symbol represents the inlinee of an inlinte site (see `SymTagInlineSite`).| +| `SymTagTaggedUnionCase` | Indicates that the symbol is a tagged union (e.g. Rust's union type) | ## Remarks + All symbols within a debug file have an identifying tag that specifies the symbol's type. The values in this enumeration are returned by a call to the [IDiaSymbol::get_symTag](../../debugger/debug-interface-access/idiasymbol-get-symtag.md) method. The values in this enumeration are passed to the following methods to limit the scope of the search to a specific symbol type: -- [IDiaSession::findSymbolByAddr](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md) - -- [IDiaSession::findSymbolByRVA](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md) - -- [IDiaSession::findSymbolByRVAEx](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md) - -- [IDiaSession::findSymbolByToken](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md) - -- [IDiaSession::findSymbolByVA](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md) - -- [IDiaSession::findSymbolByVAEx](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md) - -- [IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md) - -- [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md) +- [`IDiaSession::findSymbolByAddr`](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md) +` +- [`IDiaSession`::findSymbolByRVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md) +` +- [`IDiaSession`::findSymbolByRVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md) +` +- [`IDiaSession`::findSymbolByToken`](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md) +` +- [`IDiaSession`::findSymbolByVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md) +` +- [`IDiaSession`::findSymbolByVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md) +` +- [`IDiaSession`::findChildren`](../../debugger/debug-interface-access/idiasession-findchildren.md) +` +- [`IDiaSymbol`::findChildren`](../../debugger/debug-interface-access/idiasymbol-findchildren.md) ## Requirements + Header: cvconst.h ## See also + - [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) - [Lexical Hierarchy of Symbol Types](../../debugger/debug-interface-access/lexical-hierarchy-of-symbol-types.md) -- [IDiaSession::findSymbolByAddr](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md) -- [IDiaSession::findSymbolByRVA](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md) -- [IDiaSession::findSymbolByRVAEx](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md) -- [IDiaSession::findSymbolByToken](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md) -- [IDiaSession::findSymbolByVA](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md) -- [IDiaSession::findSymbolByVAEx](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md) -- [IDiaSession::findChildren](../../debugger/debug-interface-access/idiasession-findchildren.md) -- [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md) +- [`IDiaSession::findSymbolByAddr`](../../debugger/debug-interface-access/idiasession-findsymbolbyaddr.md) +- [`IDiaSession::findSymbolByRVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyrva.md) +- [`IDiaSession::findSymbolByRVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyrvaex.md) +- [`IDiaSession::findSymbolByToken`](../../debugger/debug-interface-access/idiasession-findsymbolbytoken.md) +- [`IDiaSession::findSymbolByVA`](../../debugger/debug-interface-access/idiasession-findsymbolbyva.md) +- [`IDiaSession::findSymbolByVAEx`](../../debugger/debug-interface-access/idiasession-findsymbolbyvaex.md) +- [`IDiaSession::findChildren`](../../debugger/debug-interface-access/idiasession-findchildren.md) +- [`IDiaSymbol::findChildren`](../../debugger/debug-interface-access/idiasymbol-findchildren.md) From 443ffea682676d87a5edc09d34412b5cded5acc0 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:57:48 -0700 Subject: [PATCH 08/25] Finished IDiaSessionEx --- .../idiasessionex-getsourcelinkinfo.md | 48 +++++++++ .../idiasessionex-isfastlinkpdb.md | 44 +++++++++ .../idiasessionex-isportablepdb.md | 44 +++++++++ .../debug-interface-access/idiasessionex.md | 99 +++++++++++++++++++ .../interfaces-debug-interface-access-sdk.md | 77 ++++++++------- 5 files changed, 276 insertions(+), 36 deletions(-) create mode 100644 docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md create mode 100644 docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md create mode 100644 docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md create mode 100644 docs/debugger/debug-interface-access/idiasessionex.md diff --git a/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md b/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md new file mode 100644 index 00000000000..1c3da0f0ede --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md @@ -0,0 +1,48 @@ +--- +description: "Retrieves an enumeration of source link information." +title: "IDiaSessionEx::getSourceLinkInfo" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSessionEx::getSourceLinkInfo method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSessionEx::getSourceLinkInfo` + +Retrieves an enumeration of [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) information. + +## Syntax + +```C++ +HRESULT getSourceLinkInfo( + IDiaSymbol* parent, + IDiaEnumSourceLink** ppEnum +); +``` + +#### Parameters + + `parent` + + [in] If not `nullptr`, specified the `SymTagCompiland` symbol to query for source link information. Otherwise this method enumerates all source link information. + + `ppEnum` + +[out] Returns an [`IDiaEnumSourceLine`](../../debugger/debug-interface-access/idiaenumsourcelink.md) object that contains the list of source link information . + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + + +## See also + +- [`IDiaSessionEx`](../../debugger/debug-interface-access/idiasessionex.md) +- [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) +- [Using Source Link](https://github.com/dotnet/sourcelink#using-source-link-in-c-projects) +- [/SOURCELINK (Include Source Link file in PDB)](/cpp/build/reference/sourcelink) diff --git a/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md b/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md new file mode 100644 index 00000000000..24ec577b12c --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a boolean indicating that the source debug information was produced with /DEBUG:fastlink." +title: "IDiaSessionEx::isFastLinkPDB" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSessionEx::isFastLinkPDB method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSessionEx::isFastLinkPDB` + +Retrieves a boolean indicating that the source debug information was produced with `/DEBUG:fastlink`. + +## Syntax + +```C++ +HRESULT isFastLinkPDB( + BOOL* pfFastLinkPDB +); +``` + +#### Parameters + + `pfFastLinkPDB` + +[out] Returns a boolean indcating if the debug information was build with `/DEBUG:fastlink` or not. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## Remarks + +If debug information was compiled with `/DEBUG:fastlink` then not all of the inforation is contained within the `.PDB` and in order fo the debugger to fully work, it must access the debug inforation contained within oms of the intermediate build files (like `.OBJ`, `.LIB`, and `.PCH` files). Fastlink PDBs are no longer recommended. + +## See also + +- [/DEBUG (Generate debug info)](/cpp/build/reference/debug-generate-debug-info) +- [`IDiaSessionEx`](../../debugger/debug-interface-access/idiasessionex.md) diff --git a/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md b/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md new file mode 100644 index 00000000000..be1f2d69896 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a boolean indicating that the source debug information is using the Portable PDB format." +title: "IDiaSessionEx::isPortablePDB" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSessionEx::isPortablePDB method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSessionEx::isPortablePDB` + +Retrieves a boolean indicating that the source debug information is using the [Portable PDB](https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md) format. + +## Syntax + +```C++ +HRESULT isPortablePDB( + BOOL* pfPortablePDB +); +``` + +#### Parameters + + `pfPortablePDB` + +[out] Returns a boolean indcating if the debug information was in the [Portable PDB](https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md) format. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## Remarks + +The DIA SDK internally converts portable PDBs into classic windows PDBs in memory when opening them. This can incur extra time and memory usage when the PDB is opened. The file on disk is unmodified. + +## See also + +- [`IDiaSessionEx`](../../debugger/debug-interface-access/idiasessionex.md) +- [Portable PDB v1.0 Format Specification](https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasessionex.md b/docs/debugger/debug-interface-access/idiasessionex.md new file mode 100644 index 00000000000..62c005335c9 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasessionex.md @@ -0,0 +1,99 @@ +--- +description: "Provides an extended query context for debug symbols." +title: "IDiaSession" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSessionEx interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSessionEx` + +Provides an extended query context for debug symbols. + +## Syntax + +``` +IDiaSessionEx : IDiaSession +``` + +## Methods +The following table shows the methods of `IDiaSessionEx`. + +|Method|Description| +|------------|-----------------| +|[`IDiaSessionEx::isFastLinkPDB`](../../debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md)|Retrieves a boolean indicating that the source debug information was produced with `/DEBUG:fastlink`.| +|[`IDiaSessionEx::isPortablePDB`](../../debugger/debug-interface-access/idiasessionex-isportablepdb.md)|Retrieves a boolean indicating that the source debug information is using the [Portable PDB format](https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md).| +|[`IDiaSessionEx::getSourceLinkInfo'](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md)|Retrieves an enumeration of source link information.| + +## Remarks + +It is important to call the [`IDiaSession::put_loadAddress`](../../debugger/debug-interface-access/idiasession-put-loadaddress.md) method after creating the `IDiaSession` object — and the value passed to the `put_loadAddress` method must be non-zero — for any virtual address (VA) properties of symbols to be accessible. The load address comes from whatever program loaded the executable being debugged. For example, you can call the Win32 function `GetModuleInformation` to retrieve the load address for the executable, given a handle to the executable. + +Because `IDiaSessionEx` inherits from `IDiaSession`, it alos has all the same methods, and can be passed to any function that accepts an `IDiaSession`. + +## Example + +This example shows how to obtain the `IDiaSessionEx` interface as part of a general initialization of the DIA SDK. + +```C++ +CComPtr pSource; +ComPtr psessionex; + +void InitializeDIA(const char *szFilename) +{ + HRESULT hr = CoCreateInstance( CLSID_DiaSource, + NULL, + CLSCTX_INPROC_SERVER, + __uuidof( IDiaDataSource ), + (void **) &pSource); + if (FAILED(hr)) + { + Fatal("Could not CoCreate CLSID_DiaSource. Register msdia140.dll." ); + } + wchar_t wszFilename[ _MAX_PATH ]; + mbstowcs( wszFilename, + szFilename, + sizeof( wszFilename )/sizeof( wszFilename[0] ) ); + if ( FAILED( pSource->loadDataFromPdb( wszFilename ) ) ) + { + if ( FAILED( pSource->loadDataForExe( wszFilename, NULL, NULL ) ) ) + { + Fatal( "loadDataFromPdb/Exe" ); + } + } + + ComPtr psession; + if ( FAILED( pSource->openSession( &psession ) ) ) + { + Fatal( "openSession" ); + } + + if ( FAILED( psession.QueryInterface(&psessionex) ) ) + { + Fatal( "Failed to upgrade from IDiaSession to IDiaSessionEx, are you using an older version of msdia140.dll?" ); + } +} +``` + +## Requirements + +Header: Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Overview](../../debugger/debug-interface-access/overview-debug-interface-access-sdk.md) +- [Exe](../../debugger/debug-interface-access/exe.md) +- [`IDiaAddressMap`](../../debugger/debug-interface-access/idiaaddressmap.md) +- [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) +- [`IDiaDataSource::openSession`](../../debugger/debug-interface-access/idiadatasource-opensession.md) +- [Querying the .Pdb File](../../debugger/debug-interface-access/querying-the-dot-pdb-file.md) diff --git a/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md b/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md index 76757a86939..0b7e9d9c3b3 100644 --- a/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md +++ b/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md @@ -1,7 +1,7 @@ --- description: "Methods are listed alphabetically under each interface in the table of contents and on the interface page in Vtable order." title: "Interfaces (Debug Interface Access SDK)" -ms.date: "11/04/2016" +ms.date: "07/05/2024" ms.topic: "reference" dev_langs: - "C++" @@ -19,143 +19,148 @@ Methods are listed alphabetically under each interface in the table of contents ## In This Section -[IDiaAddressMap](../../debugger/debug-interface-access/idiaaddressmap.md) +[`IDiaAddressMap`](../../debugger/debug-interface-access/idiaaddressmap.md) Provides control over how the DIA SDK computes virtual and relative virtual addresses for debug objects. -[IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +[`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) Initiates access to a source of debugging symbols. -[IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +[`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) Initiates access to a source of debugging symbols. Supersedes [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) -[IDiaEnumDebugStreamData](../../debugger/debug-interface-access/idiaenumdebugstreamdata.md) +[`IDiaEnumDebugStreamData`](../../debugger/debug-interface-access/idiaenumdebugstreamdata.md) Provides access to the records in a debug data stream. -[IDiaEnumDebugStreams](../../debugger/debug-interface-access/idiaenumdebugstreams.md) +[`IDiaEnumDebugStreams`](../../debugger/debug-interface-access/idiaenumdebugstreams.md) Enumerates the various debug streams contained in the data source. -[IDiaEnumFrameData](../../debugger/debug-interface-access/idiaenumframedata.md) +[`IDiaEnumFrameData`](../../debugger/debug-interface-access/idiaenumframedata.md) Enumerates the various frame data elements contained in the data source. -[IDiaEnumInjectedSources](../../debugger/debug-interface-access/idiaenuminjectedsources.md) +[`IDiaEnumInjectedSources`](../../debugger/debug-interface-access/idiaenuminjectedsources.md) Enumerate the various injected sources contained in the data source. -[IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +[`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) Enumerates the various line numbers contained in the data source. -[IDiaEnumSectionContribs](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) +[`IDiaEnumSectionContribs`](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) Enumerates the various section contributions contained in the data source. -[IDiaEnumSegments](../../debugger/debug-interface-access/idiaenumsegments.md) +[`IDiaEnumSegments`](../../debugger/debug-interface-access/idiaenumsegments.md) Enumerates the various segments contained in the data source. -[IDiaEnumSourceFiles](../../debugger/debug-interface-access/idiaenumsourcefiles.md) +[`IDiaEnumSourceFiles`](../../debugger/debug-interface-access/idiaenumsourcefiles.md) Enumerates the various source files contained in the data source. -[IDiaEnumStackFrames](../../debugger/debug-interface-access/idiaenumstackframes.md) +[`IDiaEnumStackFrames`](../../debugger/debug-interface-access/idiaenumstackframes.md) Enumerates the various stack frames available. -[IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) +[`IDiaEnumSymbols`](../../debugger/debug-interface-access/idiaenumsymbols.md) Enumerates the various symbols contained in the data source. -[IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) +[`IDiaEnumSymbolsByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) Enumerates by address the various symbols contained in the data source. -[IDiaEnumTables](../../debugger/debug-interface-access/idiaenumtables.md) +[`IDiaEnumTables`](../../debugger/debug-interface-access/idiaenumtables.md) Enumerates the various tables contained in the data source. -[IDiaFrameData](../../debugger/debug-interface-access/idiaframedata.md) +[`IDiaFrameData`](../../debugger/debug-interface-access/idiaframedata.md) Exposes the details of a stack frame. -[IDiaImageData](../../debugger/debug-interface-access/idiaimagedata.md) +[`IDiaImageData`](../../debugger/debug-interface-access/idiaimagedata.md) Exposes the details of the base location and memory offsets of the module or image. -[IDiaInjectedSource](../../debugger/debug-interface-access/idiainjectedsource.md) +[`IDiaInjectedSource`](../../debugger/debug-interface-access/idiainjectedsource.md) Accesses the program source code stored in the DIA data source. -[IDiaLineNumber](../../debugger/debug-interface-access/idialinenumber.md) +[`IDiaLineNumber`](../../debugger/debug-interface-access/idialinenumber.md) Accesses information that describes the process of mapping from a block of bytes of image text to a source file line number. -[IDiaLoadCallback](../../debugger/debug-interface-access/idialoadcallback.md) +[`IDiaLoadCallback`](../../debugger/debug-interface-access/idialoadcallback.md) Receives callbacks from the DIA symbol locating procedure, thus enabling a user interface to report on the progress of the location attempt. -[IDiaLoadCallback2](../../debugger/debug-interface-access/idialoadcallback2.md) +[`IDiaLoadCallback2`](../../debugger/debug-interface-access/idialoadcallback2.md) Receives callbacks from the DIA symbol locating procedure, allowing restrictions to be imposed on the locating process. -[IDiaPropertyStorage](../../debugger/debug-interface-access/idiapropertystorage.md) +[`IDiaPropertyStorage`](../../debugger/debug-interface-access/idiapropertystorage.md) Allows you to read the persistent properties of a DIA property set. -[IDiaReadExeAtRVACallback](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) +[`IDiaReadExeAtRVACallback`](../../debugger/debug-interface-access/idiareadexeatrvacallback.md) Enables a client application to supply bytes of an executable file as specified by file position. -[IDiaReadExeAtOffsetCallback](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) +[`IDiaReadExeAtOffsetCallback`](../../debugger/debug-interface-access/idiareadexeatoffsetcallback.md) Enables a client application to supply bytes of an executable file as specified by a relative virtual address. -[IDiaSectionContrib](../../debugger/debug-interface-access/idiasectioncontrib.md) +[`IDiaSectionContrib`](../../debugger/debug-interface-access/idiasectioncontrib.md) Retrieves data describing a section contribution, that is, a contiguous block of memory contributed to the image by a compiland. -[IDiaSegment](../../debugger/debug-interface-access/idiasegment.md) +[`IDiaSegment`](../../debugger/debug-interface-access/idiasegment.md) Maps data from the section number to segments of address space. -[IDiaSession](../../debugger/debug-interface-access/idiasession.md) +[`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) Provides a query context for debug symbols. -[IDiaSourceFile](../../debugger/debug-interface-access/idiasourcefile.md) +[`IDiaSessionEx`](../../debugger/debug-interface-access/idiasessionex.md) + +Provides an extended query context for debug symbols. + +[`IDiaSourceFile`](../../debugger/debug-interface-access/idiasourcefile.md) Represents a source file. -[IDiaStackFrame](../../debugger/debug-interface-access/idiastackframe.md) +[`IDiaStackFrame`](../../debugger/debug-interface-access/idiastackframe.md) Exposes the properties of a stack frame. -[IDiaStackWalker](../../debugger/debug-interface-access/idiastackwalker.md) +[`IDiaStackWalker`](../../debugger/debug-interface-access/idiastackwalker.md) Provides methods to do a stack walk using the PDB file. -[IDiaStackWalkFrame](../../debugger/debug-interface-access/idiastackwalkframe.md) +[`IDiaStackWalkFrame`](../../debugger/debug-interface-access/idiastackwalkframe.md) -Maintains stack context between invocations of the [IDiaFrameData::execute](../../debugger/debug-interface-access/idiaframedata-execute.md) method. +Maintains stack context between invocations of the [`IDiaFrameData::execute`](../../debugger/debug-interface-access/idiaframedata-execute.md) method. -[IDiaStackWalkHelper](../../debugger/debug-interface-access/idiastackwalkhelper.md) +[`IDiaStackWalkHelper`](../../debugger/debug-interface-access/idiastackwalkhelper.md) Facilitates walking the stack using the program debug database (PDB) file. -[IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +[`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) Describes the properties of a symbol instance. -[IDiaTable](../../debugger/debug-interface-access/idiatable.md) +[`IDiaTable`](../../debugger/debug-interface-access/idiatable.md) Enumerates a DIA data source table. ## Related Sections + [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) Describes the enumerations and structures used by the various interfaces of the DIA SDK. From 473991a08d585637fc2f26b90bd73b9e698ae922 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Thu, 11 Jul 2024 22:47:40 -0700 Subject: [PATCH 09/25] Finished IDiaSymbol --- .../debug-interface-access/cv-modifier-e.md | 84 ++++ .../enumerations-and-structures.md | 4 + .../idiasymbol-findinputassemblyfile.md | 42 ++ .../idiasymbol-get-backendqfe.md | 54 +++ .../idiasymbol-get-bindid.md | 41 ++ .../idiasymbol-get-bindslot.md | 42 ++ .../idiasymbol-get-bindspace.md | 42 ++ .../idiasymbol-get-characteristics.md | 47 ++ .../idiasymbol-get-coffgroup.md | 42 ++ .../idiasymbol-get-constantexport.md | 43 ++ .../idiasymbol-get-dataexport.md | 43 ++ ...ymbol-get-exceptionhandleraddressoffset.md | 46 ++ ...mbol-get-exceptionhandleraddresssection.md | 46 ++ ...-exceptionhandlerrelativevirtualaddress.md | 46 ++ ...mbol-get-exceptionhandlervirtualaddress.md | 46 ++ ...-get-exporthasexplicitlyassignedordinal.md | 47 ++ .../idiasymbol-get-exportisforwarder.md | 43 ++ .../idiasymbol-get-finallivestaticsize.md | 49 ++ .../idiasymbol-get-framesize.md | 42 ++ .../idiasymbol-get-frontendqfe.md | 54 +++ .../idiasymbol-get-hascontrolflowcheck.md | 43 ++ .../idiasymbol-get-hasvalidpgocounts.md | 43 ++ ...idiasymbol-get-isconstructorvirtualbase.md | 42 ++ .../idiasymbol-get-iscxxreturnudt.md | 41 ++ .../idiasymbol-get-isinterfaceudt.md | 44 ++ ...mbol-get-islocationcontrolflowdependent.md | 41 ++ .../idiasymbol-get-ispgo.md | 43 ++ .../idiasymbol-get-isrefudt.md | 44 ++ .../idiasymbol-get-issafebuffers.md | 3 +- .../idiasymbol-get-isvalueudt.md | 44 ++ .../idiasymbol-get-iswinrtpointer.md | 41 ++ .../idiasymbol-get-modifiervalues.md | 54 +++ .../idiasymbol-get-nonameexport.md | 43 ++ .../idiasymbol-get-numberofmodifiers.md | 4 +- .../idiasymbol-get-numericproperties.md | 85 ++++ .../idiasymbol-get-ordinal.md | 43 ++ ...iasymbol-get-pgodynamicinstructioncount.md | 49 ++ .../idiasymbol-get-pgoedgecount.md | 43 ++ .../idiasymbol-get-pgoentrycount.md | 43 ++ .../idiasymbol-get-phasename.md | 42 ++ .../idiasymbol-get-privatexport.md | 43 ++ .../idiasymbol-get-staticsize.md | 49 ++ .../idiasymbol-get-strictgscheck.md | 43 ++ .../idiasymbol-get-unused.md | 43 ++ .../idiasymbol-get-wasinlined.md | 42 ++ .../debug-interface-access/idiasymbol.md | 428 ++++++++++-------- .../debug-interface-access/udtkind.md | 1 + 47 files changed, 2200 insertions(+), 187 deletions(-) create mode 100644 docs/debugger/debug-interface-access/cv-modifier-e.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-bindid.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-framesize.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-phasename.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-unused.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md diff --git a/docs/debugger/debug-interface-access/cv-modifier-e.md b/docs/debugger/debug-interface-access/cv-modifier-e.md new file mode 100644 index 00000000000..9c0158be478 --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-modifier-e.md @@ -0,0 +1,84 @@ +--- +title: CV_modifier_e +description: Get information about the CV_modifier_e enumeration type, which specifies the modifiers of types in the debug interface access SDK. +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_modifier_e enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# CV_modifier_e + +Specifies the modifiers of types. + +## Syntax + +```c++ +typedef enum CV_modifier_e +{ + CV_MOD_INVALID = 0x0000, + + // Standard modifiers. + + CV_MOD_CONST = 0x0001, + CV_MOD_VOLATILE = 0x0002, + CV_MOD_UNALIGNED = 0x0003, + + // HLSL modifiers. + + CV_MOD_HLSL_UNIFORM = 0x0200, + CV_MOD_HLSL_LINE = 0x0201, + CV_MOD_HLSL_TRIANGLE = 0x0202, + CV_MOD_HLSL_LINEADJ = 0x0203, + CV_MOD_HLSL_TRIANGLEADJ = 0x0204, + CV_MOD_HLSL_LINEAR = 0x0205, + CV_MOD_HLSL_CENTROID = 0x0206, + CV_MOD_HLSL_CONSTINTERP = 0x0207, + CV_MOD_HLSL_NOPERSPECTIVE = 0x0208, + CV_MOD_HLSL_SAMPLE = 0x0209, + CV_MOD_HLSL_CENTER = 0x020a, + CV_MOD_HLSL_SNORM = 0x020b, + CV_MOD_HLSL_UNORM = 0x020c, + CV_MOD_HLSL_PRECISE = 0x020d, + CV_MOD_HLSL_UAV_GLOBALLY_COHERENT = 0x020e, + +} CV_modifier_e; +``` + +## Elements + +| Element | Description | +| ------------ | ---------------------------- | +| `CV_MOD_INVALID` | Invalid modifier (unused) | +| `CV_MOD_CONST` | C++ `const` | +| `CV_MOD_CONST` | C++ `volatile` | +| `CV_MOD_HLSL_UNIFORM` | HLSL uniform | +| `CV_MOD_HLSL_LINE` | HLSL line | +| `CV_MOD_HLSL_TRIANGLE` | HLSL triangle | +| `CV_MOD_HLSL_LINEADJ` | HLSL lineadj | +| `CV_MOD_HLSL_TRIANGLEADJ` | HLSL triangeadj | +| `CV_MOD_HLSL_LINEAR` | HLSL linear | +| `CV_MOD_HLSL_CENTROID` | HLSL centroid | +| `CV_MOD_HLSL_CONSTINTERP` | HLSL constinterp | +| `CV_MOD_HLSL_NOPERSPECTIVE` | HLSL noperspective | +| `CV_MOD_HLSL_SAMPLE` | HLSL sample | +| `CV_MOD_HLSL_CENTER` | HLSL center | +| `CV_MOD_HLSL_SNORM` | HLSL snorm | +| `CV_MOD_HLSL_UNORM` | HLSL unorm | +| `CV_MOD_HLSL_PRECISE` | HLSL precise | +| `CV_MOD_HLSL_UAV_GLOBALLY_COHERENT` | HLSL UAV globally coherent | + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [IDiaSymbol::get_modifierValues](../../debugger/debug-interface-access/idiasymbol-get-modifiervalues.md) diff --git a/docs/debugger/debug-interface-access/enumerations-and-structures.md b/docs/debugger/debug-interface-access/enumerations-and-structures.md index 3e54f1dc4b2..d3f32f6ff02 100644 --- a/docs/debugger/debug-interface-access/enumerations-and-structures.md +++ b/docs/debugger/debug-interface-access/enumerations-and-structures.md @@ -48,6 +48,10 @@ Specifies the target processor. Specifies a target register. +- [`CV_modifier_e`](../../debugger/debug-interface-access/cv-modifier-e.md) + +Specifies type modifers. + - [DataKind Enumeration](../../debugger/debug-interface-access/datakind.md) Indicates the particular scope of a data value. diff --git a/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md b/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md new file mode 100644 index 00000000000..356e84b313f --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the .NET Native input assembly file that is the parent of the symbol." +title: "IDiaSymbol::findInputAssemblyFile" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::findInputAssemblyFile method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::findInputAssemblyFile` + +Retrieves the .NET Native input assembly file that is the parent of the symbol. + +## Syntax + +```C++ +HRESULT findInputAssemblyFile( + [out] IDiaInputAssemblyFile** ppResult); +``` + +#### Parameters + + `ppResult` + +[out] Returns the [IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the symbol did not come from a .NET native input assembly. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md b/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md new file mode 100644 index 00000000000..f37461e8105 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md @@ -0,0 +1,54 @@ +--- +description: "Retrieves the back end QFE number of the compiler." +title: "IDiaSymbol::get_backEndQFE" +ms.date: "07/05/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_backEndQFE method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_backEndQFE` + +Retrieves the back end QFE number of the compiler. + +## Syntax + +```C++ +HRESULT get_backEndQFE (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the back end QFE number. See Remarks. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + + A compiler is typically composed of two primary elements: the front end (the parser), which handles parsing the source code into an intermediate form, and a back end (code generator), which converts the intermediate form into assembly. It is not uncommon for the front end to have a different version than the back end. + + A front end or back end version number is composed of three parts: \.\.\.\, where \ is the major version number, \ is the minor version number, \ is the build number, and \ if the quick-fix engineering (QFE) number. For example, 19.40.33731.1. + +## Requirements + +|Requirement|Description| +|-----------------|-----------------| +|Header:|dia2.h| +|Version:|DIA SDK v14.0| + +## See also +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md b/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md new file mode 100644 index 00000000000..829827e925d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md @@ -0,0 +1,41 @@ +--- +description: "Retrieves the binding register index." +title: "IDiaSymbol::get_binID" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_bindID method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_bindID` + +Retrieves the binding register index. + +## Syntax + +```C++ +HRESULT get_backEndQFE (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the binding register index. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md b/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md new file mode 100644 index 00000000000..b70de9d0c3a --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the lower bound in binding space." +title: "IDiaSymbol::get_bindSlot" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_bindSlot method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_bindSlot` + +Retrieves the lower bound in binding space. + +## Syntax + +```C++ +HRESULT get_bindSlot ( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the lower bound in binding space. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md b/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md new file mode 100644 index 00000000000..f456134d760 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the binding space." +title: "IDiaSymbol::get_bindSpace" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_bindSpace method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_bindSpace` + +Retrives the binding space. + +## Syntax + +```C++ +HRESULT get_bindSpace ( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the binding space. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md b/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md new file mode 100644 index 00000000000..80336a6c9a7 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md @@ -0,0 +1,47 @@ +--- +description: "Retrieves the characteristics of this COFF section." +title: "IDiaSymbol::get_characteristics" +ms.date: "07/11/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_characteristics method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_characteristics` + +Retrieves the characteristics of this COFF section. + +## Syntax + +```C++ +HRESULT get_characteristics (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the characteristics of this COFF section. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +The `DWORD` can contain values defined in `winnt.h` such as `IMAGE_SCN_CNT_INITIALIZED_DATA` or `IMAGE_SCN_MEM_READ` bitwise or'ed together. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +-[IMAGE_SECTION_HEADER structure (winnt.h)](/windows/win32/api/winnt/ns-winnt-image_section_header) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md b/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md new file mode 100644 index 00000000000..f8f59ec2977 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the COFF group symbol this symbol comes from." +title: "IDiaSymbol::get_coffGroup" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_coffGroup method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_coffGroup` + +Retrieves the COFF group symbol this symbol comes from. + +## Syntax + +```C++ +HRESULT get_coffGroup (  + IDiaSymbol** pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the `IDiaSymbol*` that represents the the COFF group that this symbols comes from. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md new file mode 100644 index 00000000000..6fb6210dd47 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this export is CONSTANT." +title: "IDiaSymbol::get_constantExport" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_constantExport method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_constantExport` + +Retrieves a flag indicating whether this export is `CONSTANT`. + +## Syntax + +```C++ +HRESULT get_contantExport (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the export symbol is marked as `CONSTANT`; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md new file mode 100644 index 00000000000..3db2739f4f0 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this export is DATA." +title: "IDiaSymbol::get_dataExport" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_dataExport method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_dataExport` + +Retrieves a flag indicating whether this export is `DATA`. + +## Syntax + +```C++ +HRESULT get_privateExport (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the export symbol is marked as `DATA`; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md new file mode 100644 index 00000000000..df9154ded9a --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves the section offset of the exception handler of this function." +title: "IDiaSymbol::get_exceptionHandlerAddressOffset" +ms.date: "07/11/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_exceptionHandlerAddressOffset method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_exceptionHandlerAddressOffset` + +Retrieves the section offset of the exception handler of this function. + +## Syntax + +```C++ +HRESULT get_exceptionHandlerAddressOffset (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the section offset of this function's exception handler. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +For machines that do not use `.pdata` and `.xdata` for exception and unwind information (currently only x86), this method can be used to retrieve the address of the per-function exception inforation. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md new file mode 100644 index 00000000000..bb904072521 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves the section number of the exception handler of this function." +title: "IDiaSymbol::get_exceptionHandlerAddressSection" +ms.date: "07/11/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_exceptionHandlerAddressSection method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_exceptionHandlerAddressSection` + +Retrieves the section number of the exception handler of this function. + +## Syntax + +```C++ +HRESULT get_exceptionHandlerAddressSection (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the section number of this function's exception handler. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +For machines that do not use `.pdata` and `.xdata` for exception and unwind information (currently only x86), this method can be used to retrieve the address of the per-function exception inforation. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md new file mode 100644 index 00000000000..a40a3a5ae1b --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves the relative virtual address (RVA) of the exception handler of this function." +title: "IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress" +ms.date: "07/11/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress` + +Retrieves the relative virtual address (RVA) of the exception handler of this function. + +## Syntax + +```C++ +HRESULT get_exceptionHandlerRelativeVirtualAddress (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the relative virtual address (RVA) of this function's exception handler. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +For machines that do not use `.pdata` and `.xdata` for exception and unwind information (currently only x86), this method can be used to retrieve the address of the per-function exception inforation. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md new file mode 100644 index 00000000000..359b8a0df92 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves the virtual address of the exception handler of this function." +title: "IDiaSymbol::get_exceptionHandlerVirtualAddress" +ms.date: "07/11/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_exceptionHandlerVirtualAddress method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_exceptionHandlerVirtualAddress` + +Retrieves the virtual address of the exception handler of this function. + +## Syntax + +```C++ +HRESULT get_exceptionHandlerVirtualAddress (  + ULONGLONG* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the virtual address of this function's exception handler. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +For machines that do not use `.pdata` and `.xdata` for exception and unwind information (currently only x86), this method can be used to retrieve the address of the per-function exception inforation. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md b/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md new file mode 100644 index 00000000000..6f0ca901a47 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md @@ -0,0 +1,47 @@ +--- +description: "Retrieves a flag indicating whether this export has an explicitly assigned ordinal." +title: "IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal` + +Retrieves a flag indicating whether this export has an explicitly assigned ordinal. + +## Syntax + +```C++ +HRESULT get_exportHasExplicitlyAssignedOrdinal( + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the export symbol is marked has an explicitly assigned ordinal; otherwise, returns `FALSE`. See remarks. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +All exports have an ordinal. Use this method to determine if the ordinal is implicitly defined by the linker, or if it was explicitly defined by the user using the `@ordinal` syntax. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md b/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md new file mode 100644 index 00000000000..fd3016a67be --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this export is a forwarder." +title: "IDiaSymbol::get_exportIsForwarder" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_exportIsForwarder method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_exportIsForwarder` + +Retrieves a flag indicating whether this export is a forwarder. + +## Syntax + +```C++ +HRESULT get_exportIsForwarder (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the export symbol is forwarded to another export in another module; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md b/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md new file mode 100644 index 00000000000..4effb40a986 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md @@ -0,0 +1,49 @@ +--- +description: "Retrieves the final static size of live function, after inlining." +title: "IDiaSymbol::get_finalLiveStaticSize" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_finalLiveStaticSize method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_finalLiveStaticSize` + +Retrieves the final static size of live function, after inlining. + +## Syntax + +```C++ +HRESULT get_finalLiveStaticSize (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the count of live instructions in the function. See remarks. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +This is the number of live instructions in the function. For the training profile in use, only instructions that are executed at least once are counted as live. To get the total size of the function, including dead instructions (i.e. instructions never executed by the training data), use [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md). To get the number of instructions executed in this function use [`IDiaSymbol::get_PGODynamicInstructionCount`](../../debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md). + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md) +- [`IDiaSymbol::get_PGODynamicInstructionCount`](../../debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md b/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md new file mode 100644 index 00000000000..056b2280035 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the frame size." +title: "IDiaSymbol::get_frameSize" +ms.date: "07/11/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_frameSize method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_frameSize` + +Retrieves the frame size. + +## Syntax + +```C++ +HRESULT get_frameSize (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the total size, in bytes, of the functions fixed stacke frame allocation. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md b/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md new file mode 100644 index 00000000000..3789425eb46 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md @@ -0,0 +1,54 @@ +--- +description: "Retrieves the front end QFE number of the compiler." +title: "IDiaSymbol::get_frontEndQFE" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_frontEndQFE method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_frontEndQFE` + +Retrieves the front end QFE number of the compiler. + +## Syntax + +```C++ +HRESULT get_frontEndQFE (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the front end QFE number. See Remarks. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + + A compiler is typically composed of two primary elements: the front end (the parser), which handles parsing the source code into an intermediate form, and a back end (code generator), which converts the intermediate form into assembly. It is not uncommon for the front end to have a different version than the back end. + + A front end or back end version number is composed of three parts: \.\.\.\, where \ is the major version number, \ is the minor version number, \ is the build number, and \ if the quick-fix engineering (QFE) number. For example, 19.40.33731.1. + +## Requirements + +|Requirement|Description| +|-----------------|-----------------| +|Header:|dia2.h| +|Version:|DIA SDK v14.0| + +## See also +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md b/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md new file mode 100644 index 00000000000..dae365580d2 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this function contains control flow checks." +title: "IDiaSymbol::get_get_hasControlFlowCheck" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_get_hasControlFlowCheck method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_get_hasControlFlowCheck` + +Retrieves a flag indicating whether this function contains control flow checks. + +## Syntax + +```C++ +HRESULT get_get_hasControlFlowCheck (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this function was compiled with `/guard:cf`; otherwase, returns `FALSE'. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`/guard` (Enable Control Flow Guard)](/cpp/build/reference/guard-enable-control-flow-guard) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md b/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md new file mode 100644 index 00000000000..06060c119f1 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this symbols has valid profile-guided optimizations (PGO) counts." +title: "IDiaSymbol::get_hasValidPGOCounts" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_hasValidPGOCounts method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_hasValidPGOCounts` + +Retrieves a flag indicating whether this symbols has valid profile-guided optimizations (PGO) counts. + +## Syntax + +```C++ +HRESULT get_isget_hasValidPGOCountsPGO (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this function has valid profile-guided optimization counts from a training scenario; otheriwse, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md b/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md new file mode 100644 index 00000000000..eaaf5ca5370 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves a flag indicating whether this is an instance constructor of a class with virtual base." +title: "IDiaSymbol::get_isConstructorVirtualBase" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isConstructorVirtualBase method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isConstructorVirtualBase` + +Retrieves a flag indicating whether this is an instance constructor of a class with virtual base. + +## Syntax + +```C++ +HRESULT get_isConstructorVirtualBase (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if This constructor has a hidden param to control initialization of virtual bases; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md new file mode 100644 index 00000000000..06ecd346312 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md @@ -0,0 +1,41 @@ +--- +description: "Retrieves a flag indicating whether return C++ style UDT." +title: "IDiaSymbol::get_isCxxReturnUdt" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isCxxReturnUdt method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isCxxReturnUdt` + +Retrieves a flag indicating whether return C++ style UDT. + +## Syntax + +```C++ +HRESULT get_isCxxReturnUdt (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the function's return parameter is using C++ semmantics where the caller must pass a buffer for the UDT to be constructed in-place; otherwise returns `FALSE` when the function return is using C-semmantics (return-by-value). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md new file mode 100644 index 00000000000..5da47c6ebfa --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a flag indicating whether this is a WinRT interface user-defined type (UDT)." +title: "IDiaSymbol::get_isInterfaceUdt" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isInterfaceUdt method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isInterfaceUdt` + +Retrieves a flag indicating whether this is a WinRT interface user-defined type (UDT). + +## Syntax + +```C++ +HRESULT get_isInterfaceUdt (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this symbol is a WinRT interface class/struct; otherwise, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_isRefUdt`](../../debugger/debug-interface-access/idiasymbol-get-isrefudt.md) +- [`IDiaSymbol::get_isValueUdt`](../../debugger/debug-interface-access/idiasymbol-get-isvalueudt.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md b/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md new file mode 100644 index 00000000000..ef4c3cbaa9d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md @@ -0,0 +1,41 @@ +--- +description: "Retrieves a flag indicating whether a local symbol's location liveness is dependent upon the control flow of the function." +title: "IDiaSymbol::get_isLocationControlFlowDependent" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isLocationControlFlowDependent method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isLocationControlFlowDependent` + +Retrieves a flag indicating whether a local symbol's location liveness is dependent upon the control flow of the function. + +## Syntax + +```C++ +HRESULT get_isLocationControlFlowDependent (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the current symbol location is only live or valid depending upon the control flow followed to reach this address; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md b/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md new file mode 100644 index 00000000000..5c224a83230 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether profile-guided optimizations (PGO) were performed for this function." +title: "IDiaSymbol::get_isPGO" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isPGO method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isPGO` + +Retrieves a flag indicating whether profile-guided optimizations (PGO) were performed for this function. + +## Syntax + +```C++ +HRESULT get_isPGO (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if profile-guided optimizations were performed for this function; otheriwse, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md new file mode 100644 index 00000000000..065942316cd --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a flag indicating whether this is a WinRT reference user-defined type (UDT)." +title: "IDiaSymbol::get_isRefUdt" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isRefUdt method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isRefUdt` + +Retrieves a flag indicating whether this is a WinRT reference user-defined type (UDT). + +## Syntax + +```C++ +HRESULT get_isRefUdt (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this symbol is a WinRT reference class/struct; otherwise, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_isInterfaceUdt`](../../debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md) +- [`IDiaSymbol::get_isValueUdt`](../../debugger/debug-interface-access/idiasymbol-get-isvalueudt.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md b/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md index 51d9fd97718..700f5e31f69 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md @@ -46,4 +46,5 @@ HRESULT get_isSafeBuffers(  ## See also - [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) -- [strict_gs_check](/cpp/preprocessor/strict-gs-check) +- [`safebuffers`](/cpp/cpp/safebuffers) +- [`strict_gs_check` pragma](/cpp/preprocessor/strict-gs-check) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md new file mode 100644 index 00000000000..1e55eb773ad --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a flag indicating whether this is a WinRT value user-defined type (UDT)." +title: "IDiaSymbol::get_isValueUdt" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isValueUdt method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isValueUdt` + +Retrieves a flag indicating whether this is a WinRT value user-defined type (UDT). + +## Syntax + +```C++ +HRESULT get_isValueUdt (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this symbol is a WinRT value class/struct; otherwise, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_isInterfaceUdt`](../../debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md) +- [`IDiaSymbol::get_isRefUdt`](../../debugger/debug-interface-access/idiasymbol-get-isrefudt.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md b/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md new file mode 100644 index 00000000000..e2f0987cda5 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md @@ -0,0 +1,41 @@ +--- +description: "Retrieves a flag indicating whether this is a WinRT pointer type." +title: "IDiaSymbol::get_isWinRTPointer" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isWinRTPointer method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isWinRTPointer` + +Retrieves a flag indicating whether this is a WinRT pointer type. + +## Syntax + +```C++ +HRESULT get_isWinRTPointer (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the symbol is a WinRT pointer; otherwise, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md b/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md new file mode 100644 index 00000000000..6edda3c9d37 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md @@ -0,0 +1,54 @@ +--- +description: "Retrieves the set of modifers for this symbol." +title: "IDiaSymbol::get_modifierValues" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_modifierValues method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_modifierValues` + +Retrieves the total invocation count in PGO training. + +## Syntax + +```C++ +HRESULT get_modifierValues( + DWORD cnt, + DWORD *pcnt, + DWORD *pModifiers +); +``` + +#### Parameters + + `cnt` + +[in] The number of DWORDs pointed to by the buffer `pModifiers`. + + `pcnt` + +[out] Returns the number of valid properties set in `pModifiers`. + + `pModifiers` + +[out] Returns an array of [`CV_modifier_e`](../../debugger/debug-interface-access/cv-modifier-e.md) values. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`CV_modifier_e`](../../debugger/debug-interface-access/cv-modifier-e.md) +- [`IDiaSymbol::get_numberOfModifers`](../../debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md new file mode 100644 index 00000000000..ddac5b8fda2 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this export is NONAME." +title: "IDiaSymbol::get_noNameExport" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_noNameExport method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_noNameExport` + +Retrieves a flag indicating whether this export is `NONAME`. + +## Syntax + +```C++ +HRESULT get_noNameExport (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the export symbol is marked as `NONAME`; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md b/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md index 25c0aac6322..0f4491b12e3 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md @@ -30,4 +30,6 @@ HRESULT get_numberOfModifiers( If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. ## See also -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_modifierValues`](../../debugger/debug-interface-access/idiasymbol-get-modifiervalues.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md b/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md new file mode 100644 index 00000000000..841515e671e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md @@ -0,0 +1,85 @@ +--- +description: "Retrieves the set of numeric properties for this symbol." +title: "IDiaSymbol::get_numericProperties" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_numericProperties method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_numericProperties` + +Retrieves the set of numeric properties for this symbol. + +## Syntax + +```C++ +HRESULT get_numericProperties( + DWORD cnt, + DWORD *pcnt, + DWORD *pProperties +); +``` + +#### Parameters + + `cnt` + +[in] The number of DWORDs pointed to by the buffer `pProperties`. + + `pcnt` + +[out] Returns the number of valid properties set in `pProperties`. + + `pProperties` + +[out] Returns the set of properties for this symbol. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Example + +```C++ +CComPtr pSymbol; +BOOL f = FALSE; +HRESULT hr = E_FAIL; +... + +hr = pSymbol->get_isHLSLData(&f); +if (FAILED(hr)) { + return hr; +} +if (f) { + DWORD value = 0; + hr = pSymbol->get_numberOfRegisterIndices(&value); + if (hr == S_OK && value > 0) { + DWORD *pOff = new (std::nothrow) DWORD[value]; + if (pOff == NULL) { + return E_OUTOFMEMORY; + } + DWORD propertiesRead; + if (IfOkOrReportAuto(pSymbol->get_numericProperties(value, &propertiesRead, pOff))) { + value = __min(value, propertiesRead); + for (DWORD i = 0; i < value; i++) { + printf("%u\n", pOff[i]); + } + } + delete[] pOff; + } +} +``` + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_numberOfRegisterIndices`](../../debugger/debug-interface-access/idiasymbol-get-numberofregisterindices.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md b/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md new file mode 100644 index 00000000000..1404125d6aa --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves the ordinal of this export." +title: "IDiaSymbol::get_ordinal" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_ordinal method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_ordinal` + +Retrieves the ordinal of this export. + +## Syntax + +```C++ +HRESULT get_ordinal (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the ordinal of this export. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md b/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md new file mode 100644 index 00000000000..c914986f94d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md @@ -0,0 +1,49 @@ +--- +description: "Retrieves the dynamic instruction count calculated by training." +title: "IDiaSymbol::get_PGODynamicInstructionCount" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_PGODynamicInstructionCount method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_PGODynamicInstructionCount` + +Retrieves the dynamic instruction count calculated by training. + +## Syntax + +```C++ +HRESULT get_PGODynamicInstructionCount (  + ULONGLONG* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the count of dynamic instructions executed during training. See remarks. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +This is the number of instructions in the function that were executed during training. FOr example if two instructions were executed twice each, this would return a dynamic instruction count of 4, meaning 4 instructions were executed during the training. To get the total size of the function, including dead instructions (i.e. instructions never executed by the training data), use [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md). To get the number of live instructions, not multiplied by execution counts, use [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finalivestaticsize.md). + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md) +- [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finalivestaticsize.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md b/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md new file mode 100644 index 00000000000..b57759aa9b2 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves the edge count between a caller/callee and it's parent." +title: "IDiaSymbol::get_PGOEdgeCount" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_PGOEdgeCount method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_PGOEdgeCount` + +Retrieves the edge count between a caller/callee and it's parent. + +## Syntax + +```C++ +HRESULT get_PGOEdgeCount (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the edge count between a caller/calle. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md b/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md new file mode 100644 index 00000000000..2282f8bcb0f --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves the total invocation count in PGO training." +title: "IDiaSymbol::get_PGOEntryCount" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_PGOEntryCount method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_PGOEntryCount` + +Retrieves the total invocation count in PGO training. + +## Syntax + +```C++ +HRESULT get_PGOEntryCount (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the total invocation count in PGO training. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md b/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md new file mode 100644 index 00000000000..7b13ad9adf1 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the phase this function is a member of for PGO multiphased builds." +title: "IDiaSymbol::get_phaseName" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_phaseName method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_phaseName` + +Retrieves the phase this function is a member of for PGO multiphased builds. + +## Syntax + +```C++ +HRESULT get_phaseName (  + BSTR* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the phase name. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also +- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md new file mode 100644 index 00000000000..73e2cda1690 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this export is PRIVATE." +title: "IDiaSymbol::get_privateExport" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_privateExport method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_privateExport` + +Retrieves a flag indicating whether this export is `PRIVATE`. + +## Syntax + +```C++ +HRESULT get_privateExport (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the export symbol is marked as `PRIVATE`; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`EXPORTS`](/cpp/build/reference/exports) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md b/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md new file mode 100644 index 00000000000..81807e1e12e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md @@ -0,0 +1,49 @@ +--- +description: "Retrieves the static instruction count." +title: "IDiaSymbol::get_staticSize" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_staticSize method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_staticSize` + +Retrieves the static instruction count. + +## Syntax + +```C++ +HRESULT get_staticSize (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the count of instructions in the function. See remarks, + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +This is the total number of instructions in the function. To get only the count of live instructions, use [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md). To get the number of instructions executed in this function use [`IDiaSymbol::get_PGODynamicInstructionCount`](../../debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md). + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md) +- [`IDiaSymbol::get_PGODynamicInstructionCount`](../../debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md) +- [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md b/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md new file mode 100644 index 00000000000..1af48f57c76 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether this function was compiled with strict_gs_check pragma enabled" +title: "IDiaSymbol::get_strictGSCheck" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_strictGSCheck method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_strictGSCheck` + +Retrieves a flag indicating whether this function was compiled with [`strict_gs_check` pragma](/cpp/preprocessor/strict-gs-check) enabled. + +## Syntax + +```C++ +HRESULT get_strictGSCheck (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the function was compiled with [`strict_gs_check` pragma](/cpp/preprocessor/strict-gs-check) enabled; otherwise, `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`strict_gs_check` pragma](/cpp/preprocessor/strict-gs-check) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-unused.md b/docs/debugger/debug-interface-access/idiasymbol-get-unused.md new file mode 100644 index 00000000000..9fd7110e23b --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-unused.md @@ -0,0 +1,43 @@ +--- +description: "Deprecated function." +title: "IDiaSymbol::get_unused" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_unused method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_unused` + +Deprecated function. + +## Syntax + +```C++ +HRESULT get_unused (  + BSTR* pReserved +); +``` + +#### Parameters + + `pReserved` + +[out] Unused + +## Return Value + + Always returns `E_NOTIMPL`; + +## Remarks + + This method is deprecated. It should not be called, and always fails. It exists soleyl to maintain compatibility with vtable ordering as expected by older clients. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md b/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md new file mode 100644 index 00000000000..415d17ddcbd --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves a flag indicating whether this function symbol was inlined into another function." +title: "IDiaSymbol::get_wasInlined" +ms.date: "07/09/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_wasInlined method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_wasInlined` + +Retrieves a flag indicating whether this function symbol was inlined into another function. + +## Syntax + +```C++ +HRESULT get_wasInlined (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the function was inlined; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol.md b/docs/debugger/debug-interface-access/idiasymbol.md index aa235166e19..6b4dae4320e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol.md +++ b/docs/debugger/debug-interface-access/idiasymbol.md @@ -1,7 +1,7 @@ --- description: "Describes the properties of a symbol instance." title: "IDiaSymbol" -ms.date: "11/04/2016" +ms.date: "07/08/2024" ms.topic: "reference" dev_langs: - "C++" @@ -23,6 +23,7 @@ IDiaSymbol : IUnknown ``` ## Methods in Alphabetical Order + The following table shows the methods of `IDiaSymbol`. > [!NOTE] @@ -30,193 +31,247 @@ The following table shows the methods of `IDiaSymbol`. |Method|Description| |------------|-----------------| -|[IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md)|Retrieves all children of the symbol.| -|[IDiaSymbol::findChildrenEx](../../debugger/debug-interface-access/idiasymbol-findchildrenex.md)|Retrieves the children of the symbol. This method is the extended version of [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md).| -|[IDiaSymbol::findChildrenExByAddr](../../debugger/debug-interface-access/idiasymbol-findchildrenexbyaddr.md)|Retrieves the children of the symbol that are valid at a specified address.| -|[IDiaSymbol::findChildrenExByRVA](../../debugger/debug-interface-access/idiasymbol-findchildrenexbyrva.md)|Retrieves the children of the symbol that are valid at a specified relative virtual address (RVA).| -|[IDiaSymbol::findChildrenExByVA](../../debugger/debug-interface-access/idiasymbol-findchildrenexbyva.md)|Retrieves the children of the symbol that are valid at a specified virtual address.| -|[IDiaSymbol::findInlineFramesByAddr](../../debugger/debug-interface-access/idiasymbol-findinlineframesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a given address.| -|[IDiaSymbol::findInlineFramesByRVA](../../debugger/debug-interface-access/idiasymbol-findinlineframesbyrva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified relative virtual address (RVA).| -|[IDiaSymbol::findInlineFramesByVA](../../debugger/debug-interface-access/idiasymbol-findinlineframesbyva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified virtual address (VA).| -|[IDiaSymbol::findInlineeLines](../../debugger/debug-interface-access/idiasymbol-findinlineelines.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol.| -|[IDiaSymbol::findInlineeLinesByAddr](../../debugger/debug-interface-access/idiasymbol-findinlineelinesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol within the specified address range.| -|[IDiaSymbol::findInlineeLinesByRVA](../../debugger/debug-interface-access/idiasymbol-findinlineelinesbyrva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol within the specified relative virtual address (RVA).| -|[IDiaSymbol::findInlineeLinesByVA](../../debugger/debug-interface-access/idiasymbol-findinlineelinesbyva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol within the specified virtual address (VA).| -|[IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag](../../debugger/debug-interface-access/idiasymbol-findsymbolsbyrvaforacceleratorpointertag.md)|Given a corresponding tag value, this method returns an enumeration of symbols that are contained in this stub function at a specified relative virtual address.| -|[IDiaSymbol::findSymbolsForAcceleratorPointerTag](../../debugger/debug-interface-access/idiasymbol-findsymbolsforacceleratorpointertag.md)|Returns the number of accelerator pointer tags in a C++ AMP stub function.| -|[IDiaSymbol::get_acceleratorPointerTags](../../debugger/debug-interface-access/idiasymbol-get-acceleratorpointertags.md)|Returns all accelerator pointer tag values that correspond to a C++ AMP accelerator stub function.| -|[IDiaSymbol::get_access](../../debugger/debug-interface-access/idiasymbol-get-access.md)|Retrieves the access modifier of a class member.| -|[IDiaSymbol::get_addressOffset](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md)|Retrieves the offset part of an address location.| -|[IDiaSymbol::get_addressSection](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md)|Retrieves the section part of an address location.| -|[IDiaSymbol::get_addressTaken](../../debugger/debug-interface-access/idiasymbol-get-addresstaken.md)|Retrieves a flag indicating whether another symbol references this address.| -|[IDiaSymbol::get_age](../../debugger/debug-interface-access/idiasymbol-get-age.md)|Retrieves the age value of a program database.| -|[IDiaSymbol::get_arrayIndexType](../../debugger/debug-interface-access/idiasymbol-get-arrayindextype.md)|Retrieves the symbol identifier of the array index type.| -|[IDiaSymbol::get_arrayIndexTypeId](../../debugger/debug-interface-access/idiasymbol-get-arrayindextypeid.md)|Retrieves the array index type identifier of the symbol.| -|[IDiaSymbol::get_backEndMajor](../../debugger/debug-interface-access/idiasymbol-get-backendmajor.md)|Retrieves the back-end major version number.| -|[IDiaSymbol::get_backEndMinor](../../debugger/debug-interface-access/idiasymbol-get-backendminor.md)|Retrieves the back-end minor version number.| -|[IDiaSymbol::get_backEndBuild](../../debugger/debug-interface-access/idiasymbol-get-backendbuild.md)|Retrieves the back-end build number.| -|[IDiaSymbol::get_baseDataOffset](../../debugger/debug-interface-access/idiasymbol-get-basedataoffset.md)|Retrieves the base data offset.| -|[IDiaSymbol::get_baseDataSlot](../../debugger/debug-interface-access/idiasymbol-get-basedataslot.md)|Retrieves the base data slot.| -|[IDiaSymbol::get_baseSymbol](../../debugger/debug-interface-access/idiasymbol-get-basesymbol.md)|Retrieves the symbol from which the pointer is based.| -|[IDiaSymbol::get_baseSymbolId](../../debugger/debug-interface-access/idiasymbol-get-basesymbolid.md)|Retrieves the symbol ID from which the pointer is based.| -|[IDiaSymbol::get_baseType](../../debugger/debug-interface-access/idiasymbol-get-basetype.md)|Retrieves the type tag of a simple type.| -|[IDiaSymbol::get_bitPosition](../../debugger/debug-interface-access/idiasymbol-get-bitposition.md)|Retrieves the bit position of a location.| -|[IDiaSymbol::get_builtInKind](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md)|Retrieves a built-in kind of the HLSL type.| -|[IDiaSymbol::get_callingConvention](../../debugger/debug-interface-access/idiasymbol-get-callingconvention.md)|Returns an indicator of a method's calling convention.| -|[IDiaSymbol::get_classParent](../../debugger/debug-interface-access/idiasymbol-get-classparent.md)|Retrieves a reference to the class parent of the symbol.| -|[IDiaSymbol::get_classParentId](../../debugger/debug-interface-access/idiasymbol-get-classparentid.md)|Retrieves the class parent identifier of the symbol.| -|[IDiaSymbol::get_code](../../debugger/debug-interface-access/idiasymbol-get-code.md)|Retrieves a flag indicating whether the symbol refers to a code address.| -|[IDiaSymbol::get_compilerGenerated](../../debugger/debug-interface-access/idiasymbol-get-compilergenerated.md)|Retrieves a flag indicating whether the symbol was compiler-generated.| -|[IDiaSymbol::get_compilerName](../../debugger/debug-interface-access/idiasymbol-get-compilername.md)|Retrieves the name of the compiler used to create the [Compiland](../../debugger/debug-interface-access/compiland.md).| -|[IDiaSymbol::get_constructor](../../debugger/debug-interface-access/idiasymbol-get-constructor.md)|Retrieves a flag indicating whether the user-defined data type has a constructor.| -|[IDiaSymbol::get_container](../../debugger/debug-interface-access/idiasymbol-get-container.md)|Retrieves the containing symbol of this symbol.| -|[IDiaSymbol::get_constType](../../debugger/debug-interface-access/idiasymbol-get-consttype.md)|Retrieves a flag indicating whether the user-defined data type is constant.| -|[IDiaSymbol::get_count](../../debugger/debug-interface-access/idiasymbol-get-count.md)|Retrieves the number of items in a list or array.| -|[IDiaSymbol::get_countLiveRanges](../../debugger/debug-interface-access/idiasymbol-get-countliveranges.md)|Retrieves the number of valid address ranges associated with the local symbol.| -|[IDiaSymbol::get_customCallingConvention](../../debugger/debug-interface-access/idiasymbol-get-customcallingconvention.md)|Retrieves a flag indicating whether the function uses a custom calling convention.| -|[IDiaSymbol::get_dataBytes](../../debugger/debug-interface-access/idiasymbol-get-databytes.md)|Retrieves the data bytes of an OEM symbol.| -|[IDiaSymbol::get_dataKind](../../debugger/debug-interface-access/idiasymbol-get-datakind.md)|Retrieves the variable classification of a data symbol.| -|[IDiaSymbol::get_editAndContinueEnabled](../../debugger/debug-interface-access/idiasymbol-get-editandcontinueenabled.md)|Retrieves the flag describing the Edit and Continue features of the compiled program or unit.| -|[IDiaSymbol::get_farReturn](../../debugger/debug-interface-access/idiasymbol-get-farreturn.md)|Retrieves a flag indicating whether the function uses a far return.| -|[IDiaSymbol::get_frontEndMajor](../../debugger/debug-interface-access/idiasymbol-get-frontendmajor.md)|Retrieves the front-end major version number.| -|[IDiaSymbol::get_frontEndMinor](../../debugger/debug-interface-access/idiasymbol-get-frontendminor.md)|Retrieves the front-end minor version number.| -|[IDiaSymbol::get_frontEndBuild](../../debugger/debug-interface-access/idiasymbol-get-frontendbuild.md)|Retrieves the front-end build number.| -|[IDiaSymbol::get_function](../../debugger/debug-interface-access/idiasymbol-get-function.md)|Retrieves a flag indicating whether the public symbol refers to a function.| -|[IDiaSymbol::get_guid](../../debugger/debug-interface-access/idiasymbol-get-guid.md)|Retrieves the symbol's GUID.| -|[IDiaSymbol::get_hasAlloca](../../debugger/debug-interface-access/idiasymbol-get-hasalloca.md)|Retrieves a flag indicating whether the function contains a call to `alloca`.| -|[IDiaSymbol::get_hasAssignmentOperator](../../debugger/debug-interface-access/idiasymbol-get-hasassignmentoperator.md)|Retrieves a flag indicating whether the user-defined data type has any assignment operators defined.| -|[IDiaSymbol::get_hasCastOperator](../../debugger/debug-interface-access/idiasymbol-get-hascastoperator.md)|Retrieves a flag indicating whether the user-defined data type has any cast operators defined.| -|[IDiaSymbol::get_hasDebugInfo](../../debugger/debug-interface-access/idiasymbol-get-hasdebuginfo.md)|Retrieves a flag indicating whether the compiland contains any debugging information.| -|[IDiaSymbol::get_hasEH](../../debugger/debug-interface-access/idiasymbol-get-haseh.md)|Retrieves a flag indicating whether the function has a C++-style exception handler.| -|[IDiaSymbol::get_hasEHa](../../debugger/debug-interface-access/idiasymbol-get-haseha.md)|Retrieves a flag indicating whether the function has an asynchronous exception handler.| -|[IDiaSymbol::get_hasInlAsm](../../debugger/debug-interface-access/idiasymbol-get-hasinlasm.md)|Retrieves a flag indicating whether the function has inline assembly.| -|[IDiaSymbol::get_hasLongJump](../../debugger/debug-interface-access/idiasymbol-get-haslongjump.md)|Retrieves a flag indicating whether the function contains a longjmp command (part of C-style exception handling).| -|[IDiaSymbol::get_hasManagedCode](../../debugger/debug-interface-access/idiasymbol-get-hasmanagedcode.md)|Retrieves a flag indicating whether the module contains managed code.| -|[IDiaSymbol::get_hasNestedTypes](../../debugger/debug-interface-access/idiasymbol-get-hasnestedtypes.md)|Retrieves a flag indicating whether the user-defined data type has nested type definitions.| -|[IDiaSymbol::get_hasSecurityChecks](../../debugger/debug-interface-access/idiasymbol-get-hassecuritychecks.md)|Retrieves a flag indicating whether the function or compiland has security checks compiled in (via the [/GS (Buffer Security Check)](/cpp/build/reference/gs-buffer-security-check) compiler switch).| -|[IDiaSymbol::get_hasSEH](../../debugger/debug-interface-access/idiasymbol-get-hasseh.md)|Retrieves a flag indicating whether the function has Win32-style Structured Exception Handling.| -|[IDiaSymbol::get_hasSetJump](../../debugger/debug-interface-access/idiasymbol-get-hassetjump.md)|Retrieves a flag indicating whether the function contains a setjmp command.| -|[IDiaSymbol::get_indirectVirtualBaseClass](../../debugger/debug-interface-access/idiasymbol-get-indirectvirtualbaseclass.md)|Retrieves a flag indicating whether the user-defined data type is an indirect virtual base class.| -|[IDiaSymbol::get_InlSpec](../../debugger/debug-interface-access/idiasymbol-get-inlspec.md)|Retrieves a flag indicating whether the function has been marked with the inline attribute.| -|[IDiaSymbol::get_interruptReturn](../../debugger/debug-interface-access/idiasymbol-get-interruptreturn.md)|Retrieves a flag indicating whether the function has a return from interrupt instruction.| -|[IDiaSymbol::get_intro](../../debugger/debug-interface-access/idiasymbol-get-intro.md)|Retrieves a flag indicating whether the function is the base class virtual function.| -|[IDiaSymbol::get_isAcceleratorGroupSharedLocal](../../debugger/debug-interface-access/idiasymbol-get-isacceleratorgroupsharedlocal.md)|Retrieves a flag that indicates whether the symbol corresponds to a group shared local variable in code compiled for a C++ AMP Accelerator.| -|[IDiaSymbol::get_isAcceleratorPointerTagLiveRange](../../debugger/debug-interface-access/idiasymbol-get-isacceleratorpointertagliverange.md)|Retrieves a flag that indicates whether the symbol corresponds to the *definition range symbol* for the tag component of a pointer variable in code compiled for a C++ AMP Accelerator. The definition range symbol is the location of a variable for a span of addresses.| -|[IDiaSymbol::get_isAcceleratorStubFunction](../../debugger/debug-interface-access/idiasymbol-get-isacceleratorstubfunction.md)|Indicates whether the symbol corresponds to a top-level function symbol for a shader compiled for an accelerator that corresponds to a `parallel_for_each` call.| -|[IDiaSymbol::get_isAggregated](../../debugger/debug-interface-access/idiasymbol-get-isaggregated.md)|Retrieves a flag indicating whether the data is part of an aggregate of many symbols.| -|[IDiaSymbol::get_isCTypes](../../debugger/debug-interface-access/idiasymbol-get-isctypes.md)|Retrieves a flag indicating whether the symbol file contains C types.| -|[IDiaSymbol::get_isCVTCIL](../../debugger/debug-interface-access/idiasymbol-get-iscvtcil.md)|Retrieves a flag indicating whether the module was converted from Common Intermediate Language (CIL) to native code.| -|[IDiaSymbol::get_isDataAligned](../../debugger/debug-interface-access/idiasymbol-get-isdataaligned.md)|Retrieves a flag indicating whether the elements of a user-defined data type are aligned to a specific boundary.| -|[IDiaSymbol::get_isHLSLData](../../debugger/debug-interface-access/idiasymbol-get-ishlsldata.md)|Specifies whether this symbol represents High Level Shader Language (HLSL) data.| -|[IDiaSymbol::get_isHotpatchable](../../debugger/debug-interface-access/idiasymbol-get-ishotpatchable.md)|Retrieves a flag indicating whether the module was compiled with the [/hotpatch (Create Hotpatchable Image)](/cpp/build/reference/hotpatch-create-hotpatchable-image) compiler switch.| -|[IDiaSymbol::get_isLTCG](../../debugger/debug-interface-access/idiasymbol-get-isltcg.md)|Retrieves a flag indicating whether the managed compiland was linked with the linker's LTCG.| -|[IDiaSymbol::get_isMatrixRowMajor](../../debugger/debug-interface-access/idiasymbol-get-ismatrixrowmajor.md)|Specifies whether the matrix is row major.| -|[IDiaSymbol::get_isMSILNetmodule](../../debugger/debug-interface-access/idiasymbol-get-ismsilnetmodule.md)|Retrieves a flag indicating whether the managed compiland is a .netmodule (containing only metadata).| -|[IDiaSymbol::get_isMultipleInheritance](../../debugger/debug-interface-access/idiasymbol-get-ismultipleinheritance.md)|Specifies whether the `this` pointer points to a data member with multiple inheritance.| -|[IDiaSymbol::get_isNaked](../../debugger/debug-interface-access/idiasymbol-get-isnaked.md)|Retrieves a flag indicating whether the function has the [naked](/cpp/cpp/naked-cpp) attribute.| -|[IDiaSymbol::get_isOptimizedAway](../../debugger/debug-interface-access/idiasymbol-get-isoptimizedaway.md)|Specifies whether the variable is optimized away.| -|[IDiaSymbol::get_isPointerBasedOnSymbolValue](../../debugger/debug-interface-access/idiasymbol-get-ispointerbasedonsymbolvalue.md)|Specifies whether the `this` pointer is based on a symbol value.| -|[IDiaSymbol::get_isPointerToDataMember](../../debugger/debug-interface-access/idiasymbol-get-ispointertodatamember.md)|Specifies whether this symbol is a pointer to a data member.| -|[IDiaSymbol::get_isPointerToMemberFunction](../../debugger/debug-interface-access/idiasymbol-get-ispointertomemberfunction.md)|Specifies whether this symbol is a pointer to a member function.| -|[IDiaSymbol::get_isReturnValue](../../debugger/debug-interface-access/idiasymbol-get-isreturnvalue.md)|Specifies whether the variable carries a return value.| -|[IDiaSymbol::get_isSdl](../../debugger/debug-interface-access/idiasymbol-get-issdl.md)|Specifies whether the module is compiled with the /SDL option.| -|[IDiaSymbol::get_isSingleInheritance](../../debugger/debug-interface-access/idiasymbol-get-issingleinheritance.md)|Specifies whether the `this` pointer points to a data member with single inheritance.| -|[IDiaSymbol::get_isSplitted](../../debugger/debug-interface-access/idiasymbol-get-issplitted.md)|Retrieves a flag indicating whether the data has been split into an aggregate of separate symbols.| -|[IDiaSymbol::get_isStatic](../../debugger/debug-interface-access/idiasymbol-get-isstatic.md)|Retrieves a flag indicating whether a function or thunk layer is static.| -|[IDiaSymbol::get_isStripped](../../debugger/debug-interface-access/idiasymbol-get-isstripped.md)|Retrieves a flag indicating whether private symbols have been stripped from the symbol file.| -|[IDiaSymbol::get_isVirtualInheritance](../../debugger/debug-interface-access/idiasymbol-get-isvirtualinheritance.md)|Specifies whether the `this` pointer points to a data member with virtual inheritance.| -|[IDiaSymbol::get_language](../../debugger/debug-interface-access/idiasymbol-get-language.md)|Retrieves the language of the source.| -|[IDiaSymbol::get_length](../../debugger/debug-interface-access/idiasymbol-get-length.md)|Retrieves the number of bytes of memory used by the object represented by this symbol.| -|[IDiaSymbol::get_lexicalParent](../../debugger/debug-interface-access/idiasymbol-get-lexicalparent.md)|Retrieves a reference to the lexical parent of the symbol.| -|[IDiaSymbol::get_lexicalParentId](../../debugger/debug-interface-access/idiasymbol-get-lexicalparentid.md)|Retrieves the lexical parent identifier of the symbol.| -|[IDiaSymbol::get_libraryName](../../debugger/debug-interface-access/idiasymbol-get-libraryname.md)|Retrieves the file name of the library or object file from which the object was loaded.| -|[IDiaSymbol::get_liveRangeLength](../../debugger/debug-interface-access/idiasymbol-get-liverangelength.md)|Returns the length of the address range in which the local symbol is valid.| -|[IDiaSymbol::get_liveRangeStartAddressSection](../../debugger/debug-interface-access/idiasymbol-get-liverangestartaddresssection.md)|Returns the section part of the starting address range in which the local symbol is valid.| -|[IDiaSymbol::get_liveRangeStartAddressOffset](../../debugger/debug-interface-access/idiasymbol-get-liverangestartaddressoffset.md)|Returns the offset part of the starting address range in which the local symbol is valid.| -|[IDiaSymbol::get_liveRangeStartRelativeVirtualAddress](../../debugger/debug-interface-access/idiasymbol-get-liverangestartrelativevirtualaddress.md)|Returns the start of the address range in which the local symbol is valid.| -|[IDiaSymbol::get_locationType](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md)|Retrieves the location type of a data symbol.| -|[IDiaSymbol::get_lowerBound](../../debugger/debug-interface-access/idiasymbol-get-lowerbound.md)|Retrieves the lower bound of a FORTRAN array dimension.| -|[IDiaSymbol::get_lowerBoundId](../../debugger/debug-interface-access/idiasymbol-get-lowerboundid.md)|Retrieves the symbol identifier of the lower bound of a FORTRAN array dimension.| -|[IDiaSymbol::get_machineType](../../debugger/debug-interface-access/idiasymbol-get-machinetype.md)|Retrieves the type of the target CPU.| -|[IDiaSymbol::get_managed](../../debugger/debug-interface-access/idiasymbol-get-managed.md)|Retrieves a flag that indicating whether the symbol refers to managed code.| -|[IDiaSymbol::get_memorySpaceKind](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md)|Retrieves the memory space kind.| -|[IDiaSymbol::get_msil](../../debugger/debug-interface-access/idiasymbol-get-msil.md)|Retrieves a flag indicating whether the symbol refers to Microsoft Intermediate Language (MSIL) code.| -|[IDiaSymbol::get_name](../../debugger/debug-interface-access/idiasymbol-get-name.md)|Retrieves the name of the symbol.| -|[IDiaSymbol::get_nested](../../debugger/debug-interface-access/idiasymbol-get-nested.md)|Retrieves a flag indicating whether the user-defined data type is nested.| -|[IDiaSymbol::get_noInline](../../debugger/debug-interface-access/idiasymbol-get-noinline.md)|Retrieves a flag indicating whether the function is marked with the [noinline](/cpp/cpp/noinline) attribute.| -|[IDiaSymbol::get_noReturn](../../debugger/debug-interface-access/idiasymbol-get-noreturn.md)|Retrieves a flag indicating whether the function has been declared with the [noreturn](/cpp/cpp/noreturn) attribute.| -|[IDiaSymbol::get_noStackOrdering](../../debugger/debug-interface-access/idiasymbol-get-nostackordering.md)|Retrieves a flag indicating whether no stack ordering could be done as part of stack buffer checking.| -|[IDiaSymbol::get_notReached](../../debugger/debug-interface-access/idiasymbol-get-notreached.md)|Retrieves a flag indicating whether the function or label is never reached.| -|[IDiaSymbol::get_numberOfAcceleratorPointerTags](../../debugger/debug-interface-access/idiasymbol-get-numberofacceleratorpointertags.md)|Returns the number of accelerator pointer tags in a C++ AMP stub function.| -|[IDiaSymbol::get_numberOfModifiers](../../debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md)|Retrieves the number of modifiers that are applied to the original type.| -|[IDiaSymbol::get_numberOfRegisterIndices](../../debugger/debug-interface-access/idiasymbol-get-numberofregisterindices.md)|Retrieves the number of register indices.| -|[IDiaSymbol::get_numberOfRows](../../debugger/debug-interface-access/idiasymbol-get-numberofrows.md)|Retrieves the number of rows in the matrix.| -|[IDiaSymbol::get_numberOfColumns](../../debugger/debug-interface-access/idiasymbol-get-numberofcolumns.md)|Retrieves the number of columns in the matrix.| -|[IDiaSymbol::get_objectFileName](../../debugger/debug-interface-access/idiasymbol-get-objectfilename.md)|Retrieves the object file name.| -|[IDiaSymbol::get_objectPointerType](../../debugger/debug-interface-access/idiasymbol-get-objectpointertype.md)|Retrieves the type of the object pointer for a class method.| -|[IDiaSymbol::get_oemId](../../debugger/debug-interface-access/idiasymbol-get-oemid.md)|Retrieves the symbol's `oemId` value.| -|[IDiaSymbol::get_oemSymbolId](../../debugger/debug-interface-access/idiasymbol-get-oemsymbolid.md)|Retrieves the symbol's `oemSymbolId` value.| -|[IDiaSymbol::get_offset](../../debugger/debug-interface-access/idiasymbol-get-offset.md)|Retrieves the offset of the symbol location.| -|[IDiaSymbol::get_optimizedCodeDebugInfo](../../debugger/debug-interface-access/idiasymbol-get-optimizedcodedebuginfo.md)|Retrieves a flag indicating whether the function or label contains optimized code as well as debug information.| -|[IDiaSymbol::get_overloadedOperator](../../debugger/debug-interface-access/idiasymbol-get-overloadedoperator.md)|Retrieves a flag indicating whether the user-defined data type has overloaded operators.| -|[IDiaSymbol::get_packed](../../debugger/debug-interface-access/idiasymbol-get-packed.md)|Retrieves a flag indicating whether the user-defined data type is packed.| -|[IDiaSymbol::get_platform](../../debugger/debug-interface-access/idiasymbol-get-platform.md)|Retrieves the platform type for which the program or compiland was compiled.| -|[IDiaSymbol::get_pure](../../debugger/debug-interface-access/idiasymbol-get-pure.md)|Retrieves a flag that indicating whether the function is pure virtual.| -|[IDiaSymbol::get_rank](../../debugger/debug-interface-access/idiasymbol-get-rank.md)|Retrieves the rank of a FORTRAN multidimensional array.| -|[IDiaSymbol::get_reference](../../debugger/debug-interface-access/idiasymbol-get-reference.md)|Retrieves a flag indicating whether a pointer type is a reference.| -|[IDiaSymbol::get_registerId](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)|Retrieves the register designator of the location.| -|[IDiaSymbol::get_registerType](../../debugger/debug-interface-access/idiasymbol-get-registertype.md)|Retrieves the register type.| -|[IDiaSymbol::get_relativeVirtualAddress](../../debugger/debug-interface-access/idiasymbol-get-relativevirtualaddress.md)|Retrieves the relative virtual address (RVA) of the location.| -|[IDiaSymbol::get_restrictedType](../../debugger/debug-interface-access/idiasymbol-get-restrictedtype.md)|Specifies whether the `this` pointer is flagged as restricted.| -|[IDiaSymbol::get_samplerSlot](../../debugger/debug-interface-access/idiasymbol-get-samplerslot.md)|Retrieves the sampler slot.| -|[IDiaSymbol::get_scoped](../../debugger/debug-interface-access/idiasymbol-get-scoped.md)|Retrieves a flag indicating whether the user-defined data type appears in a nonglobal lexical scope.| -|[IDiaSymbol::get_signature](../../debugger/debug-interface-access/idiasymbol-get-signature.md)|Retrieves the symbol's signature value.| -|[IDiaSymbol::get_sizeInUdt](../../debugger/debug-interface-access/idiasymbol-get-sizeinudt.md)|Retrieves the size of a member of a user-defined type.| -|[IDiaSymbol::get_slot](../../debugger/debug-interface-access/idiasymbol-get-slot.md)|Retrieves the slot number of the location.| -|[IDiaSymbol::get_sourceFileName](../../debugger/debug-interface-access/idiasymbol-get-sourcefilename.md)|Retrieves the file name of the source file.| -|[IDiaSymbol::getSrcLineOnTypeDefn](../../debugger/debug-interface-access/idiasymbol-getsrclineontypedefn.md)|Retrieves the source file and line number that indicate where a specified user-defined type is defined.| -|[IDiaSymbol::get_stride](../../debugger/debug-interface-access/idiasymbol-get-stride.md)|Retrieves the stride of the matrix or strided array.| -|[IDiaSymbol::get_subType](../../debugger/debug-interface-access/idiasymbol-get-subtype.md)|Retrieves the sub type.| -|[IDiaSymbol::get_subTypeId](../../debugger/debug-interface-access/idiasymbol-get-subtypeid.md)|Retrieves the sub type ID.| -|[IDiaSymbol::get_symbolsFileName](../../debugger/debug-interface-access/idiasymbol-get-symbolsfilename.md)|Retrieves the name of the file from which the symbols were loaded.| -|[IDiaSymbol::get_symIndexId](../../debugger/debug-interface-access/idiasymbol-get-symindexid.md)|Retrieves the unique symbol identifier.| -|[IDiaSymbol::get_symTag](../../debugger/debug-interface-access/idiasymbol-get-symtag.md)|Retrieves the symbol type classifier.| -|[IDiaSymbol::get_targetOffset](../../debugger/debug-interface-access/idiasymbol-get-targetoffset.md)|Retrieves the offset section of a thunk target.| -|[IDiaSymbol::get_targetRelativeVirtualAddress](../../debugger/debug-interface-access/idiasymbol-get-targetrelativevirtualaddress.md)|Retrieves the relative virtual address (RVA) of a thunk target.| -|[IDiaSymbol::get_targetSection](../../debugger/debug-interface-access/idiasymbol-get-targetsection.md)|Retrieves the address section of a thunk target.| -|[IDiaSymbol::get_targetVirtualAddress](../../debugger/debug-interface-access/idiasymbol-get-targetvirtualaddress.md)|Retrieves the virtual address (VA) of a thunk target.| -|[IDiaSymbol::get_textureSlot](../../debugger/debug-interface-access/idiasymbol-get-textureslot.md)|Retrieves the texture slot.| -|[IDiaSymbol::get_thisAdjust](../../debugger/debug-interface-access/idiasymbol-get-thisadjust.md)|Retrieves the logical `this` adjustor for the method.| -|[IDiaSymbol::get_thunkOrdinal](../../debugger/debug-interface-access/idiasymbol-get-thunkordinal.md)|Retrieves the thunk type of a function.| -|[IDiaSymbol::get_timeStamp](../../debugger/debug-interface-access/idiasymbol-get-timestamp.md)|Retrieves the timestamp of the underlying executable file.| -|[IDiaSymbol::get_token](../../debugger/debug-interface-access/idiasymbol-get-token.md)|Retrieves the metadata token of a managed function or variable.| -|[IDiaSymbol::get_type](../../debugger/debug-interface-access/idiasymbol-get-type.md)|Retrieves a reference to the function signature.| -|[IDiaSymbol::get_typeId](../../debugger/debug-interface-access/idiasymbol-get-typeid.md)|Retrieves the type identifier of the symbol.| -|[IDiaSymbol::get_types](../../debugger/debug-interface-access/idiasymbol-get-types.md)|Retrieves an array of compiler-specific type values for this symbol.| -|[IDiaSymbol::get_typeIds](../../debugger/debug-interface-access/idiasymbol-get-typeids.md)|Retrieves an array of compiler-specific type identifier values for this symbol.| -|[IDiaSymbol::get_uavSlot](../../debugger/debug-interface-access/idiasymbol-get-uavslot.md)|Retrieves the uav slot.| -|[IDiaSymbol::get_udtKind](../../debugger/debug-interface-access/idiasymbol-get-udtkind.md)|Retrieves the variety of a user-defined type (UDT).| -|[IDiaSymbol::get_unalignedType](../../debugger/debug-interface-access/idiasymbol-get-unalignedtype.md)|Retrieves a flag indicating whether the user-defined data type is unaligned.| -|[IDiaSymbol::get_undecoratedName](../../debugger/debug-interface-access/idiasymbol-get-undecoratedname.md)|Retrieves the undecorated name for a C++ decorated, or linkage, name.| -|[IDiaSymbol::get_undecoratedNameEx](../../debugger/debug-interface-access/idiasymbol-get-undecoratednameex.md)|Extension of the `get_undecoratedName` method that retrieves the undecorated name based on the value of an extension field.| -|[IDiaSymbol::get_unmodifiedTypeId](../../debugger/debug-interface-access/idiasymbol-get-unmodifiedtypeid.md)|Retrieves the ID of the original (unmodified) type.| -|[IDiaSymbol::get_upperBound](../../debugger/debug-interface-access/idiasymbol-get-upperbound.md)|Retrieves the upper bound of a FORTRAN array dimension.| -|[IDiaSymbol::get_upperBoundId](../../debugger/debug-interface-access/idiasymbol-get-upperboundid.md)|Retrieves the symbol identifier of the upper bound of a FORTRAN array dimension.| -|[IDiaSymbol::get_value](../../debugger/debug-interface-access/idiasymbol-get-value.md)|Retrieves the value of a constant.| -|[IDiaSymbol::get_virtual](../../debugger/debug-interface-access/idiasymbol-get-virtual.md)|Retrieves a flag indicating whether the function is virtual.| -|[IDiaSymbol::get_virtualAddress](../../debugger/debug-interface-access/idiasymbol-get-virtualaddress.md)|Retrieves the virtual address (VA) of the location.| -|[IDiaSymbol::get_virtualBaseClass](../../debugger/debug-interface-access/idiasymbol-get-virtualbaseclass.md)|Retrieves a flag indicating whether the user-defined data type is a virtual base class.| -|[IDiaSymbol::get_virtualBaseDispIndex](../../debugger/debug-interface-access/idiasymbol-get-virtualbasedispindex.md)|Retrieves the index to the virtual base displacement table.| -|[IDiaSymbol::get_virtualBaseOffset](../../debugger/debug-interface-access/idiasymbol-get-virtualbaseoffset.md)|Retrieves the offset in the virtual function table of a virtual function.| -|[IDiaSymbol::get_virtualBasePointerOffset](../../debugger/debug-interface-access/idiasymbol-get-virtualbasepointeroffset.md)|Retrieves the offset of the virtual base pointer.| -|[IDiaSymbol::get_virtualBaseTableType](../../debugger/debug-interface-access/idiasymbol-get-virtualbasetabletype.md)|Retrieves the type of a virtual base table pointer.| -|[IDiaSymbol::get_virtualTableShape](../../debugger/debug-interface-access/idiasymbol-get-virtualtableshape.md)|Retrieves the symbol interface of the type of the virtual table for a user-defined type.| -|[IDiaSymbol::get_virtualTableShapeId](../../debugger/debug-interface-access/idiasymbol-get-virtualtableshapeid.md)|Retrieves the virtual table shape identifier of the symbol.| -|[IDiaSymbol::get_volatileType](../../debugger/debug-interface-access/idiasymbol-get-volatiletype.md)|Retrieves a flag indicating whether the user-defined data type is volatile.| +|[`IDiaSymbol::findChildren`](../../debugger/debug-interface-access/idiasymbol-findchildren.md)|Retrieves all children of the symbol.| +|[`IDiaSymbol::findChildrenEx`](../../debugger/debug-interface-access/idiasymbol-findchildrenex.md)|Retrieves the children of the symbol. This method is the extended version of [IDiaSymbol::findChildren](../../debugger/debug-interface-access/idiasymbol-findchildren.md).| +|[`IDiaSymbol::findChildrenExByAddr`](../../debugger/debug-interface-access/idiasymbol-findchildrenexbyaddr.md)|Retrieves the children of the symbol that are valid at a specified address.| +|[`IDiaSymbol::findChildrenExByRVA`](../../debugger/debug-interface-access/idiasymbol-findchildrenexbyrva.md)|Retrieves the children of the symbol that are valid at a specified relative virtual address (RVA).| +|[`IDiaSymbol::findChildrenExByVA`](../../debugger/debug-interface-access/idiasymbol-findchildrenexbyva.md)|Retrieves the children of the symbol that are valid at a specified virtual address.| +|[`IDiaSymbol::findInlineeLines`](../../debugger/debug-interface-access/idiasymbol-findinlineelines.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol.| +|[`IDiaSymbol::findInlineeLinesByAddr`](../../debugger/debug-interface-access/idiasymbol-findinlineelinesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol within the specified address range.| +|[`IDiaSymbol::findInlineeLinesByRVA`](../../debugger/debug-interface-access/idiasymbol-findinlineelinesbyrva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol within the specified relative virtual address (RVA).| +|[`IDiaSymbol::findInlineeLinesByVA`](../../debugger/debug-interface-access/idiasymbol-findinlineelinesbyva.md)|Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in this symbol within the specified virtual address (VA).| +|[`IDiaSymbol::findInlineFramesByAddr`](../../debugger/debug-interface-access/idiasymbol-findinlineframesbyaddr.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a given address.| +|[`IDiaSymbol::findInlineFramesByRVA`](../../debugger/debug-interface-access/idiasymbol-findinlineframesbyrva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified relative virtual address (RVA).| +|[`IDiaSymbol::findInlineFramesByVA`](../../debugger/debug-interface-access/idiasymbol-findinlineframesbyva.md)|Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified virtual address (VA).| +|[`IDiaSymbol::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md)|Retrieves the .NET Native input assembly file that is the parent of the symbol.| +|[`IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag`](../../debugger/debug-interface-access/idiasymbol-findsymbolsbyrvaforacceleratorpointertag.md)|Given a corresponding tag value, this method returns an enumeration of symbols that are contained in this stub function at a specified relative virtual address.| +|[`IDiaSymbol::findSymbolsForAcceleratorPointerTag`](../../debugger/debug-interface-access/idiasymbol-findsymbolsforacceleratorpointertag.md)|Returns the number of accelerator pointer tags in a C++ AMP stub function.| +|[`IDiaSymbol::get_acceleratorPointerTags`](../../debugger/debug-interface-access/idiasymbol-get-acceleratorpointertags.md)|Returns all accelerator pointer tag values that correspond to a C++ AMP accelerator stub function.| +|[`IDiaSymbol::get_access`](../../debugger/debug-interface-access/idiasymbol-get-access.md)|Retrieves the access modifier of a class member.| +|[`IDiaSymbol::get_addressOffset`](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md)|Retrieves the offset part of an address location.| +|[`IDiaSymbol::get_addressSection`](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md)|Retrieves the section part of an address location.| +|[`IDiaSymbol::get_addressTaken`](../../debugger/debug-interface-access/idiasymbol-get-addresstaken.md)|Retrieves a flag indicating whether another symbol references this address.| +|[`IDiaSymbol::get_age`](../../debugger/debug-interface-access/idiasymbol-get-age.md)|Retrieves the age value of a program database.| +|[`IDiaSymbol::get_arrayIndexType`](../../debugger/debug-interface-access/idiasymbol-get-arrayindextype.md)|Retrieves the symbol identifier of the array index type.| +|[`IDiaSymbol::get_arrayIndexTypeId`](../../debugger/debug-interface-access/idiasymbol-get-arrayindextypeid.md)|Retrieves the array index type identifier of the symbol.| +|[`IDiaSymbol::get_backEndBuild`](../../debugger/debug-interface-access/idiasymbol-get-backendbuild.md)|Retrieves the back-end build number.| +|[`IDiaSymbol::get_backEndMajor`](../../debugger/debug-interface-access/idiasymbol-get-backendmajor.md)|Retrieves the back-end major version number.| +|[`IDiaSymbol::get_backEndMinor`](../../debugger/debug-interface-access/idiasymbol-get-backendminor.md)|Retrieves the back-end minor version number.| +|[`IDiaSymbol::get_backEndQFE`](../../debugger/debug-interface-access/idiasymbol-get-backendqfe.md)|Retrieves the back-end qfe number.| +|[`IDiaSymbol::get_baseDataOffset`](../../debugger/debug-interface-access/idiasymbol-get-basedataoffset.md)|Retrieves the base data offset.| +|[`IDiaSymbol::get_baseDataSlot`](../../debugger/debug-interface-access/idiasymbol-get-basedataslot.md)|Retrieves the base data slot.| +|[`IDiaSymbol::get_baseSymbol`](../../debugger/debug-interface-access/idiasymbol-get-basesymbol.md)|Retrieves the symbol from which the pointer is based.| +|[`IDiaSymbol::get_baseSymbolId`](../../debugger/debug-interface-access/idiasymbol-get-basesymbolid.md)|Retrieves the symbol ID from which the pointer is based.| +|[`IDiaSymbol::get_baseType`](../../debugger/debug-interface-access/idiasymbol-get-basetype.md)|Retrieves the type tag of a simple type.| +|[`IDiaSymbol::get_bindID`](../../debugger/debug-interface-access/idiasymbol-get-bindid.md)|Retrieves the binding register index.| +|[`IDiaSymbol::get_bindSlot`](../../debugger/debug-interface-access/idiasymbol-get-bindslot.md)|Retrieves the lower bound in binding space.| +|[`IDiaSymbol::get_bindSpace`](../../debugger/debug-interface-access/idiasymbol-get-bindspace.md)|Retrieves the binding space.| +|[`IDiaSymbol::get_bitPosition`](../../debugger/debug-interface-access/idiasymbol-get-bitposition.md)|Retrieves the bit position of a location.| +|[`IDiaSymbol::get_builtInKind`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md)|Retrieves a built-in kind of the HLSL type.| +|[`IDiaSymbol::get_callingConvention`](../../debugger/debug-interface-access/idiasymbol-get-callingconvention.md)|Returns an indicator of a method's calling convention.| +|[`IDiaSymbol::get_characteristics`](../../debugger/debug-interface-access/idiasymbol-get-characteristics.md)|Retrieves the characteristics of this COFF section.| +|[`IDiaSymbol::get_classParent`](../../debugger/debug-interface-access/idiasymbol-get-classparent.md)|Retrieves a reference to the class parent of the symbol.| +|[`IDiaSymbol::get_classParentId`](../../debugger/debug-interface-access/idiasymbol-get-classparentid.md)|Retrieves the class parent identifier of the symbol.| +|[`IDiaSymbol::get_code`](../../debugger/debug-interface-access/idiasymbol-get-code.md)|Retrieves a flag indicating whether the symbol refers to a code address.| +|[`IDiaSymbol::get_coffGroup`](../../debugger/debug-interface-access/idiasymbol-get-coffgroup.md)|Retrieves the COFF group symbol this symbol comes from.| +|[`IDiaSymbol::get_compilerGenerated`](../../debugger/debug-interface-access/idiasymbol-get-compilergenerated.md)|Retrieves a flag indicating whether the symbol was compiler-generated.| +|[`IDiaSymbol::get_compilerName`](../../debugger/debug-interface-access/idiasymbol-get-compilername.md)|Retrieves the name of the compiler used to create the [Compiland](../../debugger/debug-interface-access/compiland.md).| +|[`IDiaSymbol::get_constantExport`](../../debugger/debug-interface-access/idiasymbol-get-constantexport.md)|Retrieves a flag indicating whether this export is CONSTANT.| +|[`IDiaSymbol::get_constructor`](../../debugger/debug-interface-access/idiasymbol-get-constructor.md)|Retrieves a flag indicating whether the user-defined data type has a constructor.| +|[`IDiaSymbol::get_constType`](../../debugger/debug-interface-access/idiasymbol-get-consttype.md)|Retrieves a flag indicating whether the user-defined data type is constant.| +|[`IDiaSymbol::get_container`](../../debugger/debug-interface-access/idiasymbol-get-container.md)|Retrieves the containing symbol of this symbol.| +|[`IDiaSymbol::get_count`](../../debugger/debug-interface-access/idiasymbol-get-count.md)|Retrieves the number of items in a list or array.| +|[`IDiaSymbol::get_countLiveRanges`](../../debugger/debug-interface-access/idiasymbol-get-countliveranges.md)|Retrieves the number of valid address ranges associated with the local symbol.| +|[`IDiaSymbol::get_customCallingConvention`](../../debugger/debug-interface-access/idiasymbol-get-customcallingconvention.md)|Retrieves a flag indicating whether the function uses a custom calling convention.| +|[`IDiaSymbol::get_dataBytes`](../../debugger/debug-interface-access/idiasymbol-get-databytes.md)|Retrieves the data bytes of an OEM symbol.| +|[`IDiaSymbol::get_dataExport`](../../debugger/debug-interface-access/idiasymbol-get-dataexport.md)|Retrieves a flag indicating whether this export is DATA.| +|[`IDiaSymbol::get_dataKind`](../../debugger/debug-interface-access/idiasymbol-get-datakind.md)|Retrieves the variable classification of a data symbol.| +|[`IDiaSymbol::get_editAndContinueEnabled`](../../debugger/debug-interface-access/idiasymbol-get-editandcontinueenabled.md)|Retrieves the flag describing the Edit and Continue features of the compiled program or unit.| +|[`IDiaSymbol::get_exceptionHandlerAddressOffset`](../../debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md)|Retrieves the section offset of the exception handler.| +|[`IDiaSymbol::get_exceptionHandlerAddressSection`](../../debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md)|Retrieves the section number of the exception handler.| +|[`IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md)|Retrieves the relative virtual address of the exception handler.| +|[`IDiaSymbol::get_exceptionHandlerVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md)|Retrieves the virtual address of the exception handler.| +|[`IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal`](../../debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md)|Retrieves a flag indicating whether this export has an explicitly assigned ordinal.| +|[`IDiaSymbol::get_exportIsForwarder`](../../debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md)|Retrieves a flag indicating whether this export is a forwarder.| +|[`IDiaSymbol::get_farReturn`](../../debugger/debug-interface-access/idiasymbol-get-farreturn.md)|Retrieves a flag indicating whether the function uses a far return.| +|[`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md)|Retrieves the final static size of live function, after inlining.| +|[`IDiaSymbol::get_framePointerPresent`](../../debugger/debug-interface-access/idiasymbol-get-framepointerpresent.md)|Retrieves a flag indicating whether this function has a frame pointer.| +|[`IDiaSymbol::get_frameSize`](../../debugger/debug-interface-access/idiasymbol-get-framesize.md)|Retrieves the frame size.| +|[`IDiaSymbol::get_frontEndBuild`](../../debugger/debug-interface-access/idiasymbol-get-frontendbuild.md)|Retrieves the front-end build number.| +|[`IDiaSymbol::get_frontEndMajor`](../../debugger/debug-interface-access/idiasymbol-get-frontendmajor.md)|Retrieves the front-end major version number.| +|[`IDiaSymbol::get_frontEndMinor`](../../debugger/debug-interface-access/idiasymbol-get-frontendminor.md)|Retrieves the front-end minor version number.| +|[`IDiaSymbol::get_frontEndQFE`](../../debugger/debug-interface-access/idiasymbol-get-frontendqfe.md)|Retrieves the front-end QFE version number.| +|[`IDiaSymbol::get_function`](../../debugger/debug-interface-access/idiasymbol-get-function.md)|Retrieves a flag indicating whether the public symbol refers to a function.| +|[`IDiaSymbol::get_guid`](../../debugger/debug-interface-access/idiasymbol-get-guid.md)|Retrieves the symbol's GUID.| +|[`IDiaSymbol::get_hasAlloca`](../../debugger/debug-interface-access/idiasymbol-get-hasalloca.md)|Retrieves a flag indicating whether the function contains a call to `alloca`.| +|[`IDiaSymbol::get_hasAssignmentOperator`](../../debugger/debug-interface-access/idiasymbol-get-hasassignmentoperator.md)|Retrieves a flag indicating whether the user-defined data type has any assignment operators defined.| +|[`IDiaSymbol::get_hasCastOperator`](../../debugger/debug-interface-access/idiasymbol-get-hascastoperator.md)|Retrieves a flag indicating whether the user-defined data type has any cast operators defined.| +|[`IDiaSymbol::get_hasControlFlowCheck`](../../debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md)|Retrieves a flag indicating whether this function contains control flow checks.| +|[`IDiaSymbol::get_hasDebugInfo`](../../debugger/debug-interface-access/idiasymbol-get-hasdebuginfo.md)|Retrieves a flag indicating whether the compiland contains any debugging information.| +|[`IDiaSymbol::get_hasEH`](../../debugger/debug-interface-access/idiasymbol-get-haseh.md)|Retrieves a flag indicating whether the function has a C++-style exception handler.| +|[`IDiaSymbol::get_hasEHa`](../../debugger/debug-interface-access/idiasymbol-get-haseha.md)|Retrieves a flag indicating whether the function has an asynchronous exception handler.| +|[`IDiaSymbol::get_hasInlAsm`](../../debugger/debug-interface-access/idiasymbol-get-hasinlasm.md)|Retrieves a flag indicating whether the function has inline assembly.| +|[`IDiaSymbol::get_hasLongJump`](../../debugger/debug-interface-access/idiasymbol-get-haslongjump.md)|Retrieves a flag indicating whether the function contains a longjmp command (part of C-style exception handling).| +|[`IDiaSymbol::get_hasManagedCode`](../../debugger/debug-interface-access/idiasymbol-get-hasmanagedcode.md)|Retrieves a flag indicating whether the module contains managed code.| +|[`IDiaSymbol::get_hasNestedTypes`](../../debugger/debug-interface-access/idiasymbol-get-hasnestedtypes.md)|Retrieves a flag indicating whether the user-defined data type has nested type definitions.| +|[`IDiaSymbol::get_hasSecurityChecks`](../../debugger/debug-interface-access/idiasymbol-get-hassecuritychecks.md)|Retrieves a flag indicating whether the function or compiland has security checks compiled in (via the [/GS (Buffer Security Check)](/cpp/build/reference/gs-buffer-security-check) compiler switch).| +|[`IDiaSymbol::get_hasSEH`](../../debugger/debug-interface-access/idiasymbol-get-hasseh.md)|Retrieves a flag indicating whether the function has Win32-style Structured Exception Handling.| +|[`IDiaSymbol::get_hasSetJump`](../../debugger/debug-interface-access/idiasymbol-get-hassetjump.md)|Retrieves a flag indicating whether the function contains a setjmp command.| +|[`IDiaSymbol::get_hasValidPGOCounts`](../../debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md)|Retrieves a flag indicating whether this symbols has valid PGO counts.| +|[`IDiaSymbol::get_hfaDouble`](../../debugger/debug-interface-access/idiasymbol-get-hfadouble.md)|Retrieves a flag that specifies whether a user-defined type (UDT) contains homogeneous floating-point aggregate (HFA) data of type double.| +|[`IDiaSymbol::get_hfaFloat`](../../debugger/debug-interface-access/idiasymbol-get-hfafloat.md)|Retrieves a flag that specifies whether a user-defined type (UDT) contains homogeneous floating-point aggregate (HFA) data of type float.| +|[`IDiaSymbol::get_indirectVirtualBaseClass`](../../debugger/debug-interface-access/idiasymbol-get-indirectvirtualbaseclass.md)|Retrieves a flag indicating whether the user-defined data type is an indirect virtual base class.| +|[`IDiaSymbol::get_InlSpec`](../../debugger/debug-interface-access/idiasymbol-get-inlspec.md)|Retrieves a flag indicating whether the function has been marked with the inline attribute.| +|[`IDiaSymbol::get_interruptReturn`](../../debugger/debug-interface-access/idiasymbol-get-interruptreturn.md)|Retrieves a flag indicating whether the function has a return from interrupt instruction.| +|[`IDiaSymbol::get_intrinsic`](../../debugger/debug-interface-access/idiasymbol-get-intrinsic.md)|Retrieves a flag that specifies whether a class is an intrinsic type.| +|[`IDiaSymbol::get_intro`](../../debugger/debug-interface-access/idiasymbol-get-intro.md)|Retrieves a flag indicating whether the function is the base class virtual function.| +|[`IDiaSymbol::get_isAcceleratorGroupSharedLocal`](../../debugger/debug-interface-access/idiasymbol-get-isacceleratorgroupsharedlocal.md)|Retrieves a flag that indicates whether the symbol corresponds to a group shared local variable in code compiled for a C++ AMP Accelerator.| +|[`IDiaSymbol::get_isAcceleratorPointerTagLiveRange`](../../debugger/debug-interface-access/idiasymbol-get-isacceleratorpointertagliverange.md)|Retrieves a flag that indicates whether the symbol corresponds to the *definition range symbol* for the tag component of a pointer variable in code compiled for a C++ AMP Accelerator. The definition range symbol is the location of a variable for a span of addresses.| +|[`IDiaSymbol::get_isAcceleratorStubFunction`](../../debugger/debug-interface-access/idiasymbol-get-isacceleratorstubfunction.md)|Indicates whether the symbol corresponds to a top-level function symbol for a shader compiled for an accelerator that corresponds to a `parallel_for_each` call.| +|[`IDiaSymbol::get_isAggregated`](../../debugger/debug-interface-access/idiasymbol-get-isaggregated.md)|Retrieves a flag indicating whether the data is part of an aggregate of many symbols.| +|[`IDiaSymbol::get_isConstructorVirtualBase`](../../debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md)|Retrieves a flag indicating whether this is an instance constructor of a class with virtual base.| +|[`IDiaSymbol::get_isCTypes`](../../debugger/debug-interface-access/idiasymbol-get-isctypes.md)|Retrieves a flag indicating whether the symbol file contains C types.| +|[`IDiaSymbol::get_isCVTCIL`](../../debugger/debug-interface-access/idiasymbol-get-iscvtcil.md)|Retrieves a flag indicating whether the module was converted from Common Intermediate Language (CIL) to native code.| +|[`IDiaSymbol::get_isCxxReturnUdt`](../../debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md)|Retrieves a flag indicating whether return C++ style UDT.| +|[`IDiaSymbol::get_isDataAligned`](../../debugger/debug-interface-access/idiasymbol-get-isdataaligned.md)|Retrieves a flag indicating whether the elements of a user-defined data type are aligned to a specific boundary.| +|[`IDiaSymbol::get_isHLSLData`](../../debugger/debug-interface-access/idiasymbol-get-ishlsldata.md)|Specifies whether this symbol represents High Level Shader Language (HLSL) data.| +|[`IDiaSymbol::get_isHotpatchable`](../../debugger/debug-interface-access/idiasymbol-get-ishotpatchable.md)|Retrieves a flag indicating whether the module was compiled with the [/hotpatch (Create Hotpatchable Image)](/cpp/build/reference/hotpatch-create-hotpatchable-image) compiler switch.| +|[`IDiaSymbol::get_isInterfaceUdt`](../../debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md)|Retrieves a flag indicating whether the type is a WinRT interface user-defined type (UDT).| +|[`IDiaSymbol::get_isLocationControlFlowDependent`](../../debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md)|Retrieves a flag indicating whether a local symbol's location liveness is dependent upon the control flow of the function.| +|[`IDiaSymbol::get_isLTCG`](../../debugger/debug-interface-access/idiasymbol-get-isltcg.md)|Retrieves a flag indicating whether the managed compiland was linked with the linker's LTCG.| +|[`IDiaSymbol::get_isMatrixRowMajor`](../../debugger/debug-interface-access/idiasymbol-get-ismatrixrowmajor.md)|Specifies whether the matrix is row major.| +|[`IDiaSymbol::get_isMSILNetmodule`](../../debugger/debug-interface-access/idiasymbol-get-ismsilnetmodule.md)|Retrieves a flag indicating whether the managed compiland is a .netmodule (containing only metadata).| +|[`IDiaSymbol::get_isMultipleInheritance`](../../debugger/debug-interface-access/idiasymbol-get-ismultipleinheritance.md)|Specifies whether the `this` pointer points to a data member with multiple inheritance.| +|[`IDiaSymbol::get_isNaked`](../../debugger/debug-interface-access/idiasymbol-get-isnaked.md)|Retrieves a flag indicating whether the function has the [naked](/cpp/cpp/naked-cpp) attribute.| +|[`IDiaSymbol::get_isOptimizedAway`](../../debugger/debug-interface-access/idiasymbol-get-isoptimizedaway.md)|Specifies whether the variable is optimized away.| +|[`IDiaSymbol::get_isOptimizedForSpeed`](../../debugger/debug-interface-access/idiasymbol-get-isoptimizedforspeed.md)|Retrieves a flag indicating whether the function is optimized for speed.| +|[`IDiaSymbol::get_isPGO`](../../debugger/debug-interface-access/idiasymbol-get-ispgo.md)|Retrieves a flag indicating whether PGO was enabled.| +|[`IDiaSymbol::get_isPointerBasedOnSymbolValue`](../../debugger/debug-interface-access/idiasymbol-get-ispointerbasedonsymbolvalue.md)|Specifies whether the `this` pointer is based on a symbol value.| +|[`IDiaSymbol::get_isPointerToDataMember`](../../debugger/debug-interface-access/idiasymbol-get-ispointertodatamember.md)|Specifies whether this symbol is a pointer to a data member.| +|[`IDiaSymbol::get_isPointerToMemberFunction`](../../debugger/debug-interface-access/idiasymbol-get-ispointertomemberfunction.md)|Specifies whether this symbol is a pointer to a member function.| +|[`IDiaSymbol::get_isRefUdt`](../../debugger/debug-interface-access/idiasymbol-get-isrefudt.md)|Retrieves a flag indicating whether this is a WinRT reference user-defined type (UDT).| +|[`IDiaSymbol::get_isReturnValue`](../../debugger/debug-interface-access/idiasymbol-get-isreturnvalue.md)|Specifies whether the variable carries a return value.| +|[`IDiaSymbol::get_isSafeBuffers`](../../debugger/debug-interface-access/idiasymbol-get-issafebuffers.md)|Retrieves a flag that specifies whether the preprocesser directive for a safe buffer is used.| +|[`IDiaSymbol::get_isSdl`](../../debugger/debug-interface-access/idiasymbol-get-issdl.md)|Specifies whether the module is compiled with the /SDL option.| +|[`IDiaSymbol::get_isSingleInheritance`](../../debugger/debug-interface-access/idiasymbol-get-issingleinheritance.md)|Specifies whether the `this` pointer points to a data member with single inheritance.| +|[`IDiaSymbol::get_isSplitted`](../../debugger/debug-interface-access/idiasymbol-get-issplitted.md)|Retrieves a flag indicating whether the data has been split into an aggregate of separate symbols.| +|[`IDiaSymbol::get_isStatic`](../../debugger/debug-interface-access/idiasymbol-get-isstatic.md)|Retrieves a flag indicating whether a function or thunk layer is static.| +|[`IDiaSymbol::get_isStripped`](../../debugger/debug-interface-access/idiasymbol-get-isstripped.md)|Retrieves a flag indicating whether private symbols have been stripped from the symbol file.| +|[`IDiaSymbol::get_isValueUdt`](../../debugger/debug-interface-access/idiasymbol-get-isvalueudt.md)|Retrieves a flag indicating whether this is a WinRT value user-defined type (UDT).| +|[`IDiaSymbol::get_isVirtualInheritance`](../../debugger/debug-interface-access/idiasymbol-get-isvirtualinheritance.md)|Specifies whether the `this` pointer points to a data member with virtual inheritance.| +|[`IDiaSymbol::get_isWinRTPointer`](../../debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md)|Retrieves a flag indicating whether this is a WinRT pointer type.| +|[`IDiaSymbol::get_language`](../../debugger/debug-interface-access/idiasymbol-get-language.md)|Retrieves the language of the source.| +|[`IDiaSymbol::get_length`](../../debugger/debug-interface-access/idiasymbol-get-length.md)|Retrieves the number of bytes of memory used by the object represented by this symbol.| +|[`IDiaSymbol::get_lexicalParent`](../../debugger/debug-interface-access/idiasymbol-get-lexicalparent.md)|Retrieves a reference to the lexical parent of the symbol.| +|[`IDiaSymbol::get_lexicalParentId`](../../debugger/debug-interface-access/idiasymbol-get-lexicalparentid.md)|Retrieves the lexical parent identifier of the symbol.| +|[`IDiaSymbol::get_libraryName`](../../debugger/debug-interface-access/idiasymbol-get-libraryname.md)|Retrieves the file name of the library or object file from which the object was loaded.| +|[`IDiaSymbol::get_liveRangeLength`](../../debugger/debug-interface-access/idiasymbol-get-liverangelength.md)|Returns the length of the address range in which the local symbol is valid.| +|[`IDiaSymbol::get_liveRangeStartAddressOffset`](../../debugger/debug-interface-access/idiasymbol-get-liverangestartaddressoffset.md)|Returns the offset part of the starting address range in which the local symbol is valid.| +|[`IDiaSymbol::get_liveRangeStartAddressSection`](../../debugger/debug-interface-access/idiasymbol-get-liverangestartaddresssection.md)|Returns the section part of the starting address range in which the local symbol is valid.| +|[`IDiaSymbol::get_liveRangeStartRelativeVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-liverangestartrelativevirtualaddress.md)|Returns the start of the address range in which the local symbol is valid.| +|[`IDiaSymbol::get_localBasePointerRegisterId`](../../debugger/debug-interface-access/idiasymbol-get-localbasepointerregisterid.md)|Retrieves the register designator of the register holding base pointer to locals.| +|[`IDiaSymbol::get_locationType`](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md)|Retrieves the location type of a data symbol.| +|[`IDiaSymbol::get_lowerBound`](../../debugger/debug-interface-access/idiasymbol-get-lowerbound.md)|Retrieves the lower bound of a FORTRAN array dimension.| +|[`IDiaSymbol::get_lowerBoundId`](../../debugger/debug-interface-access/idiasymbol-get-lowerboundid.md)|Retrieves the symbol identifier of the lower bound of a FORTRAN array dimension.| +|[`IDiaSymbol::get_machineType`](../../debugger/debug-interface-access/idiasymbol-get-machinetype.md)|Retrieves the type of the target CPU.| +|[`IDiaSymbol::get_managed`](../../debugger/debug-interface-access/idiasymbol-get-managed.md)|Retrieves a flag that indicating whether the symbol refers to managed code.| +|[`IDiaSymbol::get_memorySpaceKind`](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md)|Retrieves the memory space kind.| +|[`IDiaSymbol::get_modifierValues`](../../debugger/debug-interface-access/idiasymbol-get-modifiervalues.md)|Retrieves the set of modifers for this symbol.| +|[`IDiaSymbol::get_msil`](../../debugger/debug-interface-access/idiasymbol-get-msil.md)|Retrieves a flag indicating whether the symbol refers to Microsoft Intermediate Language (MSIL) code.| +|[`IDiaSymbol::get_name`](../../debugger/debug-interface-access/idiasymbol-get-name.md)|Retrieves the name of the symbol.| +|[`IDiaSymbol::get_nested`](../../debugger/debug-interface-access/idiasymbol-get-nested.md)|Retrieves a flag indicating whether the user-defined data type is nested.| +|[`IDiaSymbol::get_noInline`](../../debugger/debug-interface-access/idiasymbol-get-noinline.md)|Retrieves a flag indicating whether the function is marked with the [noinline](/cpp/cpp/noinline) attribute.| +|[`IDiaSymbol::get_noNameExport`](../../debugger/debug-interface-access/idiasymbol-get-nonameexport.md)|Retrieves a flag indicating whether this export is `NONAME`.| +|[`IDiaSymbol::get_noReturn`](../../debugger/debug-interface-access/idiasymbol-get-noreturn.md)|Retrieves a flag indicating whether the function has been declared with the [noreturn](/cpp/cpp/noreturn) attribute.| +|[`IDiaSymbol::get_noStackOrdering`](../../debugger/debug-interface-access/idiasymbol-get-nostackordering.md)|Retrieves a flag indicating whether no stack ordering could be done as part of stack buffer checking.| +|[`IDiaSymbol::get_notReached`](../../debugger/debug-interface-access/idiasymbol-get-notreached.md)|Retrieves a flag indicating whether the function or label is never reached.| +|[`IDiaSymbol::get_numberOfAcceleratorPointerTags`](../../debugger/debug-interface-access/idiasymbol-get-numberofacceleratorpointertags.md)|Returns the number of accelerator pointer tags in a C++ AMP stub function.| +|[`IDiaSymbol::get_numberOfColumns`](../../debugger/debug-interface-access/idiasymbol-get-numberofcolumns.md)|Retrieves the number of columns in the matrix.| +|[`IDiaSymbol::get_numberOfModifiers`](../../debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md)|Retrieves the number of modifiers that are applied to the original type.| +|[`IDiaSymbol::get_numberOfRegisterIndices`](../../debugger/debug-interface-access/idiasymbol-get-numberofregisterindices.md)|Retrieves the number of register indices.| +|[`IDiaSymbol::get_numberOfRows`](../../debugger/debug-interface-access/idiasymbol-get-numberofrows.md)|Retrieves the number of rows in the matrix.| +|[`IDiaSymbol::get_numericProperties`](../../debugger/debug-interface-access/idiasymbol-get-numericproperties.md)|Retrieves the set of numeric properties for this symbol.| +|[`IDiaSymbol::get_objectFileName`](../../debugger/debug-interface-access/idiasymbol-get-objectfilename.md)|Retrieves the object file name.| +|[`IDiaSymbol::get_objectPointerType`](../../debugger/debug-interface-access/idiasymbol-get-objectpointertype.md)|Retrieves the type of the object pointer for a class method.| +|[`IDiaSymbol::get_oemId`](../../debugger/debug-interface-access/idiasymbol-get-oemid.md)|Retrieves the symbol's `oemId` value.| +|[`IDiaSymbol::get_oemSymbolId`](../../debugger/debug-interface-access/idiasymbol-get-oemsymbolid.md)|Retrieves the symbol's `oemSymbolId` value.| +|[`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md)|Retrieves the offset of the symbol location.| +|[`IDiaSymbol::get_offsetInUdt`](../../debugger/debug-interface-access/idiasymbol-get-offsetinudt.md)|Retrieves the field offset of this symbol withinthe outer user-defined type (UDT).| +|[`IDiaSymbol::get_optimizedCodeDebugInfo`](../../debugger/debug-interface-access/idiasymbol-get-optimizedcodedebuginfo.md)|Retrieves a flag indicating whether the function or label contains optimized code as well as debug information.| +|[`IDiaSymbol::get_ordinal`](../../debugger/debug-interface-access/idiasymbol-get-ordinal.md)|Retrieves the ordinal of this export.| +|[`IDiaSymbol::get_overloadedOperator`](../../debugger/debug-interface-access/idiasymbol-get-overloadedoperator.md)|Retrieves a flag indicating whether the user-defined data type has overloaded operators.| +|[`IDiaSymbol::get_packed`](../../debugger/debug-interface-access/idiasymbol-get-packed.md)|Retrieves a flag indicating whether the user-defined data type is packed.| +|[`IDiaSymbol::get_paramBasePointerRegisterId`](../../debugger/debug-interface-access/idiasymbol-get-parambasepointerregisterid.md)|Retrieves the register designator of the register holding the base pointer to parameters.| +|[`IDiaSymbol::get_PGODynamicInstructionCount`](../../debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md)|Retrieves the dynamic instruction count calculated by training.| +|[`IDiaSymbol::get_PGOEdgeCount`](../../debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md)|Retrieves the edge count between a caller/callee and it's parent.| +|[`IDiaSymbol::get_PGOEntryCount`](../../debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md)|Retrieves the total invocation count in PGO training.| +|[`IDiaSymbol::get_phaseName`](../../debugger/debug-interface-access/idiasymbol-get-phasename.md)|Retrieves the phase this function is a member of for PGO multiphased builds.| +|[`IDiaSymbol::get_platform`](../../debugger/debug-interface-access/idiasymbol-get-platform.md)|Retrieves the platform type for which the program or compiland was compiled.| +|[`IDiaSymbol::get_privateExport`](../../debugger/debug-interface-access/idiasymbol-get-privatexport.md)|Retrieves a flag indicating whether this export is `PRIVATE`.| +|[`IDiaSymbol::get_pure`](../../debugger/debug-interface-access/idiasymbol-get-pure.md)|Retrieves a flag that indicating whether the function is pure virtual.| +|[`IDiaSymbol::get_rank`](../../debugger/debug-interface-access/idiasymbol-get-rank.md)|Retrieves the rank of a FORTRAN multidimensional array.| +|[`IDiaSymbol::get_reference`](../../debugger/debug-interface-access/idiasymbol-get-reference.md)|Retrieves a flag indicating whether a pointer type is a reference.| +|[`IDiaSymbol::get_registerId`](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)|Retrieves the register designator of the location.| +|[`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-registertype.md)|Retrieves the register type.| +|[`IDiaSymbol::get_relativeVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-relativevirtualaddress.md)|Retrieves the relative virtual address (RVA) of the location.| +|[`IDiaSymbol::get_restrictedType`](../../debugger/debug-interface-access/idiasymbol-get-restrictedtype.md)|Specifies whether the `this` pointer is flagged as restricted.| +|[`IDiaSymbol::get_RValueReference`](../../debugger/debug-interface-access/idiasymbol-get-rvaluereference.md)|Retrieves a flag that specifies whether a pointer type is an rvalue reference.| +|[`IDiaSymbol::get_samplerSlot`](../../debugger/debug-interface-access/idiasymbol-get-samplerslot.md)|Retrieves the sampler slot.| +|[`IDiaSymbol::get_scoped`](../../debugger/debug-interface-access/idiasymbol-get-scoped.md)|Retrieves a flag indicating whether the user-defined data type appears in a nonglobal lexical scope.| +|[`IDiaSymbol::get_sealed`](../../debugger/debug-interface-access/idiasymbol-get-sealed.md)|Retrieves a flag that specifies whether the class or method is sealed.| +|[`IDiaSymbol::get_signature`](../../debugger/debug-interface-access/idiasymbol-get-signature.md)|Retrieves the symbol's signature value.| +|[`IDiaSymbol::get_sizeInUdt`](../../debugger/debug-interface-access/idiasymbol-get-sizeinudt.md)|Retrieves the size of a member of a user-defined type.| +|[`IDiaSymbol::get_slot`](../../debugger/debug-interface-access/idiasymbol-get-slot.md)|Retrieves the slot number of the location.| +|[`IDiaSymbol::get_sourceFileName`](../../debugger/debug-interface-access/idiasymbol-get-sourcefilename.md)|Retrieves the file name of the source file.| +|[`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md)|Retrieves the static instruction count.| +|[`IDiaSymbol::get_strictGSCheck`](../../debugger/debug-interface-access/idiasymbol-get-strictgscheck.md)|Retrieves a flag indicating whether this function was compiled with [`strict_gs_check` pragma](/cpp/preprocessor/strict-gs-check) enabled.| +|[`IDiaSymbol::get_stride`](../../debugger/debug-interface-access/idiasymbol-get-stride.md)|Retrieves the stride of the matrix or strided array.| +|[`IDiaSymbol::get_subType`](../../debugger/debug-interface-access/idiasymbol-get-subtype.md)|Retrieves the sub type.| +|[`IDiaSymbol::get_subTypeId`](../../debugger/debug-interface-access/idiasymbol-get-subtypeid.md)|Retrieves the sub type ID.| +|[`IDiaSymbol::get_symbolsFileName`](../../debugger/debug-interface-access/idiasymbol-get-symbolsfilename.md)|Retrieves the name of the file from which the symbols were loaded.| +|[`IDiaSymbol::get_symIndexId`](../../debugger/debug-interface-access/idiasymbol-get-symindexid.md)|Retrieves the unique symbol identifier.| +|[`IDiaSymbol::get_symTag`](../../debugger/debug-interface-access/idiasymbol-get-symtag.md)|Retrieves the symbol type classifier.| +|[`IDiaSymbol::get_targetOffset`](../../debugger/debug-interface-access/idiasymbol-get-targetoffset.md)|Retrieves the offset section of a thunk target.| +|[`IDiaSymbol::get_targetRelativeVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-targetrelativevirtualaddress.md)|Retrieves the relative virtual address (RVA) of a thunk target.| +|[`IDiaSymbol::get_targetSection`](../../debugger/debug-interface-access/idiasymbol-get-targetsection.md)|Retrieves the address section of a thunk target.| +|[`IDiaSymbol::get_targetVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-targetvirtualaddress.md)|Retrieves the virtual address (VA) of a thunk target.| +|[`IDiaSymbol::get_textureSlot`](../../debugger/debug-interface-access/idiasymbol-get-textureslot.md)|Retrieves the texture slot.| +|[`IDiaSymbol::get_thisAdjust`](../../debugger/debug-interface-access/idiasymbol-get-thisadjust.md)|Retrieves the logical `this` adjustor for the method.| +|[`IDiaSymbol::get_thunkOrdinal`](../../debugger/debug-interface-access/idiasymbol-get-thunkordinal.md)|Retrieves the thunk type of a function.| +|[`IDiaSymbol::get_timeStamp`](../../debugger/debug-interface-access/idiasymbol-get-timestamp.md)|Retrieves the timestamp of the underlying executable file.| +|[`IDiaSymbol::get_token`](../../debugger/debug-interface-access/idiasymbol-get-token.md)|Retrieves the metadata token of a managed function or variable.| +|[`IDiaSymbol::get_type`](../../debugger/debug-interface-access/idiasymbol-get-type.md)|Retrieves a reference to the function signature.| +|[`IDiaSymbol::get_typeId`](../../debugger/debug-interface-access/idiasymbol-get-typeid.md)|Retrieves the type identifier of the symbol.| +|[`IDiaSymbol::get_typeIds`](../../debugger/debug-interface-access/idiasymbol-get-typeids.md)|Retrieves an array of compiler-specific type identifier values for this symbol.| +|[`IDiaSymbol::get_types`](../../debugger/debug-interface-access/idiasymbol-get-types.md)|Retrieves an array of compiler-specific type values for this symbol.| +|[`IDiaSymbol::get_uavSlot`](../../debugger/debug-interface-access/idiasymbol-get-uavslot.md)|Retrieves the uav slot.| +|[`IDiaSymbol::get_udtKind`](../../debugger/debug-interface-access/idiasymbol-get-udtkind.md)|Retrieves the variety of a user-defined type (UDT).| +|[`IDiaSymbol::get_unalignedType`](../../debugger/debug-interface-access/idiasymbol-get-unalignedtype.md)|Retrieves a flag indicating whether the user-defined data type is unaligned.| +|[`IDiaSymbol::get_undecoratedName`](../../debugger/debug-interface-access/idiasymbol-get-undecoratedname.md)|Retrieves the undecorated name for a C++ decorated, or linkage, name.| +|[`IDiaSymbol::get_undecoratedNameEx`](../../debugger/debug-interface-access/idiasymbol-get-undecoratednameex.md)|Extension of the `get_undecoratedName` method that retrieves the undecorated name based on the value of an extension field.| +|[`IDiaSymbol::get_unmodifiedType`](../../debugger/debug-interface-access/idiasymbol-get-unmodifiedtype.md)|Retrieves the original (unmodifed) type of this symbol.| +|[`IDiaSymbol::get_unmodifiedTypeId`](../../debugger/debug-interface-access/idiasymbol-get-unmodifiedtypeid.md)|Retrieves the ID of the original (unmodified) type.| +|[`IDiaSymbol::get_unused`](../../debugger/debug-interface-access/idiasymbol-get-unused.md)|Deprecated function.| +|[`IDiaSymbol::get_upperBound`](../../debugger/debug-interface-access/idiasymbol-get-upperbound.md)|Retrieves the upper bound of a FORTRAN array dimension.| +|[`IDiaSymbol::get_upperBoundId`](../../debugger/debug-interface-access/idiasymbol-get-upperboundid.md)|Retrieves the symbol identifier of the upper bound of a FORTRAN array dimension.| +|[`IDiaSymbol::get_value`](../../debugger/debug-interface-access/idiasymbol-get-value.md)|Retrieves the value of a constant.| +|[`IDiaSymbol::get_virtual`](../../debugger/debug-interface-access/idiasymbol-get-virtual.md)|Retrieves a flag indicating whether the function is virtual.| +|[`IDiaSymbol::get_virtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-virtualaddress.md)|Retrieves the virtual address (VA) of the location.| +|[`IDiaSymbol::get_virtualBaseClass`](../../debugger/debug-interface-access/idiasymbol-get-virtualbaseclass.md)|Retrieves a flag indicating whether the user-defined data type is a virtual base class.| +|[`IDiaSymbol::get_virtualBaseDispIndex`](../../debugger/debug-interface-access/idiasymbol-get-virtualbasedispindex.md)|Retrieves the index to the virtual base displacement table.| +|[`IDiaSymbol::get_virtualBaseOffset`](../../debugger/debug-interface-access/idiasymbol-get-virtualbaseoffset.md)|Retrieves the offset in the virtual function table of a virtual function.| +|[`IDiaSymbol::get_virtualBasePointerOffset`](../../debugger/debug-interface-access/idiasymbol-get-virtualbasepointeroffset.md)|Retrieves the offset of the virtual base pointer.| +|[`IDiaSymbol::get_virtualBaseTableType`](../../debugger/debug-interface-access/idiasymbol-get-virtualbasetabletype.md)|Retrieves the type of a virtual base table pointer.| +|[`IDiaSymbol::get_virtualTableShape`](../../debugger/debug-interface-access/idiasymbol-get-virtualtableshape.md)|Retrieves the symbol interface of the type of the virtual table for a user-defined type.| +|[`IDiaSymbol::get_virtualTableShapeId`](../../debugger/debug-interface-access/idiasymbol-get-virtualtableshapeid.md)|Retrieves the virtual table shape identifier of the symbol.| +|[`IDiaSymbol::get_volatileType`](../../debugger/debug-interface-access/idiasymbol-get-volatiletype.md)|Retrieves a flag indicating whether the user-defined data type is volatile.| +|[`IDiaSymbol::get_wasInlined`](../../debugger/debug-interface-access/idiasymbol-get-wasinlined.md)|Retrieves a flag indicating whether this function symbol was inlined into another function.| +|[`IDiaSymbol::getSrcLineOnTypeDefn`](../../debugger/debug-interface-access/idiasymbol-getsrclineontypedefn.md)|Retrieves the source file and line number that indicate where a specified user-defined type is defined.| ## Remarks ## Notes for Callers + Obtain this interface by calling one of the following methods: - [IDiaEnumSymbols::Item](../../debugger/debug-interface-access/idiaenumsymbols-item.md) @@ -252,6 +307,7 @@ Obtain this interface by calling one of the following methods: - [IDiaSymbol::get_types](../../debugger/debug-interface-access/idiasymbol-get-types.md) ## Example + This example shows how to display the local variables for a function at a given relative virtual address. It also shows how symbols of different types are related to each other. > [!NOTE] @@ -330,13 +386,15 @@ void DumpLocalVars( DWORD rva, IDiaSession *pSession ) ``` ## Requirements + `Header:` Dia2.h Library: diaguids.lib -DLL: msdia80.dll +DLL: msdia140.dll ## See also + - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) - [IDiaEnumSymbolsByAddr](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) - [IDiaEnumSymbols](../../debugger/debug-interface-access/idiaenumsymbols.md) diff --git a/docs/debugger/debug-interface-access/udtkind.md b/docs/debugger/debug-interface-access/udtkind.md index d8672ed0bd9..d8f211921b9 100644 --- a/docs/debugger/debug-interface-access/udtkind.md +++ b/docs/debugger/debug-interface-access/udtkind.md @@ -35,6 +35,7 @@ enum UdtKind { | UdtClass | UDT is a class. | | UdtUnion | UDT is a union. | | UdtInterface | UDT is an interface. | +| UdtTaggedUnion | UDT is a tagged union. | ## Remarks The values in this enumeration are returned by the [IDiaSymbol::get_udtKind](../../debugger/debug-interface-access/idiasymbol-get-udtkind.md) method. From 27db52264d3b191c7fbf654082f192beddbd1a7c Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 12 Jul 2024 10:14:01 -0700 Subject: [PATCH 10/25] IDiaSymbol2 (Objective-C) --- .../idiasymbol2-get-isobjccategory.md | 44 ++++++++++++++ .../idiasymbol2-get-isobjcclass.md | 44 ++++++++++++++ .../idiasymbol2-get-isobjcprotocol.md | 44 ++++++++++++++ .../debug-interface-access/idiasymbol2.md | 57 +++++++++++++++++++ 4 files changed, 189 insertions(+) create mode 100644 docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol2.md diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md new file mode 100644 index 00000000000..c225b6b273e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a flag indicating whether this is an Objective-C category." +title: "IDiaSymbol2::get_isObjCCategory" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isObjCCategory method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isObjCCategory` + +Retrieves a flag indicating whether this is an Objective-C category. + +## Syntax + +```C++ +HRESULT get_isObjCCategory (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` is this symbol is an Objective-C category; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol2::get_isObjCClass`](../../debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md) +- [`IDiaSymbol2::get_isObjCProtocol`](../../debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md new file mode 100644 index 00000000000..d8767bd4ad5 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a flag indicating whether this is an Objective-C class interface/implementation." +title: "IDiaSymbol2::get_isObjCClass" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isObjClass method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isObjCClass` + +Retrieves a flag indicating whether this is an Objective-C class interface/implementation. + +## Syntax + +```C++ +HRESULT get_isObjCClass (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` is this symbol is an Objective-C class interface/implementation; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol2::get_isObjCCategory`](../../debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md) +- [`IDiaSymbol2::get_isObjCProtocol`](../../debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md new file mode 100644 index 00000000000..46882c79252 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves a flag indicating whether this is an Objective-C protocol." +title: "IDiaSymbol2::get_isObjCProtocol" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_isObjCProtocol method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_isObjCProtocol` + +Retrieves a flag indicating whether this is an Objective-C protocol. + +## Syntax + +```C++ +HRESULT get_isObjCProtocol (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` is this symbol is an Objective-C protocol; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol2::get_isObjCCategory`](../../debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md) +- [`IDiaSymbol2::get_isObjCClass`](../../debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol2.md b/docs/debugger/debug-interface-access/idiasymbol2.md new file mode 100644 index 00000000000..e85e8140646 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol2.md @@ -0,0 +1,57 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol2" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol2 interface" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSymbol2 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol2 : IDiaSymbol +``` + +## Methods in Alphabetical Order + +The following table shows the methods of `IDiaSymbol2`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol2::get_isObjCCategory`](../../debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md)|Retrieves a flag indicating whether this is an Objective-C category.| +|[`IDiaSymbol2::get_isObjCClass`](../../debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md)|Retrieves a flag indicating whether this is an Objective-C class interface/implementation.| +|[`IDiaSymbol2::get_isObjCProtocol`](../../debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md)|Retrieves a flag indicating whether this is an Objective-C protocol.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`() to do a dynamic downcast + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) From 45627840af67aa366aa21c19c3438a01e2b0127b Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 12 Jul 2024 10:30:51 -0700 Subject: [PATCH 11/25] IDIaSymbol3 (inlinees) --- .../debug-interface-access/idiasymbol2.md | 2 +- .../idiasymbol3-get-inlinee.md | 44 ++++++++++++++ .../idiasymbol3-get-inlineeid.md | 44 ++++++++++++++ .../debug-interface-access/idiasymbol3.md | 57 +++++++++++++++++++ 4 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol3.md diff --git a/docs/debugger/debug-interface-access/idiasymbol2.md b/docs/debugger/debug-interface-access/idiasymbol2.md index e85e8140646..add97edcb99 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2.md +++ b/docs/debugger/debug-interface-access/idiasymbol2.md @@ -39,7 +39,7 @@ The following table shows the methods of `IDiaSymbol2`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`() to do a dynamic downcast +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md b/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md new file mode 100644 index 00000000000..c2aaefd5585 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves the inlinee symbol from a SymTagInlineSite symbol." +title: "IDiaSymbol3::get_inlinee" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_inlinee method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_inlinee` + +Retrieves the inlinee symbol from a `SymTagInlineSite` symbol. + +## Syntax + +```C++ +HRESULT get_inlinee (  + IDiaSymbol** pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) for the inlined function if this is an `SymTagInlineSite` symbol. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol3::get_inlineeId`](../../debugger/debug-interface-access/idiasymbol3-get-inlineeId.md) +- [`SymTagEnum`](../../debugger/debug-interface-access/symtagenum.md) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md b/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md new file mode 100644 index 00000000000..047a4329edf --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves the inlinee ID from a SymTagInlineSite symbol." +title: "IDiaSymbol3::get_inlineeId" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol::get_inlineeId method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol::get_inlineeId` + +Retrieves the inlinee ID from a `SymTagInlineSite` symbol. + +## Syntax + +```C++ +HRESULT get_inlineeId (  + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the inlinee ID for the inlined function if this is an `SymTagInlineSite` symbol. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol3::get_inlinee`](../../debugger/debug-interface-access/idiasymbol3-get-inlinee.md) +- [`SymTagEnum`](../../debugger/debug-interface-access/symtagenum.md) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasymbol3.md b/docs/debugger/debug-interface-access/idiasymbol3.md new file mode 100644 index 00000000000..c75d3f3394a --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol3.md @@ -0,0 +1,57 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol3" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol3 interface" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSymbol3 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol3 : IDiaSymbol2 +``` + +## Methods in Alphabetical Order + +The following table shows the methods of `IDiaSymbol3`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol3::get_inlinee`](../../debugger/debug-interface-access/idiasymbol3-get-inlinee.md)|Retrieves the inlinee symbol from a `SymTagInlineSite` symbol.| +|[`IDiaSymbol3::get_inlineeId`](../../debugger/debug-interface-access/idiasymbol3-get-inlineeid.md)|Retrieves the inlinee ID from a `SymTagInlineSite` symbol.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) From bac3c21e30ee0754f1e7769f2db98da5bb06c41f Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:08:16 -0700 Subject: [PATCH 12/25] IDiaSymbol2-7 and TOC --- .../debug-interface-access/idiasymbol.md | 2 +- .../idiasymbol2-get-isobjccategory.md | 4 +- .../idiasymbol2-get-isobjcclass.md | 4 +- .../idiasymbol2-get-isobjcprotocol.md | 4 +- .../debug-interface-access/idiasymbol2.md | 6 +- .../idiasymbol3-get-inlinee.md | 4 +- .../idiasymbol3-get-inlineeid.md | 4 +- .../debug-interface-access/idiasymbol3.md | 6 +- .../idiasymbol4-get-noexcept.md | 43 ++++ .../debug-interface-access/idiasymbol4.md | 58 +++++ .../idiasymbol5-get-hasabsoluteaddress.md | 43 ++++ .../debug-interface-access/idiasymbol5.md | 58 +++++ .../idiasymbol6-get-isstaticmemberfunc.md | 43 ++++ .../debug-interface-access/idiasymbol6.md | 59 +++++ .../idiasymbol7-get-issignret.md | 43 ++++ .../debug-interface-access/idiasymbol7.md | 56 +++++ docs/debugger/debug-interface-access/toc.yml | 206 ++++++++++++++++-- 17 files changed, 612 insertions(+), 31 deletions(-) create mode 100644 docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol4.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol5.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol6.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol7.md diff --git a/docs/debugger/debug-interface-access/idiasymbol.md b/docs/debugger/debug-interface-access/idiasymbol.md index 6b4dae4320e..f53e03a098b 100644 --- a/docs/debugger/debug-interface-access/idiasymbol.md +++ b/docs/debugger/debug-interface-access/idiasymbol.md @@ -180,7 +180,7 @@ The following table shows the methods of `IDiaSymbol`. |[`IDiaSymbol::get_msil`](../../debugger/debug-interface-access/idiasymbol-get-msil.md)|Retrieves a flag indicating whether the symbol refers to Microsoft Intermediate Language (MSIL) code.| |[`IDiaSymbol::get_name`](../../debugger/debug-interface-access/idiasymbol-get-name.md)|Retrieves the name of the symbol.| |[`IDiaSymbol::get_nested`](../../debugger/debug-interface-access/idiasymbol-get-nested.md)|Retrieves a flag indicating whether the user-defined data type is nested.| -|[`IDiaSymbol::get_noInline`](../../debugger/debug-interface-access/idiasymbol-get-noinline.md)|Retrieves a flag indicating whether the function is marked with the [noinline](/cpp/cpp/noinline) attribute.| +|[`IDiaSymbol::get_noInline`](../../debugger/debug-interface-access/idiasymbol-get-noinline.md)|Retrieves a flag indicating whether the function is marked with the [`noinline`](/cpp/cpp/noinline) attribute.| |[`IDiaSymbol::get_noNameExport`](../../debugger/debug-interface-access/idiasymbol-get-nonameexport.md)|Retrieves a flag indicating whether this export is `NONAME`.| |[`IDiaSymbol::get_noReturn`](../../debugger/debug-interface-access/idiasymbol-get-noreturn.md)|Retrieves a flag indicating whether the function has been declared with the [noreturn](/cpp/cpp/noreturn) attribute.| |[`IDiaSymbol::get_noStackOrdering`](../../debugger/debug-interface-access/idiasymbol-get-nostackordering.md)|Retrieves a flag indicating whether no stack ordering could be done as part of stack buffer checking.| diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md index c225b6b273e..c8b6bb51539 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md @@ -6,13 +6,13 @@ ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - - "IDiaSymbol::get_isObjCCategory method" + - "IDiaSymbol2::get_isObjCCategory method" author: "grantri" ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isObjCCategory` +# `IDiaSymbol2::get_isObjCCategory` Retrieves a flag indicating whether this is an Objective-C category. diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md index d8767bd4ad5..2141cbc0dd9 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md @@ -6,13 +6,13 @@ ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - - "IDiaSymbol::get_isObjClass method" + - "IDiaSymbol2::get_isObjClass method" author: "grantri" ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isObjCClass` +# `IDiaSymbol2::get_isObjCClass` Retrieves a flag indicating whether this is an Objective-C class interface/implementation. diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md index 46882c79252..050c251cb12 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md @@ -6,13 +6,13 @@ ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - - "IDiaSymbol::get_isObjCProtocol method" + - "IDiaSymbol2::get_isObjCProtocol method" author: "grantri" ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isObjCProtocol` +# `IDiaSymbol2::get_isObjCProtocol` Retrieves a flag indicating whether this is an Objective-C protocol. diff --git a/docs/debugger/debug-interface-access/idiasymbol2.md b/docs/debugger/debug-interface-access/idiasymbol2.md index add97edcb99..43fefd2ff64 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2.md +++ b/docs/debugger/debug-interface-access/idiasymbol2.md @@ -7,9 +7,9 @@ dev_langs: - "C++" helpviewer_keywords: - "IDiaSymbol2 interface" -author: "mikejo5000" -ms.author: "mikejo" -manager: mijacobs +author: "grantri" +ms.author: "grantri" +manager: twhitney ms.subservice: debug-diagnostics --- # IDiaSymbol2 diff --git a/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md b/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md index c2aaefd5585..8b2ac104796 100644 --- a/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md +++ b/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md @@ -6,13 +6,13 @@ ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - - "IDiaSymbol::get_inlinee method" + - "IDiaSymbol3::get_inlinee method" author: "grantri" ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_inlinee` +# `IDiaSymbol3::get_inlinee` Retrieves the inlinee symbol from a `SymTagInlineSite` symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md b/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md index 047a4329edf..b5898619bd2 100644 --- a/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md +++ b/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md @@ -6,13 +6,13 @@ ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - - "IDiaSymbol::get_inlineeId method" + - "IDiaSymbol3::get_inlineeId method" author: "grantri" ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_inlineeId` +# `IDiaSymbol3::get_inlineeId` Retrieves the inlinee ID from a `SymTagInlineSite` symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol3.md b/docs/debugger/debug-interface-access/idiasymbol3.md index c75d3f3394a..ba00e1b408e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol3.md +++ b/docs/debugger/debug-interface-access/idiasymbol3.md @@ -7,9 +7,9 @@ dev_langs: - "C++" helpviewer_keywords: - "IDiaSymbol3 interface" -author: "mikejo5000" -ms.author: "mikejo" -manager: mijacobs +author: "grantri" +ms.author: "grantri" +manager: twhitney ms.subservice: debug-diagnostics --- # IDiaSymbol3 diff --git a/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md b/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md new file mode 100644 index 00000000000..d702d7555a5 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag indicating whether the function is declared as noexcept." +title: "IDiaSymbol4::get_noexcept" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol4::get_noexcept method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol4::get_noexcept` + +Retrieves a flag indicating whether the function is declared as `noexcept`. + +## Syntax + +```C++ +HRESULT get_noexcept (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` is this function is declared as `noexcept`; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [`noexcept` (C++)](/cpp/cpp/noexcept-cpp) diff --git a/docs/debugger/debug-interface-access/idiasymbol4.md b/docs/debugger/debug-interface-access/idiasymbol4.md new file mode 100644 index 00000000000..17a7920a6d8 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol4.md @@ -0,0 +1,58 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol4" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol4 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol4 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol4 : IDiaSymbol3 +``` + +## Methods in Alphabetical Order + +The following table shows the methods of `IDiaSymbol4`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol4::get_noexcept`](../../debugger/debug-interface-access/idiasymbol4-get-noexcept.md)|Retrieves a flag indicating whether the function is declared as `noexcept`.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md b/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md new file mode 100644 index 00000000000..42119879fe1 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag that indicates whether this symbol has an absolute address." +title: "IDiaSymbol5::get_hasAbsoluteAddress" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol5::get_hasAbsoluteAddress method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol5::get_hasAbsoluteAddress` + +Retrieves a flag that indicates whether this symbol has an absolute address. + +## Syntax + +```C++ +HRESULT get_hasAbsoluteAddress (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this symbol has an absolute address; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) +- [`noexcept` (C++)](/cpp/cpp/noexcept-cpp) diff --git a/docs/debugger/debug-interface-access/idiasymbol5.md b/docs/debugger/debug-interface-access/idiasymbol5.md new file mode 100644 index 00000000000..8af3ff22c88 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol5.md @@ -0,0 +1,58 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol5" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol5 interface" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSymbol5 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol5 : IDiaSymbol4 +``` + +## Methods in Alphabetical Order + +The following table shows the methods of `IDiaSymbol3`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol5::get_hasAbsoluteAddress`](../../debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md)|Retrieves a flag that indicates whether this symbol has an absolute address.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md b/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md new file mode 100644 index 00000000000..3597ee10597 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag that indicates whether this function is a static member function." +title: "IDiaSymbol6::get_isStaticMemberFunc" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol6::get_isStaticMemberFunc method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol6::get_isStaticMemberFunc` + +Retrieves a flag that indicates whether this function is a static member function. + +## Syntax + +```C++ +HRESULT get_isStaticMemberFunc (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if this is a static member function; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) +- [`noexcept` (C++)](/cpp/cpp/noexcept-cpp) diff --git a/docs/debugger/debug-interface-access/idiasymbol6.md b/docs/debugger/debug-interface-access/idiasymbol6.md new file mode 100644 index 00000000000..0bfdf356539 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol6.md @@ -0,0 +1,59 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol6" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol6 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol6 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol6 : IDiaSymbol5 +``` + +## Methods in Alphabetical Order + +The following table shows the methods of `IDiaSymbol6`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol6::get_isStaticMemberFunc`](../../debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md)|Retrieves a flag that indicates whether this function is a static member function.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md b/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md new file mode 100644 index 00000000000..eed17854271 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag that indicates whether this function has signed return address protections." +title: "IDiaSymbol7::get_isSignRet" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol7::get_isSignRet method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol7::get_isSignRet` + +Retrieves a flag that indicates whether this function has signed return address protections. + +## Syntax + +```C++ +HRESULT get_isSignRet (  + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` is this function has signed return address protections; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) + diff --git a/docs/debugger/debug-interface-access/idiasymbol7.md b/docs/debugger/debug-interface-access/idiasymbol7.md new file mode 100644 index 00000000000..91dc9d26767 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol7.md @@ -0,0 +1,56 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol7" +ms.date: "07/12/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol7 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol7 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol7 : IDiaSymbol6 +``` + +## Methods in Alphabetical Order + +The following table shows the methods of `IDiaSymbol7`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol7::get_isSignRet`](../../debugger/debug-interface-access/idiasymbol7-get-issignret.md)|Retrieves a flag that indicates whether this function has signed return address protections.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index ddcb7823b51..1ab414fc195 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -136,8 +136,8 @@ items: - name: IDiaDataSourceEx href: idiadatasourceex.md - - name: IDiaDataSource::loadDataFromPdbEx - href: idiadatasource-loaddatafrompdbex.md + - name: IDiaDataSourceEx::loadDataFromPdbEx + href: idiadatasourceex-loaddatafrompdbex.md - name: IDiaDataSourceEx::loadAndValidateDataFromPdbEx href: idiadatasourceex-loadandvalidatedatafrompdbex.md - name: IDiaDataSourceEx::loadDataForExeEx @@ -630,6 +630,10 @@ items: - name: IDiaSession href: idiasession.md + - name: IDiaSession::addressForRVA + href: idiasession-addressforrva.md + - name: IDiaSession::addressForVA + href: idiasession-addressForVA.md - name: IDiaSession::findAcceleratorInlineesByLinenum href: idiasession-findacceleratorinlineesbylinenum.md - name: IDiaSession::findAcceleratorInlineesByName @@ -648,6 +652,12 @@ href: idiasession-findfile.md - name: IDiaSession::findFileById href: idiasession-findfilebyid.md + - name: IDiaSession::findIlOffsetsByAddr + href: idiasession-findiloffsetsbyaddr.md + - name: IDiaSession::findIlOffsetsByRVA + href: idiasession-findiloffsetsbyrva.md + - name: IDiaSession::findIlOffsetsByVA + href: idiasession-findiloffsetsbyva.md - name: IDiaSession::findInjectedSource href: idiasession-findinjectedsource.md - name: IDiaSession::findInlineeLines @@ -668,6 +678,14 @@ href: idiasession-findinlineframesbyrva.md - name: IDiaSession::findInlineFramesByVA href: idiasession-findinlineframesbyva.md + - name: IDiaSession::findInputAssembly + href: idiasession-findinputassembly.md + - name: IDiaSession::findInputAssemblyById + href: idiasession-findinputassemblybyid.md + - name: IDiaSession::findInputAssemblyFile + href: idiasession-findinputassemblyfile.md + - name: IDiaSession::findInputAssemblyFiles + href: idiasession-findinputassemblyfiles.md - name: IDiaSession::findLines href: idiasession-findlines.md - name: IDiaSession::findLinesByAddr @@ -702,14 +720,44 @@ href: idiasession-getenumdebugstreams.md - name: IDiaSession::getEnumTables href: idiasession-getenumtables.md + - name: IDiaSession::getExports + href: idiasession-getexports.md + - name: IDiaSession::getFuncMDTokenMap + href: idiasession-getfuncmdtokenmap.md + - name: IDiaSession::getFuncMDTokenMapSize + href: idiasession-getfuncmdtokenmapsize.md + - name: IDiaSession::getFunctionFragments_RVA + href: idiasession-getfunctionfragments_rva.md + - name: IDiaSession::getFunctionFragments_VA + href: idiasession-getfunctionfragments_va.md + - name: IDiaSession::getHeapAllocationSites + href: idiasession-getheapallocationsites.md + - name: IDiaSession::getNumberOfFunctionFragments_RVA + href: idiasession-getnumberoffunctionfragments_rva.md + - name: IDiaSession::getNumberOfFunctionFragments_VA + href: idiasession-getnumberoffunctionfragments_va.md - name: IDiaSession::getSymbolsByAddr href: idiasession-getsymbolsbyaddr.md + - name: IDiaSession::getTypeMDTokenMap + href: idiasession-gettypemdtokenmap.md + - name: IDiaSession::getTypeMDTokenMapSize + href: idiasession-gettypemdtokenmapsize.md - name: IDiaSession::put_loadAddress href: idiasession-put-loadaddress.md - name: IDiaSession::symbolById href: idiasession-symbolbyid.md - name: IDiaSession::symsAreEquiv href: idiasession-symsareequiv.md + - name: IDiaSessionEx + items: + - name: IDiaSessionEx + href: idiasessionex.md + - name: IDiaSessionEx::getSourceLinkInfo + href: idiasessionex-getsourcelinkinfo.md + - name: IDiaSessionEx::isFastLinkPdb + href: idiasessionex-isfastlinkpdb.md + - name: IDiaSessionEx::isPortablePdb + href: idiasessionex-isportablepdb.md - name: IDiaSourceFile items: - name: IDiaSourceFile @@ -818,12 +866,6 @@ href: idiasymbol-findchildrenexbyrva.md - name: IDiaSymbol::findChildrenExByVA href: idiasymbol-findchildrenexbyva.md - - name: IDiaSymbol::findInlineFramesByAddr - href: idiasymbol-findinlineframesbyaddr.md - - name: IDiaSymbol::findInlineFramesByRVA - href: idiasymbol-findinlineframesbyrva.md - - name: IDiaSymbol::findInlineFramesByVA - href: idiasymbol-findinlineframesbyva.md - name: IDiaSymbol::findInlineeLines href: idiasymbol-findinlineelines.md - name: IDiaSymbol::findInlineeLinesByAddr @@ -832,6 +874,14 @@ href: idiasymbol-findinlineelinesbyrva.md - name: IDiaSymbol::findInlineeLinesByVA href: idiasymbol-findinlineelinesbyva.md + - name: IDiaSymbol::findInlineFramesByAddr + href: idiasymbol-findinlineframesbyaddr.md + - name: IDiaSymbol::findInlineFramesByRVA + href: idiasymbol-findinlineframesbyrva.md + - name: IDiaSymbol::findInlineFramesByVA + href: idiasymbol-findinlineframesbyva.md + - name: IDiaSymbol::findInputAssemblyFile + href: idiasymbol-findinputassemblyfile.md - name: IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag href: idiasymbol-findsymbolsbyrvaforacceleratorpointertag.md - name: IDiaSymbol::findSymbolsForAcceleratorPointerTag @@ -858,6 +908,8 @@ href: idiasymbol-get-backendmajor.md - name: IDiaSymbol::get_backEndMinor href: idiasymbol-get-backendminor.md + - name: IDiaSymbol::get_backEndQFE + href: idiasymbol-get-backendqfe.md - name: IDiaSymbol::get_baseDataOffset href: idiasymbol-get-basedataoffset.md - name: IDiaSymbol::get_baseDataSlot @@ -874,16 +926,22 @@ href: idiasymbol-get-builtinkind.md - name: IDiaSymbol::get_callingConvention href: idiasymbol-get-callingconvention.md + - name: IDiaSymbol::get_characteristics + href: idiasymbol-get-characteristics.md - name: IDiaSymbol::get_classParent href: idiasymbol-get-classparent.md - name: IDiaSymbol::get_classParentId href: idiasymbol-get-classparentid.md - name: IDiaSymbol::get_code href: idiasymbol-get-code.md + - name: IDiaSymbol::get_coffGroup + href: idiasymbol-get-coffgroup.md - name: IDiaSymbol::get_compilerGenerated href: idiasymbol-get-compilergenerated.md - name: IDiaSymbol::get_compilerName href: idiasymbol-get-compilername.md + - name: IDiaSymbol::get_constantExport + href: idiasymbol-get-constantexport.md - name: IDiaSymbol::get_constructor href: idiasymbol-get-constructor.md - name: IDiaSymbol::get_constType @@ -898,26 +956,48 @@ href: idiasymbol-get-customcallingconvention.md - name: IDiaSymbol::get_dataBytes href: idiasymbol-get-databytes.md + - name: IDiaSymbol::get_dataExport + href: idiasymbol-get-dataexport.md - name: IDiaSymbol::get_dataKind href: idiasymbol-get-datakind.md - name: IDiaSymbol::get_editAndContinueEnabled href: idiasymbol-get-editandcontinueenabled.md + - name: IDiaSymbol::get_exceptionHandlerAddressOffset + href: idiasymbol-get-exceptionhandleraddressoffset.md + - name: IDiaSymbol::get_exceptionHandlerAddressSection + href: idiasymbol-get-exceptionhandleraddresssection.md + - name: IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress + href: idiasymbol-get-exceptionhandlerrelativevirtualaddress.md + - name: IDiaSymbol::get_exceptionHandlerVirtualAddress + href: idiasymbol-get-exceptionhandlervirtualaddress.md + - name: IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal + href: idiasymbol-get-exporthasexplicitlyassignedordinal.md + - name: IDiaSymbol::get_exportIsForwarder + href: idiasymbol-get-exportisforwarder.md - name: IDiaSymbol::get_farReturn href: idiasymbol-get-farreturn.md + - name: IDiaSymbol::get_finalLiveStaticSize + href: idiasymbol-get-finallivestaticsize.md - name: IDiaSymbol::get_framePadOffset href: idiasymbol-get-framepadoffset.md - name: IDiaSymbol::get_framePadSize href: idiasymbol-get-framepadsize.md - name: IDiaSymbol::get_framePointerPresent href: idiasymbol-get-framepointerpresent.md + - name: IDiaSymbol::get_frameSize + href: idiasymbol-get-framesize.md - name: IDiaSymbol::get_frontEndBuild href: idiasymbol-get-frontendbuild.md - name: IDiaSymbol::get_frontEndMajor href: idiasymbol-get-frontendmajor.md - name: IDiaSymbol::get_frontEndMinor href: idiasymbol-get-frontendminor.md + - name: IDiaSymbol::get_frontEndQFE + href: idiasymbol-get-frontendqfe.md - name: IDiaSymbol::get_function href: idiasymbol-get-function.md + - name: IDiaSymbol::get_get_hasControlFlowCheck + href: idiasymbol-get-hascontrolflowcheck.md - name: IDiaSymbol::get_guid href: idiasymbol-get-guid.md - name: IDiaSymbol::get_hasAlloca @@ -946,10 +1026,12 @@ href: idiasymbol-get-hasseh.md - name: IDiaSymbol::get_hasSetJump href: idiasymbol-get-hassetjump.md - - name: IDiaSymbol::get_hfaFloat - href: idiasymbol-get-hfafloat.md + - name: IDiaSymbol::get_hasValidPGOCounts + href: idiasymbol-get-hasvalidpgocounts.md - name: IDiaSymbol::get_hfaDouble href: idiasymbol-get-hfadouble.md + - name: IDiaSymbol::get_hfaFloat + href: idiasymbol-get-hfafloat.md - name: IDiaSymbol::get_indirectVirtualBaseClass href: idiasymbol-get-indirectvirtualbaseclass.md - name: IDiaSymbol::get_InlSpec @@ -968,16 +1050,24 @@ href: idiasymbol-get-isacceleratorstubfunction.md - name: IDiaSymbol::get_isAggregated href: idiasymbol-get-isaggregated.md + - name: IDiaSymbol::get_isConstructorVirtualBase + href: idiasymbol-get-isconstructorvirtualbase.md - name: IDiaSymbol::get_isCTypes href: idiasymbol-get-isctypes.md - name: IDiaSymbol::get_isCVTCIL href: idiasymbol-get-iscvtcil.md + - name: IDiaSymbol::get_isCxxReturnUdt + href: idiasymbol-get-iscxxreturnudt.md - name: IDiaSymbol::get_isDataAligned href: idiasymbol-get-isdataaligned.md - name: IDiaSymbol::get_isHLSLData href: idiasymbol-get-ishlsldata.md - name: IDiaSymbol::get_isHotpatchable href: idiasymbol-get-ishotpatchable.md + - name: IDiaSymbol::get_isInterfaceUdt + href: idiasymbol-get-isinterfaceudt.md + - name: IDiaSymbol::get_isLocationControlFlowDependent + href: idiasymbol-get-islocationcontrolflowdependent.md - name: IDiaSymbol::get_isLTCG href: idiasymbol-get-isltcg.md - name: IDiaSymbol::get_isMatrixRowMajor @@ -990,12 +1080,16 @@ href: idiasymbol-get-isnaked.md - name: IDiaSymbol::get_isOptimizedAway href: idiasymbol-get-isoptimizedaway.md + - name: IDiaSymbol::get_isPGO + href: idiasymbol-get-ispgo.md - name: IDiaSymbol::get_isPointerBasedOnSymbolValue href: idiasymbol-get-ispointerbasedonsymbolvalue.md - name: IDiaSymbol::get_isPointerToDataMember href: idiasymbol-get-ispointertodatamember.md - name: IDiaSymbol::get_isPointerToMemberFunction href: idiasymbol-get-ispointertomemberfunction.md + - name: IDiaSymbol::get_isRefUdt + href: idiasymbol-get-isrefudt.md - name: IDiaSymbol::get_isReturnValue href: idiasymbol-get-isreturnvalue.md - name: IDiaSymbol::get_isRTCs @@ -1012,8 +1106,12 @@ href: idiasymbol-get-isstatic.md - name: IDiaSymbol::get_isStripped href: idiasymbol-get-isstripped.md + - name: IDiaSymbol::get_isValueUdt + href: idiasymbol-get-isvalueudt.md - name: IDiaSymbol::get_isVirtualInheritance href: idiasymbol-get-isvirtualinheritance.md + - name: IDiaSymbol::get_isWinRTPointer + href: idiasymbol-get-iswinrtpointer.md - name: IDiaSymbol::get_language href: idiasymbol-get-language.md - name: IDiaSymbol::get_length @@ -1046,6 +1144,8 @@ href: idiasymbol-get-managed.md - name: IDiaSymbol::get_memorySpaceKind href: idiasymbol-get-memoryspacekind.md + - name: IDiaSymbol::get_modifierValues + href: idiasymbol-get-modifiervalues.md - name: IDiaSymbol::get_msil href: idiasymbol-get-msil.md - name: IDiaSymbol::get_name @@ -1054,6 +1154,8 @@ href: idiasymbol-get-nested.md - name: IDiaSymbol::get_noInline href: idiasymbol-get-noinline.md + - name: IDiaSymbol::get_noNameExport + href: idiasymbol-get-nonameexport.md - name: IDiaSymbol::get_noReturn href: idiasymbol-get-noreturn.md - name: IDiaSymbol::get_noStackOrdering @@ -1070,6 +1172,8 @@ href: idiasymbol-get-numberofregisterindices.md - name: IDiaSymbol::get_numberOfRows href: idiasymbol-get-numberofrows.md + - name: IDiaSymbol::get_numericProperties + href: idiasymbol-get-numericproperties.md - name: IDiaSymbol::get_objectFileName href: idiasymbol-get-objectfilename.md - name: IDiaSymbol::get_objectPointerType @@ -1084,14 +1188,26 @@ href: idiasymbol-get-offsetinudt.md - name: IDiaSymbol::get_optimizedCodeDebugInfo href: idiasymbol-get-optimizedcodedebuginfo.md + - name: IDiaSymbol::get_ordinal + href: idiasymbol-get-ordinal.md - name: IDiaSymbol::get_overloadedOperator href: idiasymbol-get-overloadedoperator.md - name: IDiaSymbol::get_packed href: idiasymbol-get-packed.md - name: IDiaSymbol::get_paramBasePointerRegisterId href: idiasymbol-get-parambasepointerregisterid.md + - name: IDiaSymbol::get_PGODynamicInstructionCount + href: idiasymbol-get-pgodynamicinstructioncount.md + - name: IDiaSymbol::get_PGOEdgeCount + href: idiasymbol-get-pgoedgecount.md + - name: IDiaSymbol::get_PGOEntryCount + href: idiasymbol-get-pgoentrycount.md + - name: IDiaSymbol::get_phaseName + href: idiasymbol-get-phasename.md - name: IDiaSymbol::get_platform href: idiasymbol-get-platform.md + - name: IDiaSymbol::get_privateExport + href: idiasymbol-get-privatexport.md - name: IDiaSymbol::get_pure href: idiasymbol-get-pure.md - name: IDiaSymbol::get_rank @@ -1122,8 +1238,10 @@ href: idiasymbol-get-slot.md - name: IDiaSymbol::get_sourceFileName href: idiasymbol-get-sourcefilename.md - - name: IDiaSymbol::getSrcLineOnTypeDefn - href: idiasymbol-getsrclineontypedefn.md + - name: IDiaSymbol::get_staticSize + href: idiasymbol-get-staticsize.md + - name: IDiaSymbol::get_strictGSCheck + href: idiasymbol-get-strictgscheck.md - name: IDiaSymbol::get_stride href: idiasymbol-get-stride.md - name: IDiaSymbol::get_subType @@ -1176,6 +1294,8 @@ href: idiasymbol-get-unmodifiedtype.md - name: IDiaSymbol::get_unmodifiedTypeId href: idiasymbol-get-unmodifiedtypeid.md + - name: IDiaSymbol::get_unused + href: idiasymbol-get-unused.md - name: IDiaSymbol::get_upperBound href: idiasymbol-get-upperbound.md - name: IDiaSymbol::get_upperBoundId @@ -1192,16 +1312,68 @@ href: idiasymbol-get-virtualbasedispindex.md - name: IDiaSymbol::get_virtualBaseOffset href: idiasymbol-get-virtualbaseoffset.md - - name: IDiaSymbol::get_virtualBaseTableType - href: idiasymbol-get-virtualbasetabletype.md - name: IDiaSymbol::get_virtualBasePointerOffset href: idiasymbol-get-virtualbasepointeroffset.md + - name: IDiaSymbol::get_virtualBaseTableType + href: idiasymbol-get-virtualbasetabletype.md - name: IDiaSymbol::get_virtualTableShape href: idiasymbol-get-virtualtableshape.md - name: IDiaSymbol::get_virtualTableShapeId href: idiasymbol-get-virtualtableshapeid.md - name: IDiaSymbol::get_volatileType href: idiasymbol-get-volatiletype.md + - name: IDiaSymbol::get_wasInlined + href: idiasymbol-get-wasinlined.md + - name: IDiaSymbol::getBindID + href: idiasymbol-get-bindid.md + - name: IDiaSymbol::getBindSlot + href: idiasymbol-get-bindslot.md + - name: IDiaSymbol::getBindSpace + href: idiasymbol-get-bindspace.md + - name: IDiaSymbol::getSrcLineOnTypeDefn + href: idiasymbol-getsrclineontypedefn.md + - name: IDiaSymbol2 + items: + - name: IDiaSymbol2 + href: idiasymbol2.md + - name: IDiaSymbol2::get_isObjCCategory + href: idiasymbol2-get-isobjccategory.md + - name: IDiaSymbol2::get_isObjCClass + href: idiasymbol2-get-isobjcclass.md + - name: IDiaSymbol2::get_isObjCProtocol + href: idiasymbol2-get-isobjcprotocol.md + - name: IDiaSymbol3 + items: + - name: IDiaSymbol3 + href: idiasymbol3.md + - name: IDiaSymbol3::get_inlinee + href: idiasymbol3-get-inlinee.md + - name: IDiaSymbol3::get_inlineeId + href: idiasymbol3-get-inlineeid.md + - name: IDiaSymbol4 + items: + - name: IDiaSymbol4 + href: idiasymbol4.md + - name: IDiaSymbol4::get_noexcept + href: idiasymbol4-get-noexcept.md + - name: IDiaSymbol5 + items: + - name: IDiaSymbol5 + href: idiasymbol5.md + - name: IDiaSymbol5::get_hasAbsoluteAddress + href: idiasymbol5-get-hasabsoluteaddress.md + - name: IDiaSymbol6 + items: + - name: IDiaSymbol6 + href: idiasymbol6.md + - name: IDiaSymbol6::get_isStaticMemberFunc + href: idiasymbol6-get-isstaticmemberfunc.md + - name: IDiaSymbol7 + items: + - name: IDiaSymbol7 + href: idiasymbol7.md + - name: IDiaSymbol7::get_isSignRet + href: idiasymbol7-get-issignret.md - name: IDiaTable items: - name: IDiaTable @@ -1220,6 +1392,8 @@ href: enumerations-and-structures.md - name: BasicType href: basictype.md + - name: Common HRESULT Values + href: common-hresult-values.md - name: CV_access_e href: cv-access-e.md - name: CV_call_e @@ -1230,6 +1404,8 @@ href: cv-cpu-type-e.md - name: CV_HREG_e href: cv-hreg-e.md + - name: CV_modifier_e + href: cv-modifier-e.md - name: DataKind href: datakind.md - name: DiaAddressMapEntry @@ -1240,6 +1416,8 @@ href: memorytypeenum.md - name: NameSearchOptions href: namesearchoptions.md + - name: PFNMINIPDBERRORCALLBACK2 + href: pfnminipdberrorcallback2.md - name: StackFrameTypeEnum href: stackframetypeenum.md - name: SymTagEnum From c1f4fc223a89ca00945c486fcf416a7a006cf9e3 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Mon, 15 Jul 2024 13:07:21 -0700 Subject: [PATCH 13/25] IDiaSymbol8 --- .../cv-associationkind-e.md | 48 ++++++++++++++ .../cv-coroutinekind-e.md | 54 +++++++++++++++ .../enumerations-and-structures.md | 8 +++ .../idiasymbol8-get-associatedsymboladdr.md | 46 +++++++++++++ .../idiasymbol8-get-associatedsymbolkind.md | 44 +++++++++++++ .../idiasymbol8-get-associatedsymboloffset.md | 45 +++++++++++++ .../idiasymbol8-get-associatedsymbolrva.md | 46 +++++++++++++ ...idiasymbol8-get-associatedsymbolsection.md | 45 +++++++++++++ .../idiasymbol8-get-coroutinekind.md | 44 +++++++++++++ .../debug-interface-access/idiasymbol8.md | 66 +++++++++++++++++++ docs/debugger/debug-interface-access/toc.yml | 20 ++++++ 11 files changed, 466 insertions(+) create mode 100644 docs/debugger/debug-interface-access/cv-associationkind-e.md create mode 100644 docs/debugger/debug-interface-access/cv-coroutinekind-e.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol8.md diff --git a/docs/debugger/debug-interface-access/cv-associationkind-e.md b/docs/debugger/debug-interface-access/cv-associationkind-e.md new file mode 100644 index 00000000000..8245f82d5fe --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-associationkind-e.md @@ -0,0 +1,48 @@ +--- +title: CV_AssociationKind_e +description: Specifies the kind of association between two symbols. +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_AssociationKind_e enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# CV_AssociationKind_e + +Specifies the kind of association between two symbols. + +## Syntax + +```c++ +typedef enum CV_AssociationKind_e +{ + CV_ASSOCIATIONKIND_NONE, + CV_ASSOCIATIONKIND_COROUTINE +} CV_AssociationKind_e; +``` + +## Elements + +| Element | Description | +| ------------ | ---------------------------- | +| `CV_ASSOCIATIONKIND_NONE`| No associated symbol. | +| `CV_ASSOCIATIONKIND_COROUTINE`| Associated symbol is the primary coroutine function. | + +## Remarks + +Use the [IDiaSymbol8::get_associatedSymbolKind](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) method to retrieve the kind of associated between two symbols. + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [IDiaSymbol8::get_associatedSymbolKind](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) diff --git a/docs/debugger/debug-interface-access/cv-coroutinekind-e.md b/docs/debugger/debug-interface-access/cv-coroutinekind-e.md new file mode 100644 index 00000000000..0d6d7163092 --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-coroutinekind-e.md @@ -0,0 +1,54 @@ +--- +title: CV_CoroutineKind_e +description: Get information about the CV_CoroutineKind_e enumeration type, which specifies the coroutine kind. +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_CoroutineKind_e enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# CV_CoroutineKind_e + +Specifies the couroutine kind. + +## Syntax + +```c++ +typedef enum CV_CoroutineKind_e +{ + CV_COROUTINEKIND_NONE, + CV_COROUTINEKIND_PRIMARY, + CV_COROUTINEKIND_INIT, + CV_COROUTINEKIND_RESUME, + CV_COROUTINEKIND_DESTROY +} CV_CoroutineKind_e; +``` + +## Elements + +| Element | Description | +| ------------ | ---------------------------- | +| `CV_COROUTINEKIND_NONE`| Not a coroutine. | +| `CV_COROUTINEKIND_PRIMARY`| The original coroutine function. | +| `CV_COROUTINEKIND_INIT`| Initialization function, sets up the coroutine frame. | +| `CV_COROUTINEKIND_RESUME`| Resume function, contains the coroutine body code. | +| `CV_COROUTINEKIND_DESTROY`| Destroy function, tears down the coroutine frame. | + +## Remarks + +Use the [IDiaSymbol8::get_coroutineKind](../../debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md) method to retrieve the coroutine kind for a coroutine function. + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [IDiaSymbol8::get_coroutineKind](../../debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md) diff --git a/docs/debugger/debug-interface-access/enumerations-and-structures.md b/docs/debugger/debug-interface-access/enumerations-and-structures.md index d3f32f6ff02..38427d990cb 100644 --- a/docs/debugger/debug-interface-access/enumerations-and-structures.md +++ b/docs/debugger/debug-interface-access/enumerations-and-structures.md @@ -32,6 +32,10 @@ Specifies the symbol's basic type. Specifies the scope of visibility (access level) of member functions and variables. +- [`CV_AssociationKind_e`](../../debugger/debug-interface-access/cv-associationkind-e.md) + +Specifies the kind of association between two symbols. + - [CV_call_e Enumeration](../../debugger/debug-interface-access/cv-call-e.md) Specifies the calling convention for a function. @@ -40,6 +44,10 @@ Specifies the calling convention for a function. Specifies the source code language of the application or linked module. +- [`CV_CoroutineKind_e`](../../debugger/debug-interface-access/cv-coroutinekind-e.md) + +Specifies the coroutine kind. + - [CV_CPU_TYPE_e Enumeration](../../debugger/debug-interface-access/cv-cpu-type-e.md) Specifies the target processor. diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md new file mode 100644 index 00000000000..6897354f49d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves the virtual address (VA) of the associated symbol." +title: "IDiaSymbol8::get_associatedSymbolAddr" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol8::get_associatedSymbolAddr method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol8::get_associatedSymbolAddr` + +Retrieves the virtual address (VA) of the associated symbol. + +## Syntax + +```C++ +HRESULT get_associatedSymbolAddr( + ULONGLONG* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the address of the associated symbol as a virtual address (VA). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) +- [`IDiaSymbol8::get_associatedSymbolRva`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md) +- [`IDiaSymbol8::get_associatedSymbolSection`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md) +- [`IDiaSymbol8::get_associatedSymbolOffset`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md) + diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md new file mode 100644 index 00000000000..db3c7426d6e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves the associated symbol kind." +title: "IDiaSymbol8::get_associatedSymbolKind" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol8::get_associatedSymbolKind method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol8::get_associatedSymbolKind` + +Retrieves the associated symbol kind. + +## Syntax + +```C++ +HRESULT get_associatedSymbolKind( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns a value from [`CV_AssociationKind_e`](../../debugger/debug-interface-access/cv-associationkind-e.md). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) +- [`CV_AssociationKind_e`](../../debugger/debug-interface-access/cv-associationkind-e.md) + diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md new file mode 100644 index 00000000000..00a2a4250d9 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md @@ -0,0 +1,45 @@ +--- +description: "Retrieves the offset component of the address of the associated symbol." +title: "IDiaSymbol8::get_associatedSymbolOffset" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol8::get_associatedSymbolOffset method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol8::get_associatedSymbolOffset` + +Retrieves the offset component of the address of the associated symbol. + +## Syntax + +```C++ +HRESULT get_associatedSymbolOffset( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the offset component of the address of the associated symbol. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) +- [`IDiaSymbol8::get_associatedSymbolSection`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolosection.md) +- [`IDiaSymbol8::get_associatedSymbolAddr`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md) +- [`IDiaSymbol8::get_associatedSymbolRva`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md new file mode 100644 index 00000000000..a9c653f33fe --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md @@ -0,0 +1,46 @@ +--- +description: "Retrieves the relative virtual address (RVA) of the associated symbol." +title: "IDiaSymbol8::get_associatedSymbolRva" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol8::get_associatedSymbolRva method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol8::get_associatedSymbolRva` + +Retrieves the relative virtual address (RVA) of the associated symbol. + +## Syntax + +```C++ +HRESULT get_associatedSymbolRva( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the address of the associated symbol as a relative virtual address (RVA). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) +- [`IDiaSymbol8::get_associatedSymbolAddr`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md) +- [`IDiaSymbol8::get_associatedSymbolSection`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md) +- [`IDiaSymbol8::get_associatedSymbolOffset`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md) + diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md new file mode 100644 index 00000000000..a08ec03fd1a --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md @@ -0,0 +1,45 @@ +--- +description: "Retrieves the section component of the address of the associated symbol." +title: "IDiaSymbol8::get_associatedSymbolSection" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol8::get_associatedSymbolSection method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol8::get_associatedSymbolSection` + +Retrieves the section component of the address of the associated symbol. + +## Syntax + +```C++ +HRESULT get_associatedSymbolSection( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the section component of the address of the associated symbol. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) +- [`IDiaSymbol8::get_associatedSymbolOffset`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md) +- [`IDiaSymbol8::get_associatedSymbolAddr`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md) +- [`IDiaSymbol8::get_associatedSymbolRva`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md b/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md new file mode 100644 index 00000000000..7a5647a8774 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves the coroutine function kind." +title: "IDiaSymbol8::get_coroutineKind" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol8::get_coroutineKind method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol8::get_coroutineKind` + +Retrieves the coroutine function kind. + +## Syntax + +```C++ +HRESULT get_coroutineKind( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns a value from [`CV_CoroutineKind_e`](../../debugger/debug-interface-access/cv-coroutinekind-e.md). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) +- [`CV_CoroutineKind_e`](../../debugger/debug-interface-access/cv-coroutinekind-e.md) + diff --git a/docs/debugger/debug-interface-access/idiasymbol8.md b/docs/debugger/debug-interface-access/idiasymbol8.md new file mode 100644 index 00000000000..86ff24f7b13 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol8.md @@ -0,0 +1,66 @@ +--- +description: "Describes additional properties of a symbol instance relating to coroutines." +title: "IDiaSymbol7" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol7 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol7 + +Describes additional properties of a symbol instance relating to coroutines. + +## Syntax + +``` +IDiaSymbol8 : IDiaSymbol7 +``` + +## Methods + +The following table shows the methods of `IDiaSymbol8`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol8::get_coroutineKind`](../../debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md)|Retrieves the coroutine function kind.| +|[`IDiaSymbol8::get_associatedSymbolKind`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md)|Retrieves the associated symbol kind.| +|[`IDiaSymbol8::get_associatedSymbolSection`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md)|Retrieves the section component of the address of the associated symbol.| +|[`IDiaSymbol8::get_associatedSymbolOffset`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md)|Retrieves the offset component of the address of the associated symbol.| +|[`IDiaSymbol8::get_associatedSymbolRva`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md)|Retrieves the relative virtual address (RVA) of the associated symbol.| +|[`IDiaSymbol8::get_associatedSymbolAddr`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md)|Retrieves the virtual address (VA) of the associated symbol.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) +- [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) +- [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index 1ab414fc195..8ec756f7069 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -1374,6 +1374,22 @@ href: idiasymbol7.md - name: IDiaSymbol7::get_isSignRet href: idiasymbol7-get-issignret.md + - name: IDiaSymbol8 + items: + - name: IDiaSymbol8 + href: idiasymbol8.md + - name: IDiaSymbol8::get_associatedSymbolAddr + href: idiasymbol8-get-associatedsymboladdr.md + - name: IDiaSymbol8::get_associatedSymbolKind + href: idiasymbol8-get-associatedsymbolkind.md + - name: IDiaSymbol8::get_associatedSymbolOffset + href: idiasymbol8-get-associatedsymboloffset.md + - name: IDiaSymbol8::get_associatedSymbolRva + href: idiasymbol8-get-associatedsymbolrva.md + - name: IDiaSymbol8::get_associatedSymbolSection + href: idiasymbol8-get-associatedsymbolsection.md + - name: IDiaSymbol8::get_coroutineKind + href: idiasymbol8-get-coroutinekind.md - name: IDiaTable items: - name: IDiaTable @@ -1396,10 +1412,14 @@ href: common-hresult-values.md - name: CV_access_e href: cv-access-e.md + - name: CV_AssociationKind_e + href: cv-associationkind-e.md - name: CV_call_e href: cv-call-e.md - name: CV_CFL_LANG href: cv-cfl-lang.md + - name: CV_CoroutineKind_e + href: cv-coroutinekind-e.md - name: CV_CPU_TYPE_e href: cv-cpu-type-e.md - name: CV_HREG_e From 4ad8a73c2ffbd98a9977a2ad0863b5de3c78f856 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Mon, 15 Jul 2024 13:48:29 -0700 Subject: [PATCH 14/25] IDiaSymbol9 and 10 --- .../idiasymbol10-get-sourcelink.md | 53 +++++++++++++++ .../debug-interface-access/idiasymbol10.md | 63 ++++++++++++++++++ .../debug-interface-access/idiasymbol8.md | 6 +- .../idiasymbol9-get-framepadoffset.md | 44 +++++++++++++ .../idiasymbol9-get-framepadsize.md | 44 +++++++++++++ .../idiasymbol9-get-isrtcs.md | 43 ++++++++++++ .../debug-interface-access/idiasymbol9.md | 66 +++++++++++++++++++ docs/debugger/debug-interface-access/toc.yml | 16 +++++ 8 files changed, 332 insertions(+), 3 deletions(-) create mode 100644 docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol10.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol9.md diff --git a/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md b/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md new file mode 100644 index 00000000000..5895bd358a8 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md @@ -0,0 +1,53 @@ +--- +description: "Retreives the Source Link blob associated with this SymTagCompiland symbol." +title: "IDiaSymbol10::get_sourceLink" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol10::get_sourceLink method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol10::get_sourceLink` + +Retreives the [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) blob associated with this `SymTagCompiland` symbol. + +## Syntax + +```C++ +HRESULT get_sourceLink( + DWORD cb, + DWORD *pcb, + BYTE *pb +); +``` + +#### Parameters + + `cb` + +[in] The size in bytes of the optional buffer pointed to by `pb` parameter. + + `pcb` + +[out, optional] If `pb` is `nullptr` and `cb` is 0, this parameter is required, and returns the size in bytes needed to contain the entire source link blob. Otherwise it returns the number of bytes written to the `pb` buffer upon success. + + `pb` + +[out, optional] Returns the source link information blob. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol10`](../../debugger/debug-interface-access/idiasymbol10.md) +- [Using Source Link](https://github.com/dotnet/sourcelink#using-source-link-in-c-projects) diff --git a/docs/debugger/debug-interface-access/idiasymbol10.md b/docs/debugger/debug-interface-access/idiasymbol10.md new file mode 100644 index 00000000000..e4751ac31e5 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol10.md @@ -0,0 +1,63 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol10" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol10 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol10 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol10 : IDiaSymbol9 +``` + +## Methods + +The following table shows the methods of `IDiaSymbol10`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol10::get_sourceLink`](../../debugger/debug-interface-access/idiasymbol10-get-sourcelink.md)|Retreives the [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) blob associated with this `SymTagCompiland` symbol.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) +- [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) +- [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol7.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) +- [Using Source Link](https://github.com/dotnet/sourcelink#using-source-link-in-c-projects) diff --git a/docs/debugger/debug-interface-access/idiasymbol8.md b/docs/debugger/debug-interface-access/idiasymbol8.md index 86ff24f7b13..86640dfe357 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8.md +++ b/docs/debugger/debug-interface-access/idiasymbol8.md @@ -1,18 +1,18 @@ --- description: "Describes additional properties of a symbol instance relating to coroutines." -title: "IDiaSymbol7" +title: "IDiaSymbol8" ms.date: "07/15/2024" ms.topic: "reference" dev_langs: - "C++" helpviewer_keywords: - - "IDiaSymbol7 interface" + - "IDiaSymbol8 interface" author: "grantri" ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# IDiaSymbol7 +# IDiaSymbol8 Describes additional properties of a symbol instance relating to coroutines. diff --git a/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md new file mode 100644 index 00000000000..f2c846f32fc --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves the stack frame pad offset used for Edit and Continue." +title: "IDiaSymbol9::get_framePadOffset" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol9::get_framePadOffset method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol9::get_framePadOffset` + +Retrieves the stack frame pad offset used for Edit and Continue. + +## Syntax + +```C++ +HRESULT get_framePadOffset( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the offset in bytes from the frame pointer of the frame pad buffer that was added to the function for Edit and Continue. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) +- [`IDiaSymbol9::get_framePadSize`](../../debugger/debug-interface-access/idiasymbol9-get-framepadsize.md) +- [Edit and Continue (C++)](/visualstudio/debugger/edit-and-continue-visual-cpp) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md new file mode 100644 index 00000000000..73d69803eb6 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md @@ -0,0 +1,44 @@ +--- +description: "Retrieves the stack frame pad size used for Edit and Continue." +title: "IDiaSymbol9::get_framePadSize" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol9::get_framePadSize method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol9::get_framePadSize` + +Retrieves the stack frame pad size used for Edit and Continue. + +## Syntax + +```C++ +HRESULT get_framePadSize( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the size in bytes of the frame pad buffer that was added to the function for Edit and Continue. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) +- [`IDiaSymbol9::get_framePadOffset`](../../debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md) +- [Edit and Continue (C++)](/visualstudio/debugger/edit-and-continue-visual-cpp) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md b/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md new file mode 100644 index 00000000000..ec74f9113fc --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag that indicates whether the function was compiled with runtime stack checks." +title: "IDiaSymbol9::get_isRTCs" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol9::get_isRTCs method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol9::get_isRTCs` + +Retrieves a flag that indicates whether the function was compiled with runtime stack checks. + +## Syntax + +```C++ +HRESULT get_isRTCs( + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns `TRUE` if the function was compiled with runtime stack checks (`/RTCs`); otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) +- [`/RTC` (Run-time error checks)](/cpp/build/reference/rtc-run-time-error-checks) diff --git a/docs/debugger/debug-interface-access/idiasymbol9.md b/docs/debugger/debug-interface-access/idiasymbol9.md new file mode 100644 index 00000000000..53d0e1f810c --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol9.md @@ -0,0 +1,66 @@ +--- +description: "Describes additional properties of a symbol instance." +title: "IDiaSymbol9" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol9 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol9 + +Describes additional properties of a symbol instance. + +## Syntax + +``` +IDiaSymbol9 : IDiaSymbol8 +``` + +## Methods + +The following table shows the methods of `IDiaSymbol9`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol9::get_framePadSize`](../../debugger/debug-interface-access/idiasymbol9-get-framepadsize.md)|Retrieves the stack frame pad size used for Edit and Continue.| +|[`IDiaSymbol9::get_framePadOffset`](../../debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md)|Retrieves the stack frame pad offset used for Edit and Continue.| +|[`IDiaSymbol9::get_isRTCs`](../../debugger/debug-interface-access/idiasymbol9-get-isrtcs.md)|Retrieves a flag that indicates whether the function was compiled with runtime stack checks.| + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) +- [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) +- [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol7.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [Compiland](../../debugger/debug-interface-access/compiland.md) +- [Edit and Continue (C++)](/visualstudio/debugger/edit-and-continue-visual-cpp) +- [`/RTC` (Run-time error checks)](/cpp/build/reference/rtc-run-time-error-checks) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index 8ec756f7069..371791dcedd 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -1390,6 +1390,22 @@ href: idiasymbol8-get-associatedsymbolsection.md - name: IDiaSymbol8::get_coroutineKind href: idiasymbol8-get-coroutinekind.md + - name: IDiaSymbol9 + items: + - name: IDiaSymbol9 + href: idiasymbol9.md + - name: IDiaSymbol9::get_framePadOffset + href: idiasymbol9-get-framepadoffset.md + - name: IDiaSymbol9::get_framePadSize + href: idiasymbol9-get-framepadsize.md + - name: IDiaSymbol9::get_isRTCs + href: idiasymbol9-get-isrtcs.md + - name: IDiaSymbol10 + items: + - name: IDiaSymbol10 + href: idiasymbol10.md + - name: IDiaSymbol10::get_sourceLink + href: idiasymbol10-get-sourcelink.md - name: IDiaTable items: - name: IDiaTable From 71333596a11533a27c3ac00ab58e782919da339a Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Tue, 16 Jul 2024 08:33:38 -0700 Subject: [PATCH 15/25] IDiaSymbol11 --- .../debug-interface-access/diatagvalue.md | 62 +++++++++++++++++ .../debug-interface-access/idiasymbol10.md | 1 + .../idiasymbol11-get-discriminateduniontag.md | 53 +++++++++++++++ .../idiasymbol11-get-tagranges.md | 57 ++++++++++++++++ .../debug-interface-access/idiasymbol11.md | 66 +++++++++++++++++++ docs/debugger/debug-interface-access/toc.yml | 10 +++ 6 files changed, 249 insertions(+) create mode 100644 docs/debugger/debug-interface-access/diatagvalue.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md create mode 100644 docs/debugger/debug-interface-access/idiasymbol11.md diff --git a/docs/debugger/debug-interface-access/diatagvalue.md b/docs/debugger/debug-interface-access/diatagvalue.md new file mode 100644 index 00000000000..8731b53470d --- /dev/null +++ b/docs/debugger/debug-interface-access/diatagvalue.md @@ -0,0 +1,62 @@ +--- +description: Holds a value from SymTagTaggedUnionCase. +title: DiaTagValue +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "DiaTagValue structure" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# DiaTagValue + +Describes an entry in an address map. + +## Syntax + +```c++ +struct DiaTagValue { + BYTE value[16]; + BYTE valueSizeBytes; +}; +``` + +## Elements + +| Element | Description | +| ------- | ----------------------------------------------------------- | +| `value` | The integer value stored in little-endian byte ordering.| +| `valueSizeBytes` | The size in bytes of `value`. Must be one of 1, 2, 4, 8, or 16.| + +## Remarks + +A `DiaTagValue` can represent various values relating to discriminated or tagged unions, like Rust's enum variants. + +An alternative way to think of a `DiaTagValue` could be something like this: + +```c++ +struct DiaTagValue { + union { + uint8 data8; + uint16 data16; + uint32 data32; + uint64 data64; + uint128 data128; + } value; + BYTE valueSizeBytes; +}; +``` + +## Requirements + +Header: dia2.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [IDiaSymbol11](../../debugger/debug-interface-access/idiasymbol11.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol10.md b/docs/debugger/debug-interface-access/idiasymbol10.md index e4751ac31e5..1c89d608d0c 100644 --- a/docs/debugger/debug-interface-access/idiasymbol10.md +++ b/docs/debugger/debug-interface-access/idiasymbol10.md @@ -57,6 +57,7 @@ DLL: msdia140.dll - [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) - [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) - [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol7.md) +- [`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) - [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) - [Compiland](../../debugger/debug-interface-access/compiland.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md b/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md new file mode 100644 index 00000000000..782ce0657e7 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md @@ -0,0 +1,53 @@ +--- +description: "Retrieves information about the tag of a discriminated union symbol instance." +title: "IDiaSymbol11::get_discriminatedUnionTag" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol11::get_discriminatedUnionTag method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol11::get_discriminatedUnionTag` + +Retrieves information about the tag of a discriminated union symbol instance. + +## Syntax + +```C++ +HRESULT get_discriminatedUnionTag( + IDiaSymbol **ppTagType, + DWORD *pTagOffset, + struct DiaTagValue *pTagMask +); +``` + +#### Parameters + + `ppTagType` + +[out] Returns the [`IDiaSymbol`](../../debugger//debug-interface-access/idiasymbol.md) that represents the type of the tag member. + + `pTagOffset` + +[out] Returns the byte offset within the parent structure of where the start of the tag member is located. + + `pTagMask` + +[out] Returns a mask value if the tag does not fill all the bytes of the tag member; otherwise returns a [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) with the `valueSizeBytes` set to 0. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaSymbol11`](../../debugger/debug-interface-access/idiasymbol11.md) +- [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md new file mode 100644 index 00000000000..58405096a8e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md @@ -0,0 +1,57 @@ +--- +description: "Retrieves the ranges of tags within a discriminated union symbol instance." +title: "IDiaSymbol11::get_tagRanges" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol11::get_tagRanges method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaSymbol11::get_tagRanges` + +Retrieves the ranges of tags within a discriminated union symbol instance. + +## Syntax + +```C++ +HRESULT get_tagRanges( + DWORD count, + DWORD *pcRangeValues, + struct DiaTagValue *rangeValues +); +``` + +#### Parameters + + `count` + +[in] Specifies the count of valid [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) elements pointed to by the `rangeValues` parameter. + + `pcRangeValues` + +[out] Returns the count of [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) elements needed if `rangeValues` is `nullptr`; otherwise returns the count of elements used. + + `rangeValues` + +[out] Returns an array of [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md). On input the count of valid elements is specified by the `count` parameter. Upon return `*pcRangeValues` is the count of valid elements that were filled in. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +The first array element (`rangeValues[0]`) represents the lower bound of the range. The next array element represents the upper bound of the range. The array contonies to alternate between lower and upper bounds of each subsequent range. + +## See also + +- [`IDiaSymbol11`](../../debugger/debug-interface-access/idiasymbol11.md) +- [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol11.md b/docs/debugger/debug-interface-access/idiasymbol11.md new file mode 100644 index 00000000000..de44200b01a --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol11.md @@ -0,0 +1,66 @@ +--- +description: "Describes additional properties of a SymTagTaggedUnionCase symbol instance." +title: "IDiaSymbol11" +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaSymbol11 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# IDiaSymbol11 + +Describes additional properties of a `SymTagTaggedUnionCase` symbol instance. + +## Syntax + +``` +IDiaSymbol11 : IDiaSymbol10 +``` + +## Methods + +The following table shows the methods of `IDiaSymbol11`. + +> [!NOTE] +> Symbols will return meaningful data for only some of these methods, depending on the type of symbol. If a method returns `S_OK`, then that method has returned meaningful data. + +|Method|Description| +|------------|-----------------| +|[`IDiaSymbol11::get_discriminatedUnionTag`](../../debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md)|Retrieves information about the tag of a discriminated union symbol instance.| +|[`IDiaSymbol11::get_tagRanges`](../../debugger/debug-interface-access/idiasymbol11-get-tagranges.md)|Retrieves the ranges of tags within a discriminated union symbol instance.| + + +## Remarks + +## Notes for Callers + +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. + +## Requirements + +`Header:` Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) +- [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) +- [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) +- [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) +- [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) +- [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) +- [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol7.md) +- [`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) +- [`IDiaSymbol10`](../../debugger/debug-interface-access/idiasymbol10.md) +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) +- [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) \ No newline at end of file diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index 371791dcedd..31f8b29b752 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -1406,6 +1406,14 @@ href: idiasymbol10.md - name: IDiaSymbol10::get_sourceLink href: idiasymbol10-get-sourcelink.md + - name: IDiaSymbol11 + items: + - name: IDiaSymbol11 + href: idiasymbol11.md + - name: IDiaSymbol11::get_discriminatedUnionTag + href: idiasymbol11-get-discriminateduniontag.md + - name: IDiaSymbol11::get_tagRanges + href: idiasymbol11-get-tagranges.md - name: IDiaTable items: - name: IDiaTable @@ -1446,6 +1454,8 @@ href: datakind.md - name: DiaAddressMapEntry href: diaaddressmapentry.md + - name: DiaTagValue + href: diatagvalue.md - name: LocationType href: locationtype.md - name: MemoryTypeEnum From c91f75086aa9ba1f6f24c31a9ab425c9372bc3d8 Mon Sep 17 00:00:00 2001 From: Wesley Wiser Date: Tue, 16 Jul 2024 12:06:28 -0500 Subject: [PATCH 16/25] Minor editoral changes - Fix DiaTagValue description - Use standard fixed with integer type names - Remove struct prefix from some method signatures to align with existing docs - Handful of corrections --- .../debug-interface-access/diatagvalue.md | 16 ++++++++-------- .../idiasymbol11-get-discriminateduniontag.md | 4 ++-- .../idiasymbol11-get-tagranges.md | 4 ++-- .../debug-interface-access/symtagenum.md | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/debugger/debug-interface-access/diatagvalue.md b/docs/debugger/debug-interface-access/diatagvalue.md index 8731b53470d..b5724c9c246 100644 --- a/docs/debugger/debug-interface-access/diatagvalue.md +++ b/docs/debugger/debug-interface-access/diatagvalue.md @@ -15,7 +15,7 @@ ms.subservice: debug-diagnostics # DiaTagValue -Describes an entry in an address map. +Describes the numeric value of a discriminated union's tag. ## Syntax @@ -31,7 +31,7 @@ struct DiaTagValue { | Element | Description | | ------- | ----------------------------------------------------------- | | `value` | The integer value stored in little-endian byte ordering.| -| `valueSizeBytes` | The size in bytes of `value`. Must be one of 1, 2, 4, 8, or 16.| +| `valueSizeBytes` | The size in bytes of `value`. Must be one of 1, 2, 4, 8, 16 or 0 if this value is empty.| ## Remarks @@ -42,13 +42,13 @@ An alternative way to think of a `DiaTagValue` could be something like this: ```c++ struct DiaTagValue { union { - uint8 data8; - uint16 data16; - uint32 data32; - uint64 data64; - uint128 data128; + uint8_t data8; + uint16_t data16; + uint32_t data32; + uint64_t data64; + uint128_t data128; } value; - BYTE valueSizeBytes; + uint8_t valueSizeBytes; }; ``` diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md b/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md index 782ce0657e7..ad93ab0b68b 100644 --- a/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md @@ -22,7 +22,7 @@ Retrieves information about the tag of a discriminated union symbol instance. HRESULT get_discriminatedUnionTag( IDiaSymbol **ppTagType, DWORD *pTagOffset, - struct DiaTagValue *pTagMask + DiaTagValue *pTagMask ); ``` @@ -38,7 +38,7 @@ HRESULT get_discriminatedUnionTag( `pTagMask` -[out] Returns a mask value if the tag does not fill all the bytes of the tag member; otherwise returns a [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) with the `valueSizeBytes` set to 0. +[out] Returns a mask value if the tag does not fill all the bytes of the tag member; otherwise returns an empty [`DiaTagValue`](../../debugger/debug-interface-access/diatagvalue.md) with the `valueSizeBytes` set to 0. ## Return Value diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md index 58405096a8e..f05cc404fea 100644 --- a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md @@ -22,7 +22,7 @@ Retrieves the ranges of tags within a discriminated union symbol instance. HRESULT get_tagRanges( DWORD count, DWORD *pcRangeValues, - struct DiaTagValue *rangeValues + DiaTagValue *rangeValues ); ``` @@ -49,7 +49,7 @@ HRESULT get_tagRanges( ## Remarks -The first array element (`rangeValues[0]`) represents the lower bound of the range. The next array element represents the upper bound of the range. The array contonies to alternate between lower and upper bounds of each subsequent range. +The first array element (`rangeValues[0]`) represents the lower bound of the range. The next array element represents the upper bound of the range. The array continues to alternate between lower and upper bounds of each subsequent range. ## See also diff --git a/docs/debugger/debug-interface-access/symtagenum.md b/docs/debugger/debug-interface-access/symtagenum.md index 3d509d25fa5..1e1f1717a55 100644 --- a/docs/debugger/debug-interface-access/symtagenum.md +++ b/docs/debugger/debug-interface-access/symtagenum.md @@ -113,8 +113,8 @@ enum SymTagEnum { | `SymTagExport` | Indicates that the symbol is an export from a DLL. | | `SymTagHeapAllocationSite`| Indicates that the symbol represents a heap allocation site (i.e. call to `operator new`)| | `SymTagCoffGroup` | Indicates that the symbol is a COFF group. | -| `SymTagInlinee` | Indicates that the symbol represents the inlinee of an inlinte site (see `SymTagInlineSite`).| -| `SymTagTaggedUnionCase` | Indicates that the symbol is a tagged union (e.g. Rust's union type) | +| `SymTagInlinee` | Indicates that the symbol represents the inlinee of an inline site (see `SymTagInlineSite`).| +| `SymTagTaggedUnionCase` | Indicates that the symbol is a tagged union (e.g. Rust's enum type) | ## Remarks From e9d3be7412f0281062a29d282184db0f89e61b86 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Thu, 18 Jul 2024 08:04:10 -0700 Subject: [PATCH 17/25] IDiaInputAssemblyFile --- .../idiaenuminputassemblyfiles.md | 17 +++--- .../idiainputassemblyfile-get-filename.md | 43 +++++++++++++++ .../idiainputassemblyfile-get-index.md | 43 +++++++++++++++ ...tassemblyfile-get-pdbavailableatilmerge.md | 43 +++++++++++++++ .../idiainputassemblyfile-get-timestamp.md | 42 +++++++++++++++ .../idiainputassemblyfile-get-uniqueid.md | 47 ++++++++++++++++ .../idiainputassemblyfile-get-version.md | 53 +++++++++++++++++++ .../idiainputassemblyfile.md | 53 +++++++++++++++++++ .../idiasourcefile-get-checksum.md | 12 +++-- .../idiasymbol11-get-tagranges.md | 2 +- docs/debugger/debug-interface-access/toc.yml | 16 ++++++ 11 files changed, 358 insertions(+), 13 deletions(-) create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md create mode 100644 docs/debugger/debug-interface-access/idiainputassemblyfile.md diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md index d43735df512..89a678f43cc 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles.md @@ -9,7 +9,7 @@ helpviewer_keywords: - "IDiaEnumInputAssemblyFiles interface" author: "grantri" ms.author: "grantri" -manager: mijacobs +manager: twhitney ms.subservice: debug-diagnostics --- @@ -43,7 +43,7 @@ This interface is obtained by calling the [IDiaSession::findInputAssemblyFiles]( ## Example -This example shows how to obtain (the `GetEnumInputAssemblyFiles` function) and use (the `DumpAllInputAssemblyFiles` function) the `IDiaEnumInputAssemblyFiles` interface. See the [IDiaPropertyStorage](../../debugger/debug-interface-access/idiapropertystorage.md) interface for an implementation of the `PrintPropertyStorage` function. For an alternative output, see the [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) interface. +This example shows how to obtain (the `GetEnumInputAssemblyFiles` function) and use (the `DumpAllInputAssemblyFiles` function) the `IDiaEnumInputAssemblyFiles` interface. See the [`IDiaPropertyStorage`](../../debugger/debug-interface-access/idiapropertystorage.md) interface for an implementation of the `PrintPropertyStorage` function. For an alternative output, see the [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) interface. ```c++ @@ -78,7 +78,7 @@ void DumpAllInputAssemblyFiles( IDiaSession* pSession) { IDiaEnumInputAssemblyFiles* pEnumInpAsmFiles; - pEnumInpAsmFiles = GetEnumInjectedSources(pSession); + pEnumInpAsmFiles = GetEnumInputAssemblyInputFiles(pSession); if (pEnumInpAsmFiles != NULL) { IDiaInputAssemblyFile* pInpAsmFile; @@ -107,12 +107,13 @@ Header: Dia2.h Library: diaguids.lib -DLL: msdia80.dll +DLL: msdia140.dll ## See also - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) -- [IDiaSession::findInputAssemblyFiles](../../debugger/debug-interface-access/idiasession-findinputassemblyfiles.md) -- [IDiaSession::getEnumTables](../../debugger/debug-interface-access/idiasession-getenumtables.md) -- [IDiaPropertyStorage](../../debugger/debug-interface-access/idiapropertystorage.md) -- [IDiaInputAssemblyFile](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) +- [`IDiaSession::findInputAssemblyFiles`](../../debugger/debug-interface-access/idiasession-findinputassemblyfiles.md) +- [`IDiaSession::getEnumTables`](../../debugger/debug-interface-access/idiasession-getenumtables.md) +- [`IDiaPropertyStorage`](../../debugger/debug-interface-access/idiapropertystorage.md) +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md new file mode 100644 index 00000000000..7eacd794cdf --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves the orginal assembly file name." +title: "IDiaInputAssemblyFile::get_fileName" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile::get_fileName method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +#`IDiaInputAssemblyFile::get_fileName` + +Retrieves the orginal assembly file name. + +## Syntax + +```C++ +HRESULT get_fileName( + BSTR* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the the original filename of the input assembly. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md new file mode 100644 index 00000000000..380f61348b4 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves the file index." +title: "IDiaInputAssemblyFile::get_index" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile::get_index method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +#`IDiaInputAssemblyFile::get_index` + +Retrieves the file index. + +## Syntax + +```C++ +HRESULT get_index( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the index of this input assembly file within the .NET Native binary. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md new file mode 100644 index 00000000000..eaa1d6284d1 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md @@ -0,0 +1,43 @@ +--- +description: "Retrieves a flag that indicates whether the PDB was available at the creation of the .Net Native binary." +title: "IDiaInputAssemblyFile::get_pdbAvailableAtILMerge" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile::get_pdbAvailableAtILMerge method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +#`IDiaInputAssemblyFile::get_pdbAvailableAtILMerge` + +Retrieves a flag that indicates whether the PDB was available at the creation of the .Net Native binary. + +## Syntax + +```C++ +HRESULT get_pdbAvailableAtILMerge( + BOOL* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the `TRUE` if the PDB was available at the creation of the .Net Native binary; otherwise, returns `FALSE`. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md new file mode 100644 index 00000000000..7bf03299efc --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md @@ -0,0 +1,42 @@ +--- +description: "Retrieves the time stamp." +title: "IDiaInputAssemblyFile::get_timestamp" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile::get_timestamp method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +#`IDiaInputAssemblyFile::get_timestamp` + +Retrieves the time stamp. + +## Syntax + +```C++ +HRESULT get_timestamp( + DWORD* pRetVal +); +``` + +#### Parameters + `pRetVal` + +[out] Returns the `TimeDateStamp` field from the COFF File Header of this input assembly file when the .NET Native binary was built. + +## Return Value + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [COFF File Header (Object and Image)](/windows/win32/debug/pe-format#coff-file-header-object-and-image) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md new file mode 100644 index 00000000000..168a41cb00b --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md @@ -0,0 +1,47 @@ +--- +description: "Retrieves a unique identifier for the file." +title: "IDiaInputAssemblyFile::get_uniqueId" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile::get_uniqueId method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +#`IDiaInputAssemblyFile::get_uniqueId` + +Retrieves a unique identifier for the file. + +## Syntax + +```C++ +HRESULT get_uniqueId( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the unique identifer for this file. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## Remarks + +The identifiers are only unique within this data store. They are not guaranteed to be unique across different PDBs. + +## See also + +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md new file mode 100644 index 00000000000..be84c6a3b59 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md @@ -0,0 +1,53 @@ +--- +description: "Retrieves the version of the orginal assembly." +title: "IDiaInputAssemblyFile::get_version" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile::get_version method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +#`IDiaInputAssemblyFile::get_version` + +Retrieves the version of the orginal assembly. + +## Syntax + +```C++ +HRESULT get_version( + DWORD cbData, + DWORD *pcbData, + BYTE *pbData +); +``` + +#### Parameters + + `cbData` + +[in] Size of the data buffer, in bytes. + + `pcbData` + +[out] Returns the number of bytes of the version data. This parameter cannot be `NULL`. + + `pbData` + +[out] A buffer that is filled with the version bytes. If this parameter is `NULL`, then `pcbData` returns the number of bytes required. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +> [!NOTE] +> A return value of `S_FALSE` means that the property is not available for the symbol. + +## See also + +- [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile.md b/docs/debugger/debug-interface-access/idiainputassemblyfile.md new file mode 100644 index 00000000000..76034644d54 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile.md @@ -0,0 +1,53 @@ +--- +description: Accesses information that describes an input or source assembly file for a .Net Native binary. +title: IDiaInputAssemblyFile +ms.date: "07/17/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaInputAssemblyFile interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# IDiaInputAssemblyFile + +Accesses information that describes an input or source assembly file for a .Net Native binary. + +## Syntax + +`IDiaInputAssemblyFile : IUnknown` + +## Methods + +The following table shows the methods of `IDiaInputAssemblyFile`. + +|Method|Description| +|------------|-----------------| +|[`IDiaInputAssemblyFile::get_uniqueId`](../../debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md)|Retrieves a unique identifier for the file.| +|[`IDiaInputAssemblyFile::get_index`](../../debugger/debug-interface-access/idiainputassemblyfile-get-index.md)|Retrieves the file index.| +|[`IDiaInputAssemblyFile::get_timestamp`](../../debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md)|Retrieves the time stamp.| +|[`IDiaInputAssemblyFile::get_pdbAvailableAtILMerge`](../../debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md)|Retrieves a flag that indicates whether the PDB was available at the creation of the .Net Native binary.| +|[`IDiaInputAssemblyFile::get_fileName`](../../debugger/debug-interface-access/idiainputassemblyfile-get-filename.md)|Retrieves the orginal assembly file name.| +|[`IDiaInputAssemblyFile::get_version`](../../debugger/debug-interface-access/idiainputassemblyfile-get-version.md)|Retrieves the version of the orginal assembly.| + +## Remarks + +Obtain this interface by calling one of the [`IDiaSession::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasession-findinputassemblyfile.md), [`IDiaSession::findInputAssembly`](../../debugger/debug-interface-access/idiasession-findinputassembly.md), [`IDiaSession::findInputAssemblyById`](../../debugger/debug-interface-access/idiasession-findinputassemblybyid.md), or [`IDiaSymbol::findInputAssemblyFile`](../../debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md) methods. You can also enumerate the .Net Native input assembly files with the [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) interface. + +## Requirements + +Header: Dia2.h + +Library: diaguids.lib + +DLL: msdia140.dll + +## See also + +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) +- [Compile apps with .NET Native](/windows/uwp/dotnet-native/) diff --git a/docs/debugger/debug-interface-access/idiasourcefile-get-checksum.md b/docs/debugger/debug-interface-access/idiasourcefile-get-checksum.md index 598dfd2836a..dc6de5a7d5e 100644 --- a/docs/debugger/debug-interface-access/idiasourcefile-get-checksum.md +++ b/docs/debugger/debug-interface-access/idiasourcefile-get-checksum.md @@ -1,7 +1,7 @@ --- description: "Retrieves the checksum bytes." title: "IDiaSourceFile::get_checksum" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSourceFile::get_checksum +# `IDiaSourceFile::get_checksum` Retrieves the checksum bytes. @@ -27,6 +27,7 @@ HRESULT get_checksum (  ``` #### Parameters + `cbData` [in] Size of the data buffer, in bytes. @@ -40,9 +41,11 @@ HRESULT get_checksum (  [in, out] A buffer that is filled with the checksum bytes. If this parameter is `NULL`, then `pcbData` returns the number of bytes required. ## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. ## Remarks + To determine the type of checksum algorithm that was used to generate the checksum bytes, call the [IDiaSourceFile::get_checksumType](../../debugger/debug-interface-access/idiasourcefile-get-checksumtype.md) method. The checksum is typically generated from the image of the source file so changes in the source file are reflected in changes in the checksum bytes. If the checksum bytes do not match a checksum generated from the loaded image of the file, then the file should be considered damaged or tampered with. @@ -50,5 +53,6 @@ HRESULT get_checksum (  Typical checksums are never more than 32 bytes in size but do not assume that is the maximum size of a checksum. Set the `data` parameter to `NULL` to get the number of bytes required to retrieve the checksum. Then allocate a buffer of the appropriate size and call this method once more with the new buffer. ## See also -- [IDiaSourceFile](../../debugger/debug-interface-access/idiasourcefile.md) -- [IDiaSourceFile::get_checksumType](../../debugger/debug-interface-access/idiasourcefile-get-checksumtype.md) + +- [`IDiaSourceFile`](../../debugger/debug-interface-access/idiasourcefile.md) +- [`IDiaSourceFile::get_checksumType`](../../debugger/debug-interface-access/idiasourcefile-get-checksumtype.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md index f05cc404fea..9bb61658f4a 100644 --- a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md @@ -49,7 +49,7 @@ HRESULT get_tagRanges( ## Remarks -The first array element (`rangeValues[0]`) represents the lower bound of the range. The next array element represents the upper bound of the range. The array continues to alternate between lower and upper bounds of each subsequent range. +The first array element (`rangeValues[0]`) represents the lower bound of the range. The next array element represents the upper bound of the range. The array continues to alternate between lower and upper bounds of each subsequent range. Both upper and lower bounds are inclusive. ## See also diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index 31f8b29b752..e5369905aaf 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -462,6 +462,22 @@ href: idiainjectedsource-get-sourcecompression.md - name: IDiaInjectedSource::get_virtualFilename href: idiainjectedsource-get-virtualfilename.md + - name: IDiaInputAssemblyFile + items: + - name: IDiaInputAssemblyFile + href: idiainputassemblyfile.md + - name: IDiaInputAssemblyFile::get_fileName + href: idiainputassemblyfile-get-filename.md + - name: IDiaInputAssemblyFile::get_index + href: idiainputassemblyfile-get-index.md + - name: IDiaInputAssemblyFile::get_pdbAvailableAtILMerge + href: idiainputassemblyfile-get-pdbavailableatilmerge.md + - name: IDiaInputAssemblyFile::get_timestamp + href: idiainputassemblyfile-get-timestamp.md + - name: IDiaInputAssemblyFile::get_uniqueId + href: idiainputassemblyfile-get-uniqueid.md + - name: IDiaInputAssemblyFile::get_version + href: idiainputassemblyfile-get-version.md - name: IDiaLineNumber items: - name: IDiaLineNumber From 23afb22cdb2f6bd9f7f71b60720cb44ebe699a6c Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:35:57 -0700 Subject: [PATCH 18/25] IDiaEnumSourceLink --- .../idiaenumsourcelink-clone.md | 40 +++++++++++ .../idiaenumsourcelink-count.md | 40 +++++++++++ .../idiaenumsourcelink-next.md | 52 ++++++++++++++ .../idiaenumsourcelink-reset.md | 32 +++++++++ .../idiaenumsourcelink-sizeofnext.md | 41 ++++++++++++ .../idiaenumsourcelink-skip.md | 40 +++++++++++ .../idiaenumsourcelink.md | 52 ++++++++++++++ .../idiaenumsourcelink2-next2.md | 52 ++++++++++++++ .../idiaenumsourcelink2-sizeofnext2.md | 41 ++++++++++++ .../idiaenumsourcelink2.md | 48 +++++++++++++ .../idiasectioncontrib.md | 67 ++++++++++--------- .../idiasessionex-getsourcelinkinfo.md | 2 +- docs/debugger/debug-interface-access/toc.yml | 24 +++++++ 13 files changed, 499 insertions(+), 32 deletions(-) create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink-count.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink-next.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md create mode 100644 docs/debugger/debug-interface-access/idiaenumsourcelink2.md diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md new file mode 100644 index 00000000000..3da2fea8bc9 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md @@ -0,0 +1,40 @@ +--- +description: Creates an enumerator that contains the same enumeration state as the current source files enumerator. +title: "IDiaEnumSourceLink::Clone" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink::Clone method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink::Clone` + +Creates an enumerator that contains the same enumeration state as the current enumerator. + +## Syntax + +```c++ +HRESULT Clone( + IDiaEnumSourceLink** ppenum +); +``` + +#### Parameters + + `ppenum` + +[out] Returns an [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) object that contains a duplicate of the enumerator. The source link blobs are not duplicated, only the enumerator. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md new file mode 100644 index 00000000000..175117e47ec --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md @@ -0,0 +1,40 @@ +--- +description: Retrieves the number of source files. +title: "IDiaEnumSourceLink::Count" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink::Count method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink::Count` + +Retrieves the number of source link blobs. + +## Syntax + +```c++ +HRESULT Count( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the number of source link blobs. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md new file mode 100644 index 00000000000..73e71be67e3 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md @@ -0,0 +1,52 @@ +--- +description: Retrieves the next source link blob and advances the enumeration. +title: "IDiaEnumSourceLink::Next" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink::Next method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink::Next` + +Retrieves the next source link blob and advances the enumeration. + +## Syntax + +```c++ +HRESULT Next( + DWORD cb, + DWORD* pcb, + BYTE* pb +); +``` + +#### Parameters + + `cb` + +[in] Specifies the number of bytes in the buffer `pb`. This should never be 0. + + `pcb` + +[out, optional] Returns the number of bytes written to the buffer `pb` upon success. + + `pb` + +[out] Returns the bytes for next source link blob. + +## Return Value + +If successful, returns `S_OK`. If the end of the enumeration has been reached, returns `S_FALSE`. Otherwise, returns an error code. Note that this function does **not** return an error code if `pb` is too small to return the entire source link blob, it merely silently truncates the blob. The caller should always ensure the buffer is big enough and `cb` specifies the correct size of the buffer. Call the [`IDiaEnumSourceLink::SizeOfNext`](../../debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md) method to get the needed buffer size. + +## See also + +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) +- [`IDiaEnumSourceLink::SizeOfNext`](../../debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md) +- [`IDiaEnumSourceLink2::Next2`](../../debugger/debug-interface-access/idiaenumsourcelink2-next2.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md new file mode 100644 index 00000000000..459eae3343d --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md @@ -0,0 +1,32 @@ +--- +description: Resets an enumeration sequence of source files to the beginning. +title: "IDiaEnumSourceLink::Reset" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink::Reset method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink::Reset` + +Resets an enumeration sequence to the beginning. + +## Syntax + +```c++ +HRESULT Reset(); +``` + +## Return Value + +Returns `S_OK`. + +## See also + +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md new file mode 100644 index 00000000000..a778cfc4636 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md @@ -0,0 +1,41 @@ +--- +description: Retrieves the size of the next source link blob, without advancing the enumeration. +title: "IDiaEnumSourceLink::SizeOfNext" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink::SizeOfNext method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink::SizeOfNext` + +Retrieves the size of the next source link blob, without advancing the enumeration. + +## Syntax + +```c++ +HRESULT SizeOfNext( + DWORD* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the size of the next source link blob. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) +- [`IDiaEnumSourceLink2::SizeOfNext2`](../../debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md new file mode 100644 index 00000000000..b88ce18fd8e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md @@ -0,0 +1,40 @@ +--- +description: Skips a specified number of source link blobs in an enumeration sequence. +title: "IDiaEnumSourceLink::Skip" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink::Skip method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink::Skip` + +Skips a specified number of source link blobs in an enumeration sequence. + +## Syntax + +```c++ +HRESULT Skip( + DWORD cnt +); +``` + +#### Parameters + + `cnt` + +[in] The number of source link blobs in the enumeration sequence to skip. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns `S_FALSE` if there are no more source link blobs to skip. + +## See also + +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink.md b/docs/debugger/debug-interface-access/idiaenumsourcelink.md new file mode 100644 index 00000000000..1801fa97053 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink.md @@ -0,0 +1,52 @@ +--- +description: Enumerates the various source link blobs contained in the data source. +title: IDiaEnumSourceLink +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# IDiaEnumSourceLink + +Enumerates the various source link blobs contained in the data source. + +## Syntax + +`IDiaEnumSourceLink : IUnknown` + +## Methods in Vtable Order + +The following table shows the methods of `IDiaEnumSourceLink`. + +|Method|Description| +|------------|-----------------| +|[`IDiaEnumSourceLink::Count`](../../debugger/debug-interface-access/idiaenumsourcelink-count.md)|Retrieves the number of source link blobs.| +|[`IDiaEnumSourceLink::SizeOfNext`](../../debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md)|Retrieves the size of the next source link blob, without advancing the enumeration.| +|[`IDiaEnumSourceLink::Next`](../../debugger/debug-interface-access/idiaenumsourcelink-next.md)|Retrieves the next source link blob and advances the enumeration.| +|[`IDiaEnumSourceLink::Skip`](../../debugger/debug-interface-access/idiaenumsourcelink-skip.md)|Skips a specified number of source link blobs in an enumeration sequence.| +|[`IDiaEnumSourceLink::Reset`](../../debugger/debug-interface-access/idiaenumsourcelink-reset.md)|Resets an enumeration sequence to the beginning.| +|[`IDiaEnumSourceLink::Clone`](../../debugger/debug-interface-access/idiaenumsourcelink-clone.md)|Creates an enumerator that contains the same enumeration state as the current enumerator.| + +## Remarks + +Although [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) is a well defined standard, the PDB and DIA SDK only have limited support for it. Specifically the DIA SDK treats the source link as a simple blob of bytes. It is the responsiblity of the caller to interpret those bytes as the correct character encoding (UTF8, ASCII, etc.), parse as a JSON file, enforce a particular schema, or use that information to map and download individual source files. + +## Notes for Callers + +Obtain this interface by calling the [`IDiaSessionEx::getSourceLinkInfo`](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md) method. + +## See also + +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [`IDiaSessionEx::getSourceLinkInfo`](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md) +- [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) +- [Using Source Link](https://github.com/dotnet/sourcelink#using-source-link-in-c-projects) +- [/SOURCELINK (Include Source Link file in PDB)](/cpp/build/reference/sourcelink) +- [`IDiaEnumSourceLink2`](../../debugger/debug-interface-access/idiaenumsourcelink2.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md b/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md new file mode 100644 index 00000000000..85edaec7257 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md @@ -0,0 +1,52 @@ +--- +description: Retrieves the next source link blob and advances the enumeration. +title: "IDiaEnumSourceLink2::Next2" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink2::Next2 method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink2::Next2` + +Retrieves the next source link blob and advances the enumeration. + +## Syntax + +```c++ +HRESULT Next( + ULONGLONG cb, + ULONGLONG* pcb, + BYTE* pb +); +``` + +#### Parameters + + `cb` + +[in] Specifies the number of bytes in the buffer `pb`. This should never be 0. + + `pcb` + +[out, optional] Returns the number of bytes written to the buffer `pb` upon success. + + `pb` + +[out] Returns the bytes for next source link blob. + +## Return Value + +If successful, returns `S_OK`. If the end of the enumeration has been reached, returns `S_FALSE`. Otherwise, returns an error code. Note that this function does **not** return an error code if `pb` is too small to return the entire source link blob, it merely silently truncates the blob. The caller should always ensure the buffer is big enough and `cb` specifies the correct size of the buffer. Call the [`IDiaEnumSourceLink2::SizeOfNext2`](../../debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md) method to get the needed buffer size. + +## See also + +- [`IDiaEnumSourceLink2`](../../debugger/debug-interface-access/idiaenumsourcelink2.md) +- [`IDiaEnumSourceLink2::SizeOfNext2`](../../debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md) +- [`IDiaEnumSourceLink::Next`](../../debugger/debug-interface-access/idiaenumsourcelink-next.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md b/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md new file mode 100644 index 00000000000..eac21c0ddd1 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md @@ -0,0 +1,41 @@ +--- +description: Retrieves the size of the next source link blob, without advancing the enumeration. +title: "IDiaEnumSourceLink2::SizeOfNext2" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink2::SizeOfNext2 method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `IDiaEnumSourceLink2::SizeOfNext2` + +Retrieves the size of the next source link blob, without advancing the enumeration. + +## Syntax + +```c++ +HRESULT SizeOfNext( + ULONGLONG* pRetVal +); +``` + +#### Parameters + + `pRetVal` + +[out] Returns the size of the next source link blob. + +## Return Value + +If successful, returns `S_OK`; otherwise, returns an error code. + +## See also + +- [`IDiaEnumSourceLink2`](../../debugger/debug-interface-access/idiaenumsourcelink2.md) +- [`IDiaEnumSourceLink::SizeOfNext`](../../debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink2.md b/docs/debugger/debug-interface-access/idiaenumsourcelink2.md new file mode 100644 index 00000000000..9f9a54bd90e --- /dev/null +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink2.md @@ -0,0 +1,48 @@ +--- +description: Enumerates the various source link blobs contained in the data source. +title: IDiaEnumSourceLink2 +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaEnumSourceLink2 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# IDiaEnumSourceLink2 + +Enumerates the various source link blobs contained in the data source. + +## Syntax + +`IDiaEnumSourceLink2 : IDiaEnumSourceLink` + +## Methods in Vtable Order + +The following table shows the methods of `IDiaEnumSourceLink2`. + +|Method|Description| +|------------|-----------------| +|[`IDiaEnumSourceLink2::SizeOfNext2`](../../debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md)|Retrieves the size of the next source link blob, without advancing the enumeration.| +|[`IDiaEnumSourceLink2::Next2`](../../debugger/debug-interface-access/idiaenumsourcelink2-next2.md)|Retrieves the next source link blob and advances the enumeration.| + +## Remarks + +`IDiaEnumSourceLink2` extends [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) to support larger source link blobs that might exceed the limits of a `DWORD` (32-bit unsigned integer). + +## Notes for Callers + +Obtain this interface by calling the [`IDiaSessionEx::getSourceLinkInfo`](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md) method then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSourceLink2`. + +## See also + +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [`IDiaSessionEx::getSourceLinkInfo`](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md) +- [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) +- [Using Source Link](https://github.com/dotnet/sourcelink#using-source-link-in-c-projects) +- [/SOURCELINK (Include Source Link file in PDB)](/cpp/build/reference/sourcelink) +- [`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) diff --git a/docs/debugger/debug-interface-access/idiasectioncontrib.md b/docs/debugger/debug-interface-access/idiasectioncontrib.md index e0c9cfcb75d..9db6adb786b 100644 --- a/docs/debugger/debug-interface-access/idiasectioncontrib.md +++ b/docs/debugger/debug-interface-access/idiasectioncontrib.md @@ -1,7 +1,7 @@ --- description: "Retrieves data describing a section contribution, that is, a contiguous block of memory contributed to the image by a compiland." title: "IDiaSectionContrib" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -23,42 +23,45 @@ IDiaSectionContrib : IUnknown ``` ## Methods in Vtable Order + The following table shows the methods of `IDiaSectionContrib`. |Method|Description| |------------|-----------------| -|[IDiaSectionContrib::get_compiland](../../debugger/debug-interface-access/idiasectioncontrib-get-compiland.md)|Retrieves a reference to the compiland symbol that contributed this section.| -|[IDiaSectionContrib::get_addressSection](../../debugger/debug-interface-access/idiasectioncontrib-get-addresssection.md)|Retrieves the section part of the contribution's address.| -|[IDiaSectionContrib::get_addressOffset](../../debugger/debug-interface-access/idiasectioncontrib-get-addressoffset.md)|Retrieves the offset part of the contribution's address.| -|[IDiaSectionContrib::get_relativeVirtualAddress](../../debugger/debug-interface-access/idiasectioncontrib-get-relativevirtualaddress.md)|Retrieves the image relative virtual address (RVA) of the contribution.| -|[IDiaSectionContrib::get_virtualAddress](../../debugger/debug-interface-access/idiasectioncontrib-get-virtualaddress.md)|Retrieves the virtual address (VA) of the contribution.| -|[IDiaSectionContrib::get_length](../../debugger/debug-interface-access/idiasectioncontrib-get-length.md)|Retrieves the number of bytes in a section.| -|[IDiaSectionContrib::get_notPaged](../../debugger/debug-interface-access/idiasectioncontrib-get-notpaged.md)|Retrieves a flag that indicates whether the section cannot be paged out of memory.| -|[IDiaSectionContrib::get_nopad](../../debugger/debug-interface-access/idiasectioncontrib-get-nopad.md)|Retrieves a flag indicating whether the section should not be padded to the next memory boundary.| -|[IDiaSectionContrib::get_code](../../debugger/debug-interface-access/idiasectioncontrib-get-code.md)|Retrieves a flag that indicates whether the section contains executable code.| -|[IDiaSectionContrib::get_code16bit](../../debugger/debug-interface-access/idiasectioncontrib-get-code16bit.md)|Retrieves a flag that indicates whether the section contains 16-bit code.| -|[IDiaSectionContrib::get_initializedData](../../debugger/debug-interface-access/idiasectioncontrib-get-initializeddata.md)|Retrieves a flag that indicates whether the section contains initialized data.| -|[IDiaSectionContrib::get_uninitializedData](../../debugger/debug-interface-access/idiasectioncontrib-get-uninitializeddata.md)|Retrieves a flag that indicates whether the section contains uninitialized data.| -|[IDiaSectionContrib::get_informational](../../debugger/debug-interface-access/idiasectioncontrib-get-informational.md)|Retrieves a flag indicating whether a section contains comments or similar information.| -|[IDiaSectionContrib::get_remove](../../debugger/debug-interface-access/idiasectioncontrib-get-remove.md)|Retrieves a flag that indicates whether the section is removed before it is made part of the in-memory image.| -|[IDiaSectionContrib::get_comdat](../../debugger/debug-interface-access/idiasectioncontrib-get-comdat.md)|Retrieves a flag that indicates whether the section is a COMDAT record.| -|[IDiaSectionContrib::get_discardable](../../debugger/debug-interface-access/idiasectioncontrib-get-discardable.md)|Retrieves a flag that indicates whether the section can be discarded.| -|[IDiaSectionContrib::get_notCached](../../debugger/debug-interface-access/idiasectioncontrib-get-notcached.md)|Retrieves a flag that indicates whether the section cannot be cached.| -|[IDiaSectionContrib::get_share](../../debugger/debug-interface-access/idiasectioncontrib-get-share.md)|Retrieves a flag that indicates whether the section can be shared in memory.| -|[IDiaSectionContrib::get_execute](../../debugger/debug-interface-access/idiasectioncontrib-get-execute.md)|Retrieves a flag that indicates whether the section is executable as code.| -|[IDiaSectionContrib::get_read](../../debugger/debug-interface-access/idiasectioncontrib-get-read.md)|Retrieves a flag that indicates whether the section can be read.| -|[IDiaSectionContrib::get_write](../../debugger/debug-interface-access/idiasectioncontrib-get-write.md)|Retrieves a flag that indicates whether the section can be written.| -|[IDiaSectionContrib::get_dataCrc](../../debugger/debug-interface-access/idiasectioncontrib-get-datacrc.md)|Retrieves the cyclic redundancy check (CRC) of the data in the section.| -|[IDiaSectionContrib::get_relocationsCrc](../../debugger/debug-interface-access/idiasectioncontrib-get-relocationscrc.md)|Retrieves the CRC of the relocation information for the section.| -|[IDiaLineNumber::get_compilandId](../../debugger/debug-interface-access/idialinenumber-get-compilandid.md)|Retrieves the compiland identifier for the section.| +|[`IDiaSectionContrib::get_compiland`](../../debugger/debug-interface-access/idiasectioncontrib-get-compiland.md)|Retrieves a reference to the compiland symbol that contributed this section.| +|[`IDiaSectionContrib::get_addressSection`](../../debugger/debug-interface-access/idiasectioncontrib-get-addresssection.md)|Retrieves the section part of the contribution's address.| +|[`IDiaSectionContrib::get_addressOffset`](../../debugger/debug-interface-access/idiasectioncontrib-get-addressoffset.md)|Retrieves the offset part of the contribution's address.| +|[`IDiaSectionContrib::get_relativeVirtualAddress`](../../debugger/debug-interface-access/idiasectioncontrib-get-relativevirtualaddress.md)|Retrieves the image relative virtual address (RVA) of the contribution.| +|[`IDiaSectionContrib::get_virtualAddress`](../../debugger/debug-interface-access/idiasectioncontrib-get-virtualaddress.md)|Retrieves the virtual address (VA) of the contribution.| +|[`IDiaSectionContrib::get_length`](../../debugger/debug-interface-access/idiasectioncontrib-get-length.md)|Retrieves the number of bytes in a section.| +|[`IDiaSectionContrib::get_notPaged`](../../debugger/debug-interface-access/idiasectioncontrib-get-notpaged.md)|Retrieves a flag that indicates whether the section cannot be paged out of memory.| +|[`IDiaSectionContrib::get_nopad`](../../debugger/debug-interface-access/idiasectioncontrib-get-nopad.md)|Retrieves a flag indicating whether the section should not be padded to the next memory boundary.| +|[`IDiaSectionContrib::get_code`](../../debugger/debug-interface-access/idiasectioncontrib-get-code.md)|Retrieves a flag that indicates whether the section contains executable code.| +|[`IDiaSectionContrib::get_initializedData`](../../debugger/debug-interface-access/idiasectioncontrib-get-initializeddata.md)|Retrieves a flag that indicates whether the section contains initialized data.| +|[`IDiaSectionContrib::get_uninitializedData`](../../debugger/debug-interface-access/idiasectioncontrib-get-uninitializeddata.md)|Retrieves a flag that indicates whether the section contains uninitialized data.| +|[`IDiaSectionContrib::get_informational`](../../debugger/debug-interface-access/idiasectioncontrib-get-informational.md)|Retrieves a flag indicating whether a section contains comments or similar information.| +|[`IDiaSectionContrib::get_remove`](../../debugger/debug-interface-access/idiasectioncontrib-get-remove.md)|Retrieves a flag that indicates whether the section is removed before it is made part of the in-memory image.| +|[`IDiaSectionContrib::get_comdat`](../../debugger/debug-interface-access/idiasectioncontrib-get-comdat.md)|Retrieves a flag that indicates whether the section is a COMDAT record.| +|[`IDiaSectionContrib::get_discardable`](../../debugger/debug-interface-access/idiasectioncontrib-get-discardable.md)|Retrieves a flag that indicates whether the section can be discarded.| +|[`IDiaSectionContrib::get_notCached`](../../debugger/debug-interface-access/idiasectioncontrib-get-notcached.md)|Retrieves a flag that indicates whether the section cannot be cached.| +|[`IDiaSectionContrib::get_share`](../../debugger/debug-interface-access/idiasectioncontrib-get-share.md)|Retrieves a flag that indicates whether the section can be shared in memory.| +|[`IDiaSectionContrib::get_execute`](../../debugger/debug-interface-access/idiasectioncontrib-get-execute.md)|Retrieves a flag that indicates whether the section is executable as code.| +|[`IDiaSectionContrib::get_read`](../../debugger/debug-interface-access/idiasectioncontrib-get-read.md)|Retrieves a flag that indicates whether the section can be read.| +|[`IDiaSectionContrib::get_write`](../../debugger/debug-interface-access/idiasectioncontrib-get-write.md)|Retrieves a flag that indicates whether the section can be written.| +|[`IDiaSectionContrib::get_dataCrc`](../../debugger/debug-interface-access/idiasectioncontrib-get-datacrc.md)|Retrieves the cyclic redundancy check (CRC) of the data in the section.| +|[`IDiaSectionContrib::get_relocationsCrc`](../../debugger/debug-interface-access/idiasectioncontrib-get-relocationscrc.md)|Retrieves the CRC of the relocation information for the section.| +|[`IDiaSectionContrib::get_compilandId`](../../debugger/debug-interface-access/idiasectioncontrib-get-compilandid.md)|Retrieves the compiland identifier for the section.| +|[`IDiaSectionContrib::get_code16bit`](../../debugger/debug-interface-access/idiasectioncontrib-get-code16bit.md)|Retrieves a flag that indicates whether the section contains 16-bit code.| ## Remarks ## Notes for Callers -This interface is obtained by calling the [IDiaEnumSectionContribs::Item](../../debugger/debug-interface-access/idiaenumsectioncontribs-item.md) and [IDiaEnumSectionContribs::Next](../../debugger/debug-interface-access/idiaenumsectioncontribs-next.md) methods. See the [IDiaEnumSectionContribs](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) interface for an example of obtaining the `IDiaSectionContrib` interface. + +This interface is obtained by calling the [`IDiaEnumSectionContribs::Item`](../../debugger/debug-interface-access/idiaenumsectioncontribs-item.md) and [`IDiaEnumSectionContribs::Next`](../../debugger/debug-interface-access/idiaenumsectioncontribs-next.md) methods. See the [`IDiaEnumSectionContribs`](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) interface for an example of obtaining the `IDiaSectionContrib` interface. ## Example -This function shows the address of each section along with any associated symbols. See the [IDiaEnumSectionContribs](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) interface to see how the `IDiaSectionContrib` interface is obtained. + +This function shows the address of each section along with any associated symbols. See the [`IDiaEnumSectionContribs`](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) interface to see how the `IDiaSectionContrib` interface is obtained. ```C++ void PrintSectionContrib(IDiaSectionContrib* pSecContrib, IDiaSession* pSession) @@ -121,14 +124,16 @@ void PrintSectionContrib(IDiaSectionContrib* pSecContrib, IDiaSession* pSession) ``` ## Requirements + Header: Dia2.h Library: diaguids.lib -DLL: msdia80.dll +DLL: msdia140.dll ## See also + - [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) -- [IDiaEnumSectionContribs](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) -- [IDiaEnumSectionContribs::Item](../../debugger/debug-interface-access/idiaenumsectioncontribs-item.md) -- [IDiaEnumSectionContribs::Next](../../debugger/debug-interface-access/idiaenumsectioncontribs-next.md) +- [`IDiaEnumSectionContribs`](../../debugger/debug-interface-access/idiaenumsectioncontribs.md) +- [`IDiaEnumSectionContribs::Item`](../../debugger/debug-interface-access/idiaenumsectioncontribs-item.md) +- [`IDiaEnumSectionContribs::Next`](../../debugger/debug-interface-access/idiaenumsectioncontribs-next.md) diff --git a/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md b/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md index 1c3da0f0ede..2a266b8a206 100644 --- a/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md +++ b/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md @@ -29,7 +29,7 @@ HRESULT getSourceLinkInfo( `parent` - [in] If not `nullptr`, specified the `SymTagCompiland` symbol to query for source link information. Otherwise this method enumerates all source link information. + [in] If not `nullptr`, specifies the `SymTagCompiland` symbol to query for source link information. Otherwise this method enumerates all source link information. `ppEnum` diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index e5369905aaf..901cc71dee2 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -320,6 +320,30 @@ href: idiaenumsourcefiles-reset.md - name: IDiaEnumSourceFiles::Skip href: idiaenumsourcefiles-skip.md + - name: IDiaEnumSourceLink + items: + - name: IDiaEnumSourceLink + href: idiaenumsourcelink.md + - name: IDiaEnumSourceLink::Count + href: idiaenumsourcelink-count.md + - name: IDiaEnumSourceLink::SizeOfNext + href: idiaenumsourcelink-sizeofnext.md + - name: IDiaEnumSourceLink::Next + href: idiaenumsourcelink-next.md + - name: IDiaEnumSourceLink::Skip + href: idiaenumsourcelink-skip.md + - name: IDiaEnumSourceLink::Reset + href: idiaenumsourcelink-reset.md + - name: IDiaEnumSourceLink::Clone + href: idiaenumsourcelink-clone.md + - name: IDiaEnumSourceLink2 + items: + - name: IDiaEnumSourceLink2 + href: idiaenumsourcelink2.md + - name: IDiaEnumSourceLink2::SizeOfNext2 + href: idiaenumsourcelink2-sizeofnext2.md + - name: IDiaEnumSourceLink2::Next2 + href: idiaenumsourcelink2-next2.md - name: IDiaEnumStackFrames items: - name: IDiaEnumStackFrames From 5f6f90b571cab9c2141ca626adbeaa757323800d Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Thu, 18 Jul 2024 19:19:25 -0700 Subject: [PATCH 19/25] EVerything reviewed --- .../cv-associationkind-e.md | 6 +- .../debug-interface-access/cv-builtin-e.md | 84 +++++++++++++++++++ .../cv-hlslmemoryspace-e.md | 47 +++++++++++ .../debug-interface-access/cv-hlslreg-e.md | 80 ++++++++++++++++++ .../debug-interface-access/cv-hreg-e.md | 29 +++---- .../cv-sourcechksum-t.md | 51 +++++++++++ .../enumerations-and-structures.md | 46 ++++++---- .../idiasourcefile-get-checksumtype.md | 23 ++--- ...alkhelper2-getpointerauthenticationmask.md | 49 +++++++++++ .../idiastackwalkhelper2.md | 54 ++++++++++++ .../idiasymbol-get-builtinkind.md | 10 ++- .../idiasymbol-get-memoryspacekind.md | 12 ++- .../idiasymbol-get-registertype.md | 11 ++- .../interfaces-debug-interface-access-sdk.md | 68 ++++++++++++++- .../debug-interface-access/locationtype.md | 17 ++-- .../debug-interface-access/memorytypeenum.md | 8 +- .../symbol-locations.md | 51 +++++------ .../debug-interface-access/thunk-ordinal.md | 28 +++++-- docs/debugger/debug-interface-access/toc.yml | 6 ++ 19 files changed, 579 insertions(+), 101 deletions(-) create mode 100644 docs/debugger/debug-interface-access/cv-builtin-e.md create mode 100644 docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md create mode 100644 docs/debugger/debug-interface-access/cv-hlslreg-e.md create mode 100644 docs/debugger/debug-interface-access/cv-sourcechksum-t.md create mode 100644 docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md create mode 100644 docs/debugger/debug-interface-access/idiastackwalkhelper2.md diff --git a/docs/debugger/debug-interface-access/cv-associationkind-e.md b/docs/debugger/debug-interface-access/cv-associationkind-e.md index 8245f82d5fe..b4012bfe7ea 100644 --- a/docs/debugger/debug-interface-access/cv-associationkind-e.md +++ b/docs/debugger/debug-interface-access/cv-associationkind-e.md @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# CV_AssociationKind_e +# `CV_AssociationKind_e` Specifies the kind of association between two symbols. @@ -36,7 +36,7 @@ typedef enum CV_AssociationKind_e ## Remarks -Use the [IDiaSymbol8::get_associatedSymbolKind](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) method to retrieve the kind of associated between two symbols. +Use the [`IDiaSymbol8::get_associatedSymbolKind`](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) method to retrieve the kind of associated between two symbols. ## Requirements @@ -45,4 +45,4 @@ Header: cvconst.h ## See also - [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) -- [IDiaSymbol8::get_associatedSymbolKind](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) +- [`IDiaSymbol8::get_associatedSymbolKind`](../../debugger/debug-interface-access/idiasymbol8-get-associatedSymbolkind.md) diff --git a/docs/debugger/debug-interface-access/cv-builtin-e.md b/docs/debugger/debug-interface-access/cv-builtin-e.md new file mode 100644 index 00000000000..9968b316f92 --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-builtin-e.md @@ -0,0 +1,84 @@ +--- +title: CV_builtin_e +description: Specifies the HLSL built in type kind. +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_builtin_e enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `CV_builtin_e` + +Specifies the HLSL built in type kind. + +## Syntax + +```c++ +typedef enum CV_builtin_e +{ + // 0x0000 - 0x01ff - Reserved. + CV_BI_INVALID = 0x0000, + + // 0x0200 - 0x03ff - HLSL types. + + CV_BI_HLSL_INTERFACE_POINTER = 0x0200, + CV_BI_HLSL_TEXTURE1D = 0x0201, + CV_BI_HLSL_TEXTURE1D_ARRAY = 0x0202, + CV_BI_HLSL_TEXTURE2D = 0x0203, + CV_BI_HLSL_TEXTURE2D_ARRAY = 0x0204, + CV_BI_HLSL_TEXTURE3D = 0x0205, + CV_BI_HLSL_TEXTURECUBE = 0x0206, + CV_BI_HLSL_TEXTURECUBE_ARRAY = 0x0207, + CV_BI_HLSL_TEXTURE2DMS = 0x0208, + CV_BI_HLSL_TEXTURE2DMS_ARRAY = 0x0209, + CV_BI_HLSL_SAMPLER = 0x020a, + CV_BI_HLSL_SAMPLERCOMPARISON = 0x020b, + CV_BI_HLSL_BUFFER = 0x020c, + CV_BI_HLSL_POINTSTREAM = 0x020d, + CV_BI_HLSL_LINESTREAM = 0x020e, + CV_BI_HLSL_TRIANGLESTREAM = 0x020f, + CV_BI_HLSL_INPUTPATCH = 0x0210, + CV_BI_HLSL_OUTPUTPATCH = 0x0211, + CV_BI_HLSL_RWTEXTURE1D = 0x0212, + CV_BI_HLSL_RWTEXTURE1D_ARRAY = 0x0213, + CV_BI_HLSL_RWTEXTURE2D = 0x0214, + CV_BI_HLSL_RWTEXTURE2D_ARRAY = 0x0215, + CV_BI_HLSL_RWTEXTURE3D = 0x0216, + CV_BI_HLSL_RWBUFFER = 0x0217, + CV_BI_HLSL_BYTEADDRESS_BUFFER = 0x0218, + CV_BI_HLSL_RWBYTEADDRESS_BUFFER = 0x0219, + CV_BI_HLSL_STRUCTURED_BUFFER = 0x021a, + CV_BI_HLSL_RWSTRUCTURED_BUFFER = 0x021b, + CV_BI_HLSL_APPEND_STRUCTURED_BUFFER = 0x021c, + CV_BI_HLSL_CONSUME_STRUCTURED_BUFFER= 0x021d, + CV_BI_HLSL_MIN8FLOAT = 0x021e, + CV_BI_HLSL_MIN10FLOAT = 0x021f, + CV_BI_HLSL_MIN16FLOAT = 0x0220, + CV_BI_HLSL_MIN12INT = 0x0221, + CV_BI_HLSL_MIN16INT = 0x0222, + CV_BI_HLSL_MIN16UINT = 0x0223, + CV_BI_HLSL_CONSTANT_BUFFER = 0x0224, + + // 0x0400 - 0xffff - Unused. + +} CV_builtin_e; +``` + +## Remarks + +Use the [`IDiaSymbol::get_builtInKind`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md) method to retrieve the built in type kind for a HLSL symbol. + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [`IDiaSymbol::get_builtInKind`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md) diff --git a/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md b/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md new file mode 100644 index 00000000000..57f49f49a15 --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md @@ -0,0 +1,47 @@ +--- +title: CV_HLSLMemorySpace_e Enumeration +description: Specifies the HLSL built in type kind. +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_HLSLMemorySpace_e enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `CV_HLSLMemorySpace_e` Enumeration + +Specifies the HLSL memory space kind. + +## Syntax + +```c++ +typedef enum CV_HLSLMemorySpace_e +{ + // HLSL specific memory spaces + + CV_HLSL_MEMSPACE_DATA = 0x00, + CV_HLSL_MEMSPACE_SAMPLER = 0x01, + CV_HLSL_MEMSPACE_RESOURCE = 0x02, + CV_HLSL_MEMSPACE_RWRESOURCE = 0x03, + + CV_HLSL_MEMSPACE_MAX = 0x0F, +} CV_HLSLMemorySpace_e; +``` + +## Remarks + +Use the [`IDiaSymbol::get_memorySpaceKind`](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md) method to retrieve the memory space kind for an HLSL symbol. + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [`IDiaSymbol::get_memorySpaceKind`](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md) diff --git a/docs/debugger/debug-interface-access/cv-hlslreg-e.md b/docs/debugger/debug-interface-access/cv-hlslreg-e.md new file mode 100644 index 00000000000..5f8e0ff9e2e --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-hlslreg-e.md @@ -0,0 +1,80 @@ +--- +title: CV_HLSLREG_e Enumeration +description: Specifies the HLSL built in type kind. +ms.date: "07/15/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_HLSLREG_e enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `CV_HLSLREG_e` Enumeration + +Specifies the HLSL register type. + +## Syntax + +```c++ +typedef enum CV_HLSLREG_e +{ + CV_HLSLREG_TEMP = 0, + CV_HLSLREG_INPUT = 1, + CV_HLSLREG_OUTPUT = 2, + CV_HLSLREG_INDEXABLE_TEMP = 3, + CV_HLSLREG_IMMEDIATE32 = 4, + CV_HLSLREG_IMMEDIATE64 = 5, + CV_HLSLREG_SAMPLER = 6, + CV_HLSLREG_RESOURCE = 7, + CV_HLSLREG_CONSTANT_BUFFER = 8, + CV_HLSLREG_IMMEDIATE_CONSTANT_BUFFER = 9, + CV_HLSLREG_LABEL = 10, + CV_HLSLREG_INPUT_PRIMITIVEID = 11, + CV_HLSLREG_OUTPUT_DEPTH = 12, + CV_HLSLREG_NULL = 13, + CV_HLSLREG_RASTERIZER = 14, + CV_HLSLREG_OUTPUT_COVERAGE_MASK = 15, + CV_HLSLREG_STREAM = 16, + CV_HLSLREG_FUNCTION_BODY = 17, + CV_HLSLREG_FUNCTION_TABLE = 18, + CV_HLSLREG_INTERFACE = 19, + CV_HLSLREG_FUNCTION_INPUT = 20, + CV_HLSLREG_FUNCTION_OUTPUT = 21, + CV_HLSLREG_OUTPUT_CONTROL_POINT_ID = 22, + CV_HLSLREG_INPUT_FORK_INSTANCE_ID = 23, + CV_HLSLREG_INPUT_JOIN_INSTANCE_ID = 24, + CV_HLSLREG_INPUT_CONTROL_POINT = 25, + CV_HLSLREG_OUTPUT_CONTROL_POINT = 26, + CV_HLSLREG_INPUT_PATCH_CONSTANT = 27, + CV_HLSLREG_INPUT_DOMAIN_POINT = 28, + CV_HLSLREG_THIS_POINTER = 29, + CV_HLSLREG_UNORDERED_ACCESS_VIEW = 30, + CV_HLSLREG_THREAD_GROUP_SHARED_MEMORY = 31, + CV_HLSLREG_INPUT_THREAD_ID = 32, + CV_HLSLREG_INPUT_THREAD_GROUP_ID = 33, + CV_HLSLREG_INPUT_THREAD_ID_IN_GROUP = 34, + CV_HLSLREG_INPUT_COVERAGE_MASK = 35, + CV_HLSLREG_INPUT_THREAD_ID_IN_GROUP_FLATTENED = 36, + CV_HLSLREG_INPUT_GS_INSTANCE_ID = 37, + CV_HLSLREG_OUTPUT_DEPTH_GREATER_EQUAL = 38, + CV_HLSLREG_OUTPUT_DEPTH_LESS_EQUAL = 39, + CV_HLSLREG_CYCLE_COUNTER = 40, +} CV_HLSLREG_e; +``` + +## Remarks + +Use the [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-registerType.md) method to retrieve the register type for an HLSL symbol. + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) +- [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md) diff --git a/docs/debugger/debug-interface-access/cv-hreg-e.md b/docs/debugger/debug-interface-access/cv-hreg-e.md index aceb84d9129..ad165e27054 100644 --- a/docs/debugger/debug-interface-access/cv-hreg-e.md +++ b/docs/debugger/debug-interface-access/cv-hreg-e.md @@ -1,7 +1,7 @@ --- title: CV_HREG_e description: Get reference information about the CV_HREG_e enumeration type, which specifies a target register in the debug interface access SDK. -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -13,7 +13,7 @@ manager: mijacobs ms.subservice: debug-diagnostics --- -# CV_HREG_e +# `CV_HREG_e` Specifies a target register. @@ -409,15 +409,16 @@ enum CV_HREG_e { | ---------------------- | --------------------------------------------------------------------------- | | CV_REG_* | Registers used by Intel 80x86 and ix86 processors and p-code. | | CV_R68_* | Registers used by 68K processor. | -| CV_M4_* | Registers used by MIPS 4000 series processor. | +| CV_M4_* | Registers used by MIPS 4000 series processor. | | CV_ALPHA_* | Registers used by Digital Equipment Corporation Alpha AXP series processor. | | CV_PPC_* | Registers used by Motorola/IBM PowerPC processor. | -| CV_SH3_* and CV_SH_\\* | Registers used by Hitachi SH3 and Hitachi SH series processor. | +| CV_SH3_* and CV_SH_* | Registers used by Hitachi SH3 and Hitachi SH series processor. | | CV_ARM_* | Registers used by Advanced RISC Machine (ARM) processors. | | CV_IA64_* | Registers used by Intel IA64 series processors. | | CV_TRI_* | Registers used by Infineon Technologies TriCore processor. | | CV_AM33_* | Registers used by Matsushita/Panasonic AM33 and related processors. | | CV_M32R_* | Registers used by Mitsubishi M32R processor. | +| CV_ARM64_* | Registers used by Advanced RISC Machine (ARM) 64-bit processors. | ## Remarks @@ -425,15 +426,15 @@ Each processor type uses its own unique set of registers. The values in this enumeration are passed to the following methods: -- [IDiaStackWalkFrame::get_registerValue](../../debugger/debug-interface-access/idiastackwalkframe-get-registervalue.md) +- [`IDiaStackWalkFrame::get_registerValue`](../../debugger/debug-interface-access/idiastackwalkframe-get-registervalue.md) -- [IDiaStackWalkFrame::put_registerValue](../../debugger/debug-interface-access/idiastackwalkframe-put-registervalue.md) +- [`IDiaStackWalkFrame::put_registerValue`](../../debugger/debug-interface-access/idiastackwalkframe-put-registervalue.md) -- [IDiaStackWalkHelper::get_registerValue](../../debugger/debug-interface-access/idiastackwalkhelper-get-registervalue.md) +- [`IDiaStackWalkHelper::get_registerValue`](../../debugger/debug-interface-access/idiastackwalkhelper-get-registervalue.md) -- [IDiaStackWalkHelper::put_registerValue](../../debugger/debug-interface-access/idiastackwalkhelper-put-registervalue.md) +- [`IDiaStackWalkHelper::put_registerValue`](../../debugger/debug-interface-access/idiastackwalkhelper-put-registervalue.md) -- [IDiaStackFrame::get_registerValue](../../debugger/debug-interface-access/idiastackframe-get-registervalue.md) +- [`IDiaStackFrame::get_registerValue`](../../debugger/debug-interface-access/idiastackframe-get-registervalue.md) ## Requirements: @@ -442,8 +443,8 @@ Header: cvconst.h ## See also - [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) -- [IDiaStackWalkFrame::get_registerValue](../../debugger/debug-interface-access/idiastackwalkframe-get-registervalue.md) -- [IDiaStackWalkFrame::put_registerValue](../../debugger/debug-interface-access/idiastackwalkframe-put-registervalue.md) -- [IDiaStackWalkHelper::get_registerValue](../../debugger/debug-interface-access/idiastackwalkhelper-get-registervalue.md) -- [IDiaStackWalkHelper::put_registerValue](../../debugger/debug-interface-access/idiastackwalkhelper-put-registervalue.md) -- [IDiaStackFrame::get_registerValue](../../debugger/debug-interface-access/idiastackframe-get-registervalue.md) +- [`IDiaStackWalkFrame::get_registerValue`](../../debugger/debug-interface-access/idiastackwalkframe-get-registervalue.md) +- [`IDiaStackWalkFrame::put_registerValue`](../../debugger/debug-interface-access/idiastackwalkframe-put-registervalue.md) +- [`IDiaStackWalkHelper::get_registerValue`](../../debugger/debug-interface-access/idiastackwalkhelper-get-registervalue.md) +- [`IDiaStackWalkHelper::put_registerValue`](../../debugger/debug-interface-access/idiastackwalkhelper-put-registervalue.md) +- [`IDiaStackFrame::get_registerValue`](../../debugger/debug-interface-access/idiastackframe-get-registervalue.md) diff --git a/docs/debugger/debug-interface-access/cv-sourcechksum-t.md b/docs/debugger/debug-interface-access/cv-sourcechksum-t.md new file mode 100644 index 00000000000..aff7daa068c --- /dev/null +++ b/docs/debugger/debug-interface-access/cv-sourcechksum-t.md @@ -0,0 +1,51 @@ +--- +title: CV_SourceChksum_t +description: Specifies the type of source code checksum. +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "CV_SourceChksum_t enumeration" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- + +# `CV_SourceChksum_t` + +Specifies the type of source code checksum. + +## Syntax + +```c++ +enum CV_SourceChksum_t +{ + CHKSUM_TYPE_NONE = 0, + CHKSUM_TYPE_MD5, + CHKSUM_TYPE_SHA1, + CHKSUM_TYPE_SHA_256, +}; +``` + +## Elements + +|Checksum Type|Value|CryptoAPI Label|Description| +|-------------|-----|---------------|-----------| +| `CHKSUM_TYPE_NONE` | 0 | \ | No checksum present. | +| `CHKSUM_TYPE_MD5` | 1 | `CALG_MD5` | Checksum generated with the MD5 hashing algorithm. | +| `CHKSUM_TYPE_SHA1` | 2 | `CALG_SHA1` | Checksum generated with the SHA1 hashing algorithm. | +| `CHKSUM_TYPE_SHA_256` | 3 |`CALG_SHA_256`| Checksum generated with the 256-bit SHA hashing algorithm.| + +## Remarks + +The `CryptoAPI` labels are from the [`ALG_ID`](/windows/win32/seccrypto/alg-id) enumeration. For more information on hashing algorithms, consult the `CryptoAPI` section of the Microsoft Windows SDK. + +## Requirements + +Header: cvconst.h + +## See also + +- [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) diff --git a/docs/debugger/debug-interface-access/enumerations-and-structures.md b/docs/debugger/debug-interface-access/enumerations-and-structures.md index 38427d990cb..997910c30bd 100644 --- a/docs/debugger/debug-interface-access/enumerations-and-structures.md +++ b/docs/debugger/debug-interface-access/enumerations-and-structures.md @@ -28,7 +28,7 @@ These are the enumerations and structures used by the Debug Interface Access (DI Specifies the symbol's basic type. -- [CV_access_e Enumeration](../../debugger/debug-interface-access/cv-access-e.md) +- [`CV_access_e` Enumeration](../../debugger/debug-interface-access/cv-access-e.md) Specifies the scope of visibility (access level) of member functions and variables. @@ -36,23 +36,39 @@ Specifies the scope of visibility (access level) of member functions and variabl Specifies the kind of association between two symbols. -- [CV_call_e Enumeration](../../debugger/debug-interface-access/cv-call-e.md) +- [`CV_builtin_e` Enumeration](../../debugger/debug-interface-access/cv-builtin-e.md) + +Specifies the HLSL built in type kind. + +- [`CV_call_e` Enumeration](../../debugger/debug-interface-access/cv-call-e.md) Specifies the calling convention for a function. -- [CV_CFL_LANG Enumeration](../../debugger/debug-interface-access/cv-cfl-lang.md) +- [`CV_CFL_LANG` Enumeration](../../debugger/debug-interface-access/cv-cfl-lang.md) Specifies the source code language of the application or linked module. -- [`CV_CoroutineKind_e`](../../debugger/debug-interface-access/cv-coroutinekind-e.md) +- [`CV_SourceChksum_t` Enumeration](../../debugger/debug-interface-access/cv-sourcechksum-t.md) + +Specifies the type of source code checksum. + +- [`CV_CoroutineKind_e` Enumeration](../../debugger/debug-interface-access/cv-coroutinekind-e.md) Specifies the coroutine kind. -- [CV_CPU_TYPE_e Enumeration](../../debugger/debug-interface-access/cv-cpu-type-e.md) +- [`CV_CPU_TYPE_e` Enumeration](../../debugger/debug-interface-access/cv-cpu-type-e.md) Specifies the target processor. -- [CV_HREG_e Enumeration](../../debugger/debug-interface-access/cv-hreg-e.md) +- [`CV_HLSLMemorySpace_e` Enumeration](../../debugger/debug-interface-access/cv-hlslmemoryspace-e.md) + +Specifies the HLSL memory space kind. + +- [`CV_HLSLREG_e` Enumeration](../../debugger/debug-interface-access/cv-hlslreg-e.md) + +Specifies the HLSL register type. + +- [`CV_HREG_e` Enumeration](../../debugger/debug-interface-access/cv-hreg-e.md) Specifies a target register. @@ -60,41 +76,41 @@ Specifies a target register. Specifies type modifers. -- [DataKind Enumeration](../../debugger/debug-interface-access/datakind.md) +- [`DataKind` Enumeration](../../debugger/debug-interface-access/datakind.md) Indicates the particular scope of a data value. -- [LocationType Enumeration](../../debugger/debug-interface-access/locationtype.md) +- [`LocationType` Enumeration](../../debugger/debug-interface-access/locationtype.md) Indicates the kind of location information contained in a symbol. -- [MemoryTypeEnum Enumeration](../../debugger/debug-interface-access/memorytypeenum.md) +- [`MemoryTypeEnum` Enumeration](../../debugger/debug-interface-access/memorytypeenum.md) Specifies the type of memory to access. -- [NameSearchOptions Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) +- [`NameSearchOptions` Enumeration](../../debugger/debug-interface-access/namesearchoptions.md) Specifies the search options for symbol and file names. -- [StackFrameTypeEnum Enumeration](../../debugger/debug-interface-access/stackframetypeenum.md) +- [`StackFrameTypeEnum` Enumeration](../../debugger/debug-interface-access/stackframetypeenum.md) Specifies the stack frame type. -- [SymTagEnum Enumeration](../../debugger/debug-interface-access/symtagenum.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) Specifies the type of symbol. -- [THUNK_ORDINAL Enumeration](../../debugger/debug-interface-access/thunk-ordinal.md) +- [`THUNK_ORDINAL` Enumeration](../../debugger/debug-interface-access/thunk-ordinal.md) Designates thunk types. -- [UdtKind Enumeration](../../debugger/debug-interface-access/udtkind.md) +- [`UdtKind` Enumeration](../../debugger/debug-interface-access/udtkind.md) Describes the variety of user-defined type (UDT). ### Structures -[DiaAddressMapEntry Structure](../../debugger/debug-interface-access/diaaddressmapentry.md) +[`DiaAddressMapEntry` Structure](../../debugger/debug-interface-access/diaaddressmapentry.md) Describes an entry in an address map. diff --git a/docs/debugger/debug-interface-access/idiasourcefile-get-checksumtype.md b/docs/debugger/debug-interface-access/idiasourcefile-get-checksumtype.md index 24a99f747e6..34554a13e1f 100644 --- a/docs/debugger/debug-interface-access/idiasourcefile-get-checksumtype.md +++ b/docs/debugger/debug-interface-access/idiasourcefile-get-checksumtype.md @@ -1,7 +1,7 @@ --- description: "Retrieves the checksum type." title: "IDiaSourceFile::get_checksumType" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSourceFile::get_checksumType +# `IDiaSourceFile::get_checksumType` Retrieves the checksum type. @@ -25,26 +25,21 @@ HRESULT get_checksumType (  ``` #### Parameters + `pRetVal` -[out] Returns the checksum type. +[out] Returns the checksum type as a value from [`CV_SourceChksum_t`](../../debugger/debug-interface-access/cv-sourcechksum-t.md). ## Return Value + If successful, returns `S_OK`; otherwise, returns an error code. ## Remarks - The checksum type is a value that can be mapped to a checksum algorithm. For example, the standard PDB file format can typically have one of the following values: - -|Checksum Type|CryptoAPI Label|Description| -|-------------------|---------------------|-----------------| -|0|\|No checksum present.| -|1|`CALG_MD5`|checksum generated with the MD5 hashing algorithm.| -|2|`CALG_SHA1`|checksum generated with the SHA1 hashing algorithm.| - - The `CryptoAPI` labels are from the `ALG_ID` enumeration. For more information on hashing algorithms, consult the `CryptoAPI` section of the Microsoft Windows SDK. To obtain the actual checksum bytes for the source file, call the [IDiaSourceFile::get_checksum](../../debugger/debug-interface-access/idiasourcefile-get-checksum.md) method. ## See also -- [IDiaSourceFile](../../debugger/debug-interface-access/idiasourcefile.md) -- [IDiaSourceFile::get_checksum](../../debugger/debug-interface-access/idiasourcefile-get-checksum.md) + +- [`IDiaSourceFile`](../../debugger/debug-interface-access/idiasourcefile.md) +- [`IDiaSourceFile::get_checksum`](../../debugger/debug-interface-access/idiasourcefile-get-checksum.md) +- [`CV_SourceChksum_t`](../../debugger/debug-interface-access/cv-sourcechksum-t.md) diff --git a/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md b/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md new file mode 100644 index 00000000000..6659d3fc856 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md @@ -0,0 +1,49 @@ +--- +description: "Retrieves the value of the pointer authentication mask." +title: "IDiaStackWalkHelper2::GetPointerAuthenticationMask" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaStackWalkHelper2::GetPointerAuthenticationMask method" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaStackWalkHelper2::GetPointerAuthenticationMask` + +Retrieves the value of the pointer authentication mask. + +## Syntax + +```C++ +HRESULT GetPointerAuthenticationMask (  + ULONG64 PtrVal, + ULONG64* AuthMask +); +``` + +#### Parameters + + `PtrVal` + +[in] The pointer from the stack to be decoded. + + `AuthMask` + +[out] Returns the value of the authentication mask. + +## Return Value + + If successful, returns `S_OK`; otherwise, returns an error code. + +## Remarks + + Currently only the ARM64 hardware and OS support pointer authentication, so this callback is only ever called when walking ARM64 stacks. If `AuthMask` has all the bits set (`0xFFFFFFFFFFFFFFFFull`), then it means that the target stack shares the same pointer authentication as the current process, and thus DIA should use the OS APIs to decode the pointer. Conversely if `AuthMask` has no bits set it means that pointer authentication is not in use or enabled and thus the pointer does not need to be decoded. Otherwise the `AuthMask` should have 1 bit set for every part of the pointer that is part of the pointer authentication, and 0 for the base parts of the pointer. + +## See also + +- [`IDiaStackWalkHelper2`](../../debugger/debug-interface-access/idiastackwalkhelper2.md) +- [`IDiaSymbol7::get_isSignRet`](../../debugger/debug-interface-access/idiasymbol7-get-issignret.md) diff --git a/docs/debugger/debug-interface-access/idiastackwalkhelper2.md b/docs/debugger/debug-interface-access/idiastackwalkhelper2.md new file mode 100644 index 00000000000..6d65632642c --- /dev/null +++ b/docs/debugger/debug-interface-access/idiastackwalkhelper2.md @@ -0,0 +1,54 @@ +--- +description: "Facilitates walking the stack using the program debug database (.pdb) file." +title: "IDiaStackWalkHelper2" +ms.date: "07/18/2024" +ms.topic: "reference" +dev_langs: + - "C++" +helpviewer_keywords: + - "IDiaStackWalkHelper2 interface" +author: "grantri" +ms.author: "grantri" +manager: twhitney +ms.subservice: debug-diagnostics +--- +# `IDiaStackWalkHelper2` + +Facilitates walking the stack using the program debug database (.pdb) file. + +## Syntax + +``` +IDiaStackWalkHelper2: IDiaStackWalkHelper +``` + +## Methods in VTable Order + + The table below shows the methods of `IDiaStackWalkHelper2`: + +|Method|Description| +|------------|-----------------| +|[`IDiaStackWalkHelper2::GetPointerAuthenticationMask`](../../debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md)|Retrieves the value of the pointer authentication mask.| + +## Remarks + + This interface is called by the DIA code to obtain information about the executable to construct a list of stack frames during program execution. + +## Notes for Callers + + 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. + +## Requirements + + Header: Dia2.h + + Library: diaguids.lib + + DLL: msdia140.dll + +## See also +- [Interfaces (Debug Interface Access SDK)](../../debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md) +- [`IDiaFrameData`](../../debugger/debug-interface-access/idiaframedata.md) +- [`SymTagEnum` Enumeration](../../debugger/debug-interface-access/symtagenum.md) +- [`IDiaStackWalker::getEnumFrames`](../../debugger/debug-interface-access/idiastackwalker-getenumframes.md) +- [`IDiaStackWalker::getEnumFrames2`](../../debugger/debug-interface-access/idiastackwalker-getenumframes2.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md b/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md index ba55ff4c76b..a872f604086 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md @@ -1,7 +1,7 @@ --- description: "Retrieves a built-in kind of the HLSL type." title: "IDiaSymbol::get_builtInKind" -ms.date: "11/04/2016" +ms.date: "0718/2024" ms.topic: "reference" dev_langs: - "C++" @@ -10,7 +10,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSymbol::get_builtInKind +# `IDiaSymbol::get_builtInKind` Retrieves a built-in kind of the HLSL type. @@ -22,12 +22,16 @@ HRESULT get_buildInKind( ``` #### Parameters + `pRetVal` [out] A pointer to a `DWORD` that holds a built-in kind of the HLSL type. ## Return Value + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. ## See also -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`CV_builtin_e`](../../debugger/debug-interface-access/cv-builtin-e.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md b/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md index e421a490c39..32988dda069 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md @@ -1,7 +1,7 @@ --- description: "Retrieves the memory space kind." title: "IDiaSymbol::get_memorySpaceKind" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -10,7 +10,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSymbol::get_memorySpaceKind +# `IDiaSymbol::get_memorySpaceKind` Retrieves the memory space kind. @@ -22,12 +22,16 @@ HRESULT get_memorySpaceKind( ``` #### Parameters + `pRetVal` -[out] A pointer to a `DWORD` that holds the memory space kind. +[out] A pointer to a `DWORD` that holds the memory space kind. Usually a value from the [`CV_HLSLMemorySpace_e`](../../debugger/debug-interface-access/cv-hlslmemoryspace-e.md) enumeration. ## Return Value + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. ## See also -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`CV_HLSLMemorySpace_e` Enumeration](../../debugger/debug-interface-access/cv-hlslmemoryspace-e.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md b/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md index 29abdfc8cec..90619ee7f2e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md @@ -1,7 +1,7 @@ --- description: "Retrieves the register type." title: "IDiaSymbol::get_registerType" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -10,7 +10,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSymbol::get_registerType +# `IDiaSymbol::get_registerType` Retrieves the register type. @@ -22,12 +22,15 @@ HRESULT get_registerType( ``` #### Parameters + `pRetVal` -[out] A pointer to a `DWORD` that holds the register type. +[out] A pointer to a `DWORD` that holds the register type, a value from [`CV_HLSLREG_e`](../../debugger/debug-interface-access/cv-hlslreg-e.md). ## Return Value If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. ## See also -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`CV_HLSLREG_e` Enumeration](../../debugger/debug-interface-access/cv-hlslreg-e.md) diff --git a/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md b/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md index 0b7e9d9c3b3..b4c71201757 100644 --- a/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md +++ b/docs/debugger/debug-interface-access/interfaces-debug-interface-access-sdk.md @@ -1,7 +1,7 @@ --- description: "Methods are listed alphabetically under each interface in the table of contents and on the interface page in Vtable order." title: "Interfaces (Debug Interface Access SDK)" -ms.date: "07/05/2024" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -29,7 +29,7 @@ Initiates access to a source of debugging symbols. [`IDiaDataSourceEx`](../../debugger/debug-interface-access/idiadatasourceex.md) -Initiates access to a source of debugging symbols. Supersedes [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +Initiates access to a source of debugging symbols. Supersedes [`IDiaDataSource`](../../debugger/debug-interface-access/idiadatasource.md) [`IDiaEnumDebugStreamData`](../../debugger/debug-interface-access/idiaenumdebugstreamdata.md) @@ -47,6 +47,10 @@ Enumerates the various frame data elements contained in the data source. Enumerate the various injected sources contained in the data source. +[`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) + +Enumerate the input assembly files listed in the data source. + [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) Enumerates the various line numbers contained in the data source. @@ -63,6 +67,14 @@ Enumerates the various segments contained in the data source. Enumerates the various source files contained in the data source. +[`IDiaEnumSourceLink`](../../debugger/debug-interface-access/idiaenumsourcelink.md) + +Enumerates the various source link blobs contained in the data source. + +[`IDiaEnumSourceLink2`](../../debugger/debug-interface-access/idiaenumsourcelink2.md) + +Enumerates the various source link blobs contained in the data source. Supersedes [`IDiaEnumSourceLink2`](../../debugger/debug-interface-access/idiaenumsourcelink2.md) to add support for 64-bit sizes. + [`IDiaEnumStackFrames`](../../debugger/debug-interface-access/idiaenumstackframes.md) Enumerates the various stack frames available. @@ -75,6 +87,10 @@ Enumerates the various symbols contained in the data source. Enumerates by address the various symbols contained in the data source. +[`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) + +Enumerates by address the various symbols contained in the data source. Supersedes [`IDiaEnumSymbolsByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr.md) + [`IDiaEnumTables`](../../debugger/debug-interface-access/idiaenumtables.md) Enumerates the various tables contained in the data source. @@ -91,6 +107,10 @@ Exposes the details of the base location and memory offsets of the module or ima Accesses the program source code stored in the DIA data source. +[`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) + +Accesses information that describes an input or source assembly file for a .Net Native binary. + [`IDiaLineNumber`](../../debugger/debug-interface-access/idialinenumber.md) Accesses information that describes the process of mapping from a block of bytes of image text to a source file line number. @@ -151,10 +171,54 @@ Maintains stack context between invocations of the [`IDiaFrameData::execute`](.. Facilitates walking the stack using the program debug database (PDB) file. +[`IDiaStackWalkHelper2`](../../debugger/debug-interface-access/idiastackwalkhelper2.md) + +Facilitates walking the stack using the program debug database (PDB) file. Supersedes [`IDiaStackWalkHelper`](../../debugger/debug-interface-access/idiastackwalkhelper.md) + [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) Describes the properties of a symbol instance. +[`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) + +[`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol2`](../../debugger/debug-interface-access/idiasymbol2.md) + +[`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol3`](../../debugger/debug-interface-access/idiasymbol3.md) + +[`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol4`](../../debugger/debug-interface-access/idiasymbol4.md) + +[`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol5`](../../debugger/debug-interface-access/idiasymbol5.md) + +[`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol6`](../../debugger/debug-interface-access/idiasymbol6.md) + +[`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) + +Describes additional properties of a symbol instance primarily related to coroutines. Supersedes [`IDiaSymbol7`](../../debugger/debug-interface-access/idiasymbol7.md) + +[`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) + +[`IDiaSymbol10`](../../debugger/debug-interface-access/idiasymbol10.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol9`](../../debugger/debug-interface-access/idiasymbol9.md) + +[`IDiaSymbol11`](../../debugger/debug-interface-access/idiasymbol11.md) + +Describes additional properties of a symbol instance. Supersedes [`IDiaSymbol10`](../../debugger/debug-interface-access/idiasymbol10.md) + [`IDiaTable`](../../debugger/debug-interface-access/idiatable.md) Enumerates a DIA data source table. diff --git a/docs/debugger/debug-interface-access/locationtype.md b/docs/debugger/debug-interface-access/locationtype.md index 4f04c0ad83f..ba9ce60b58c 100644 --- a/docs/debugger/debug-interface-access/locationtype.md +++ b/docs/debugger/debug-interface-access/locationtype.md @@ -1,7 +1,7 @@ --- description: "Indicates the kind of location information contained in a symbol." title: "LocationType" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# LocationType +# `LocationType` Indicates the kind of location information contained in a symbol. @@ -31,6 +31,7 @@ enum LocationType { LocIsIlRel, LocInMetaData, LocIsConstant, + LocIsRegRelAliasIndir, LocTypeMax }; ``` @@ -50,18 +51,22 @@ enum LocationType { | `LocIsIlRel` | Location is MSIL-relative. | | `LocInMetaData` | Location is in metadata. | | `LocIsConstant` | Location is in a constant value. | +| `LocIsRegRelAliasIndir` | Location is register-relative, and an alias for part of a user defined type (UDT) . | | `LocTypeMax` | The number of location types in this enumeration. | ## Remarks -The properties available to the [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) interface depend on the symbol's location within the image file. For more information, see [Symbol Locations](../../debugger/debug-interface-access/symbol-locations.md). -The values in this enumeration are returned by a call to the [IDiaSymbol::get_locationType](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md) method. +The properties available to the [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) interface depend on the symbol's location within the image file. For more information, see [Symbol Locations](../../debugger/debug-interface-access/symbol-locations.md). + +The values in this enumeration are returned by a call to the [`IDiaSymbol::get_locationType`](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md) method. ## Requirements + Header: cvconst.h ## See also + - [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) -- [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) -- [IDiaSymbol::get_locationType](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md) +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`IDiaSymbol::get_locationType`](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md) - [Symbol Locations](../../debugger/debug-interface-access/symbol-locations.md) diff --git a/docs/debugger/debug-interface-access/memorytypeenum.md b/docs/debugger/debug-interface-access/memorytypeenum.md index 860f4fdef7a..ad3cc12ac30 100644 --- a/docs/debugger/debug-interface-access/memorytypeenum.md +++ b/docs/debugger/debug-interface-access/memorytypeenum.md @@ -1,7 +1,7 @@ --- description: "Specifies the type of memory to access." title: "MemoryTypeEnum" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# MemoryTypeEnum +# `MemoryTypeEnum` Specifies the type of memory to access. @@ -23,6 +23,7 @@ enum MemoryTypeEnum { MemTypeCode, MemTypeData, MemTypeStack, + MemTypeCodeOnHeap, // Read only memory for code generated on heap by runtime MemTypeAny = -1 }; ``` @@ -35,9 +36,10 @@ enum MemoryTypeEnum { | `MemTypeData` | Accesses data or stack memory. | | `MemTypeStack` | Accesses only stack memory. | | `MemTypeAny` | Accesses any kind of memory. | +| `MemTypeCodeOnHeap` | Accesses only code memory generated on heap by runtime. | ## Remarks -The values in this enumeration are passed to the [IDiaStackWalkHelper::readMemory](../../debugger/debug-interface-access/idiastackwalkhelper-readmemory.md) method to limit access to different types of memory. +The values in this enumeration are passed to the [`IDiaStackWalkHelper::readMemory`](../../debugger/debug-interface-access/idiastackwalkhelper-readmemory.md) method to limit access to different types of memory. ## Requirements Header: cvconst.h diff --git a/docs/debugger/debug-interface-access/symbol-locations.md b/docs/debugger/debug-interface-access/symbol-locations.md index 4704b660fea..64c9ee709be 100644 --- a/docs/debugger/debug-interface-access/symbol-locations.md +++ b/docs/debugger/debug-interface-access/symbol-locations.md @@ -1,7 +1,7 @@ --- description: "Most symbols have a defined location within the image file." title: "Symbol Locations" -ms.date: "11/04/2016" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -22,29 +22,32 @@ Most symbols have a defined location within the image file. A symbol's location |Location type|Additional properties| |-------------------|---------------------------| |`LocIsNull`|none| -|`LocIsStatic`|[IDiaSymbol::get_addressOffset](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md)

[IDiaSymbol::get_addressSection](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md)

[IDiaSymbol::get_relativeVirtualAddress](../../debugger/debug-interface-access/idiasymbol-get-relativevirtualaddress.md) (if relative virtual addresses are enabled)

[IDiaSymbol::get_virtualAddress](../../debugger/debug-interface-access/idiasymbol-get-virtualaddress.md) (if the image base has been set to nonzero)| -|`LocIsTLS`|[IDiaSymbol::get_addressSection](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md)

[IDiaSymbol::get_addressOffset](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md)| -|`LocIsRegRel`|[IDiaSymbol::get_registerId](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)

[IDiaSymbol::get_offset](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| -|`LocIsThisRel`|[IDiaSymbol::get_offset](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| -|`LocIsEnregistered`|[IDiaSymbol::get_registerId](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)| -|`LocIsBitField`|[IDiaSymbol::get_bitPosition](../../debugger/debug-interface-access/idiasymbol-get-bitposition.md)

[IDiaSymbol::get_length](../../debugger/debug-interface-access/idiasymbol-get-length.md)

[IDiaSymbol::get_offset](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| -|`LocIsSlot`|[IDiaSymbol::get_slot](../../debugger/debug-interface-access/idiasymbol-get-slot.md)| -|`LocIsIlRel`|[IDiaSymbol::get_offset](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| -|`LocInMetaData`|[IDiaSymbol::get_token](../../debugger/debug-interface-access/idiasymbol-get-token.md)| -|`LocIsConstant`|[IDiaSymbol::get_value](../../debugger/debug-interface-access/idiasymbol-get-value.md)| +|`LocIsStatic`|[`IDiaSymbol::get_addressOffset`](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md)

[`IDiaSymbol::get_addressSection`](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md)

[`IDiaSymbol::get_relativeVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-relativevirtualaddress.md) (if relative virtual addresses are enabled)

[`IDiaSymbol::get_virtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-virtualaddress.md) (if the image base has been set to nonzero)| +|`LocIsTLS`|[`IDiaSymbol::get_addressSection`](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md)

[`IDiaSymbol::get_addressOffset`](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md)| +|`LocIsRegRel`|[`IDiaSymbol::get_registerId`](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)

[`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| +|`LocIsThisRel`|[`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| +|`LocIsEnregistered`|[`IDiaSymbol::get_registerId`](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)| +|`LocIsBitField`|[`IDiaSymbol::get_bitPosition`](../../debugger/debug-interface-access/idiasymbol-get-bitposition.md)

[`IDiaSymbol::get_length`](../../debugger/debug-interface-access/idiasymbol-get-length.md)

[`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| +|`LocIsSlot`|[`IDiaSymbol::get_slot`](../../debugger/debug-interface-access/idiasymbol-get-slot.md)| +|`LocIsIlRel`|[`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md)| +|`LocInMetaData`|[`IDiaSymbol::get_token`](../../debugger/debug-interface-access/idiasymbol-get-token.md)| +|`LocIsConstant`|[`IDiaSymbol::get_value`](../../debugger/debug-interface-access/idiasymbol-get-value.md)| +|`LocIsRegRelAliasIndir`|[`IDiaSymbol::get_registerId`](../../debugger/debug-interface-access/idiasymbol-get-registerid.md)

[`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md)

[`IDiaSymbol::get_offsetInUdt`](../../debugger/debug-interface-access/idiasymbol-get-offsetinudt.md)| ## See also -- [IDiaSymbol::get_addressOffset](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md) -- [IDiaSymbol::get_addressSection](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md) -- [IDiaSymbol::get_bitPosition](../../debugger/debug-interface-access/idiasymbol-get-bitposition.md) -- [IDiaSymbol::get_length](../../debugger/debug-interface-access/idiasymbol-get-length.md) -- [IDiaSymbol::get_locationType](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md) -- [IDiaSymbol::get_offset](../../debugger/debug-interface-access/idiasymbol-get-offset.md) -- [IDiaSymbol::get_registerId](../../debugger/debug-interface-access/idiasymbol-get-registerid.md) -- [IDiaSymbol::get_relativeVirtualAddress](../../debugger/debug-interface-access/idiasymbol-get-relativevirtualaddress.md) -- [IDiaSymbol::get_slot](../../debugger/debug-interface-access/idiasymbol-get-slot.md) -- [IDiaSymbol::get_token](../../debugger/debug-interface-access/idiasymbol-get-token.md) -- [IDiaSymbol::get_value](../../debugger/debug-interface-access/idiasymbol-get-value.md) -- [IDiaSymbol::get_virtualAddress](../../debugger/debug-interface-access/idiasymbol-get-virtualaddress.md) -- [LocationType Enumeration](../../debugger/debug-interface-access/locationtype.md) + +- [`IDiaSymbol::get_addressOffset`](../../debugger/debug-interface-access/idiasymbol-get-addressoffset.md) +- [`IDiaSymbol::get_addressSection`](../../debugger/debug-interface-access/idiasymbol-get-addresssection.md) +- [`IDiaSymbol::get_bitPosition`](../../debugger/debug-interface-access/idiasymbol-get-bitposition.md) +- [`IDiaSymbol::get_length`](../../debugger/debug-interface-access/idiasymbol-get-length.md) +- [`IDiaSymbol::get_locationType`](../../debugger/debug-interface-access/idiasymbol-get-locationtype.md) +- [`IDiaSymbol::get_offset`](../../debugger/debug-interface-access/idiasymbol-get-offset.md) +- [`IDiaSymbol::get_offsetInUdt`](../../debugger/debug-interface-access/idiasymbol-get-offsetinudt.md) +- [`IDiaSymbol::get_registerId`](../../debugger/debug-interface-access/idiasymbol-get-registerid.md) +- [`IDiaSymbol::get_relativeVirtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-relativevirtualaddress.md) +- [`IDiaSymbol::get_slot`](../../debugger/debug-interface-access/idiasymbol-get-slot.md) +- [`IDiaSymbol::get_token`](../../debugger/debug-interface-access/idiasymbol-get-token.md) +- [`IDiaSymbol::get_value`](../../debugger/debug-interface-access/idiasymbol-get-value.md) +- [`IDiaSymbol::get_virtualAddress`](../../debugger/debug-interface-access/idiasymbol-get-virtualaddress.md) +- [`LocationType` Enumeration](../../debugger/debug-interface-access/locationtype.md) - [Symbols and Symbol Tags](../../debugger/debug-interface-access/symbols-and-symbol-tags.md) diff --git a/docs/debugger/debug-interface-access/thunk-ordinal.md b/docs/debugger/debug-interface-access/thunk-ordinal.md index 60c7cb1550e..151871d96e3 100644 --- a/docs/debugger/debug-interface-access/thunk-ordinal.md +++ b/docs/debugger/debug-interface-access/thunk-ordinal.md @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# THUNK_ORDINAL +# `THUNK_ORDINAL` Designates thunk types. @@ -29,6 +29,9 @@ typedef enum THUNK_ORDINAL { // trampoline thunk ordinals - only for use in Trampoline thunk symbols THUNK_ORDINAL_TRAMP_INCREMENTAL, THUNK_ORDINAL_TRAMP_BRANCHISLAND, + THUNK_ORDINAL_TRAMP_STRICTICF, + THUNK_ORDINAL_TRAMP_ARM64XSAMEADDRESS, + THUNK_ORDINAL_TRAMP_FUNCOVERRIDING, } THUNK_ORDINAL; ``` @@ -36,20 +39,27 @@ typedef enum THUNK_ORDINAL { | Element | Description | | -------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| THUNK_ORDINAL_NOTYPE | Standard thunk. | -| THUNK_ORDINAL_ADJUSTOR | A `this` adjustor thunk. | -| THUNK_ORDINAL_VCALL | Virtual call thunk. | -| THUNK_ORDINAL_PCODE | P-code thunk. | -| THUNK_ORDINAL_LOAD | Delay load thunk. | -| THUNK_ORDINAL_TRAMP_INCREMENTAL | Incremental trampoline thunk (a trampoline thunk is used to bounce calls from one memory space to another). | -| THUNK_ORDINAL_TRAMP_BRANCHISLAND | Branch point trampoline thunk. | +| `THUNK_ORDINAL_NOTYPE` | Standard thunk. | +| `THUNK_ORDINAL_ADJUSTOR` | A `this` adjustor thunk. | +| `THUNK_ORDINAL_VCALL` | Virtual call thunk. | +| `THUNK_ORDINAL_PCODE` | P-code thunk. | +| `THUNK_ORDINAL_LOAD` | Delay load thunk. | +| `THUNK_ORDINAL_TRAMP_INCREMENTAL` | Incremental trampoline thunk (a trampoline thunk is used to bounce calls from one memory space to another). | +| `THUNK_ORDINAL_TRAMP_BRANCHISLAND` | Branch point trampoline thunk. | +| `THUNK_ORDINAL_TRAMP_STRICTICF` | Strict icf trampoline thunk. | +| `THUNK_ORDINAL_TRAMP_ARM64XSAMEADDRESS` | ARM64X same address trampoline thunk. | +| `THUNK_ORDINAL_TRAMP_FUNCOVERRIDING` | Function overriding trampoline thunk. | + ## Remarks + The values in this enumeration are returned from a call to the [IDiaSymbol::get_thunkOrdinal](../../debugger/debug-interface-access/idiasymbol-get-thunkordinal.md) method. ## Requirements + Header: cvconst.h ## See also + - [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) -- [IDiaSymbol::get_thunkOrdinal](../../debugger/debug-interface-access/idiasymbol-get-thunkordinal.md) +- [`IDiaSymbol::get_thunkOrdinal`](../../debugger/debug-interface-access/idiasymbol-get-thunkordinal.md) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index 901cc71dee2..f233777df37 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -892,6 +892,12 @@ href: idiastackwalkhelper-searchforreturnaddressstart.md - name: IDiaStackWalkHelper::symbolForVA href: idiastackwalkhelper-symbolforva.md + - name: IDiaStackWalkHelper2 + items: + - name: IDiaStackWalkHelper2 + href: idiastackwalkhelper2.md + - name: IDiaStackWalkHelper2::GetPointerAuthenticationMask + href: idiastackwalkhelper2-getpointerauthenticationmask.md - name: IDiaSymbol items: - name: IDiaSymbol From ce4ac1b5966eac48a66d5114ee54900e6b4c7b44 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Thu, 18 Jul 2024 19:36:18 -0700 Subject: [PATCH 20/25] Update TOC --- docs/debugger/debug-interface-access/toc.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index f233777df37..4a3bf161bf0 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -1484,6 +1484,8 @@ href: cv-access-e.md - name: CV_AssociationKind_e href: cv-associationkind-e.md + - name: CV_builtin_e + href: cv-builtin-e.md - name: CV_call_e href: cv-call-e.md - name: CV_CFL_LANG @@ -1492,10 +1494,16 @@ href: cv-coroutinekind-e.md - name: CV_CPU_TYPE_e href: cv-cpu-type-e.md + - name: CV_HLSLMemorySpace_e + href: cv-hlslmemoryspace-e.md + - name: CV_HLSLREG_e + href: cv-hlslreg-e.md - name: CV_HREG_e href: cv-hreg-e.md - name: CV_modifier_e href: cv-modifier-e.md + - name: CV_SourceChksum_t + href: cv-sourcechksum-t.md - name: DataKind href: datakind.md - name: DiaAddressMapEntry From 12dd609998c31e21a2298f87bae5e78862633c6f Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Mon, 22 Jul 2024 10:20:36 -0700 Subject: [PATCH 21/25] Final review --- .../constants-debug-interface-access-sdk.md | 2 +- .../debug-interface-access-sdk-reference.md | 2 +- .../enumerations-and-structures.md | 2 +- .../idiadatasource-get-lasterror.md | 2 +- .../idiadatasource-loadandvalidatedatafrompdb.md | 2 +- .../idiadatasource-loaddataforexe.md | 2 +- .../idiadatasource-loaddatafromistream.md | 2 +- .../idiadatasource-loaddatafrompdb.md | 2 +- .../debug-interface-access/idiadatasource.md | 2 +- .../idiaenumsymbolsbyaddr-symbolbyaddr.md | 2 +- .../idiaenumsymbolsbyaddr-symbolbyrva.md | 2 +- .../idiaenumsymbolsbyaddr-symbolbyva.md | 2 +- .../idiasession-findiloffsetsbyaddr.md | 2 +- .../idiasession-findiloffsetsbyrva.md | 2 +- .../idiasession-findiloffsetsbyva.md | 2 +- .../idiasession-findlinesbyaddr.md | 12 ++++++------ .../idiasession-findlinesbyrva.md | 10 +++++----- .../idiasession-findlinesbyva.md | 10 +++++----- .../idiasymbol-get-issafebuffers.md | 2 +- .../idiasymbol-get-numberofmodifiers.md | 4 ++-- docs/debugger/debug-interface-access/symtagenum.md | 2 +- .../debugger/debug-interface-access/thunk-ordinal.md | 2 +- docs/debugger/debug-interface-access/udtkind.md | 2 +- 23 files changed, 37 insertions(+), 37 deletions(-) diff --git a/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md b/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md index 82287ceb1c7..911e0ba955f 100644 --- a/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md +++ b/docs/debugger/debug-interface-access/constants-debug-interface-access-sdk.md @@ -1,7 +1,7 @@ --- title: Constants (Debug Interface Access SDK) description: See a list of string constants that can be used to identify various sections of a program debug database (PDB) file through the Debug Interface Access (DIA) SDK. -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md b/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md index f83bcaad666..82126d5e4ad 100644 --- a/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md +++ b/docs/debugger/debug-interface-access/debug-interface-access-sdk-reference.md @@ -1,7 +1,7 @@ --- description: A complete reference to all of the interfaces and supporting enumerations and structures in the DIA SDK. title: Debug Interface Access SDK Reference -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/enumerations-and-structures.md b/docs/debugger/debug-interface-access/enumerations-and-structures.md index 997910c30bd..4fe3a9771fe 100644 --- a/docs/debugger/debug-interface-access/enumerations-and-structures.md +++ b/docs/debugger/debug-interface-access/enumerations-and-structures.md @@ -1,7 +1,7 @@ --- description: These are the enumerations and structures used by the DIA SDK. title: Enumerations and Structures -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md b/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md index 0721737d924..bdeb196ad4d 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md +++ b/docs/debugger/debug-interface-access/idiadatasource-get-lasterror.md @@ -1,7 +1,7 @@ --- description: Retrieves the file name for the last load error. title: "IDiaDataSource::get_lastError" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md b/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md index fdeb57ee676..caecf4a72f9 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loadandvalidatedatafrompdb.md @@ -1,7 +1,7 @@ --- description: Opens and verifies that the program database (.pdb) file matches the signature information provided, and prepares the .pdb file as a debug data source. title: "IDiaDataSource::loadAndValidateDataFromPdb" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md index a37246f0cbc..1c91b02cde4 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md @@ -1,7 +1,7 @@ --- description: Opens and prepares the debug data associated with the .exe/.dll file. title: "IDiaDataSource::loadDataForExe" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md index cc6bddafb65..92dbe52ce98 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromistream.md @@ -1,7 +1,7 @@ --- description: Prepares the debug data stored in a program database (.pdb) file accessed through an in-memory data stream. title: "IDiaDataSource::loadDataFromIStream" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md index 7bfa264bc07..a659b2f93b1 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrompdb.md @@ -1,7 +1,7 @@ --- description: Opens and prepares a program database (.pdb) file as a debug data source. title: "IDiaDataSource::loadDataFromPdb" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiadatasource.md b/docs/debugger/debug-interface-access/idiadatasource.md index 537cd6a2f4a..12c4c7f388d 100644 --- a/docs/debugger/debug-interface-access/idiadatasource.md +++ b/docs/debugger/debug-interface-access/idiadatasource.md @@ -1,7 +1,7 @@ --- description: Initiates access to a source of debugging symbols. title: IDiaDataSource -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md index 2b320581f90..c519a542dce 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md @@ -1,7 +1,7 @@ --- description: Positions the enumerator by performing a lookup by image section number and offset. title: "IDiaEnumSymbolsByAddr::symbolByAddr" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md index 6bdd1882526..99f6dfbe01b 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md @@ -1,7 +1,7 @@ --- description: Positions the enumerator by performing a lookup by relative virtual address (RVA). title: "IDiaEnumSymbolsByAddr::symbolByRVA" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md index c1f6f8e25ad..becab70ac97 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md @@ -1,7 +1,7 @@ --- description: Positions the enumerator by performing a lookup by virtual address (VA). title: "IDiaEnumSymbolsByAddr::symbolByVA" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md index ff51eeb0813..f67d0c8a846 100644 --- a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md @@ -1,7 +1,7 @@ --- description: "Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range." title: "IDiaSession::findILOffsetsByAddr" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md index b0d13a526e8..ba1b9b1b738 100644 --- a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md @@ -1,7 +1,7 @@ --- description: "Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified relative virtual address (RVA) range." title: "IDiaSession::findILOffsetsByRVA" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md index 4a50ad282bf..3c728b11805 100644 --- a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md @@ -1,7 +1,7 @@ --- description: "Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified virtual address (VA) range." title: "IDiaSession::findILOffsetsByVA" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiasession-findlinesbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findlinesbyaddr.md index 562aa32090f..af3c3dc8167 100644 --- a/docs/debugger/debug-interface-access/idiasession-findlinesbyaddr.md +++ b/docs/debugger/debug-interface-access/idiasession-findlinesbyaddr.md @@ -1,7 +1,7 @@ --- description: "Retrieves the lines in a specified compiland that contain a specified address." title: "IDiaSession::findLinesByAddr" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSession::findLinesByAddr +# `IDiaSession::findLinesByAddr` Retrieves the lines in a specified compiland that contain a specified address. @@ -42,7 +42,7 @@ HRESULT findLinesByAddr ( `ppResult` -[out] Returns an [IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the line numbers that cover the specified address range. +[out] Returns an [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the line numbers that cover the specified address range. ## Return Value If successful, returns `S_OK`; otherwise, returns an error code. @@ -70,6 +70,6 @@ IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc, ``` ## See also -- [IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) -- [IDiaSession::findLinesByVA](../../debugger/debug-interface-access/idiasession-findlinesbyva.md) +- [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaSession::findLinesByVA`](../../debugger/debug-interface-access/idiasession-findlinesbyva.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md b/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md index cee9ba2f3cc..b4ebfae8a2b 100644 --- a/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md +++ b/docs/debugger/debug-interface-access/idiasession-findlinesbyrva.md @@ -1,7 +1,7 @@ --- description: "Retrieves the lines in a specified compiland that contain a specified relative virtual address (RVA)." title: "IDiaSession::findLinesByRVA" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSession::findLinesByRVA +# `IDiaSession::findLinesByRVA` Retrieves the lines in a specified compiland that contain a specified relative virtual address (RVA). @@ -38,7 +38,7 @@ HRESULT findLinesByRVA (  `ppResult` -[out] Returns an [IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the line numbers that cover the specified address range. +[out] Returns an [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the line numbers that cover the specified address range. ## Return Value If successful, returns `S_OK`; otherwise, returns an error code. @@ -63,5 +63,5 @@ IDiaEnumLineNumbers* GetLineNumbersByRVA(IDiaSymbol *pFunc, IDiaSession *pSessio ``` ## See also -- [IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md b/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md index 31fd3526cbf..e3f9ce58095 100644 --- a/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md +++ b/docs/debugger/debug-interface-access/idiasession-findlinesbyva.md @@ -1,7 +1,7 @@ --- description: "Retrieves the line number information for lines contained in a specified virtual address (VA) range." title: "IDiaSession::findLinesByVA" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" @@ -12,7 +12,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSession::findLinesByVA +# `IDiaSession::findLinesByVA` Retrieves the line number information for lines contained in a specified virtual address (VA) range. @@ -38,7 +38,7 @@ HRESULT findLinesByVA ( `ppResult` -[out] Returns an [IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the line numbers that cover the specified address range. +[out] Returns an [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) object that contains a list of all the line numbers that cover the specified address range. ## Example This example shows a function that obtains all line numbers contained in a function using the function's virtual address and length. @@ -60,5 +60,5 @@ IDiaEnumLineNumbers *GetLineNumbersByVA(IDiaSymbol *pFunc, IDiaSession *pSession ``` ## See also -- [IDiaEnumLineNumbers](../../debugger/debug-interface-access/idiaenumlinenumbers.md) -- [IDiaSession](../../debugger/debug-interface-access/idiasession.md) +- [`IDiaEnumLineNumbers`](../../debugger/debug-interface-access/idiaenumlinenumbers.md) +- [`IDiaSession`](../../debugger/debug-interface-access/idiasession.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md b/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md index 700f5e31f69..e6e58032f42 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-issafebuffers.md @@ -1,7 +1,7 @@ --- description: "Retrieves a flag that specifies whether the preprocesser directive for a safe buffer is used." title: "IDiaSymbol::get_isSafeBuffers" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md b/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md index 0f4491b12e3..248d03ddba8 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-numberofmodifiers.md @@ -1,7 +1,7 @@ --- description: "Retrieves the number of modifiers that are applied to the original type." title: "IDiaSymbol::get_numberOfModifiers" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" @@ -10,7 +10,7 @@ ms.author: "mikejo" manager: mijacobs ms.subservice: debug-diagnostics --- -# IDiaSymbol::get_numberOfModifiers +# `IDiaSymbol::get_numberOfModifiers` Retrieves the number of modifiers that are applied to the original type. diff --git a/docs/debugger/debug-interface-access/symtagenum.md b/docs/debugger/debug-interface-access/symtagenum.md index 1e1f1717a55..455864412eb 100644 --- a/docs/debugger/debug-interface-access/symtagenum.md +++ b/docs/debugger/debug-interface-access/symtagenum.md @@ -1,7 +1,7 @@ --- description: "Specifies the type of symbol." title: "SymTagEnum" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/thunk-ordinal.md b/docs/debugger/debug-interface-access/thunk-ordinal.md index 151871d96e3..0826ec4e57e 100644 --- a/docs/debugger/debug-interface-access/thunk-ordinal.md +++ b/docs/debugger/debug-interface-access/thunk-ordinal.md @@ -1,7 +1,7 @@ --- description: "Designates thunk types." title: "THUNK_ORDINAL" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" diff --git a/docs/debugger/debug-interface-access/udtkind.md b/docs/debugger/debug-interface-access/udtkind.md index d8f211921b9..0e79c8e14bf 100644 --- a/docs/debugger/debug-interface-access/udtkind.md +++ b/docs/debugger/debug-interface-access/udtkind.md @@ -1,7 +1,7 @@ --- description: "Describes the variety of user-defined type (UDT)." title: "UdtKind" -ms.date: "11/04/2016" +ms.date: "07/22/2024" ms.topic: "reference" dev_langs: - "C++" From 2a5152c70e8ce0bde47d9e7e3e5a1bf5f4f745c0 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Tue, 23 Jul 2024 07:47:55 -0700 Subject: [PATCH 22/25] fix bad links --- docs/debugger/debug-interface-access/cv-hlslreg-e.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/debugger/debug-interface-access/cv-hlslreg-e.md b/docs/debugger/debug-interface-access/cv-hlslreg-e.md index 5f8e0ff9e2e..3755a395a61 100644 --- a/docs/debugger/debug-interface-access/cv-hlslreg-e.md +++ b/docs/debugger/debug-interface-access/cv-hlslreg-e.md @@ -68,7 +68,7 @@ typedef enum CV_HLSLREG_e ## Remarks -Use the [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-registerType.md) method to retrieve the register type for an HLSL symbol. +Use the [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-registertype.md) method to retrieve the register type for an HLSL symbol. ## Requirements @@ -77,4 +77,4 @@ Header: cvconst.h ## See also - [Enumerations and Structures](../../debugger/debug-interface-access/enumerations-and-structures.md) -- [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md) +- [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-registertype.md) From 7c56d7dfc7c14e1564417fdf862651f1d858e4bb Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Fri, 26 Jul 2024 15:49:23 -0700 Subject: [PATCH 23/25] Add isOptimizedForSpeed --- .../idiasymbol-get-isoptimizedforspeed.md | 36 +++++++++++++++++++ docs/debugger/debug-interface-access/toc.yml | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 docs/debugger/debug-interface-access/idiasymbol-get-isoptimizedforspeed.md diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isoptimizedforspeed.md b/docs/debugger/debug-interface-access/idiasymbol-get-isoptimizedforspeed.md new file mode 100644 index 00000000000..734cb76d615 --- /dev/null +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isoptimizedforspeed.md @@ -0,0 +1,36 @@ +--- +description: "Retrieves a flag indicating whether the function is optimized for speed." +title: "IDiaSymbol::get_isOptimizedForSpeed" +ms.date: "07/26/2024" +ms.topic: "reference" +dev_langs: + - "C++" +author: "mikejo5000" +ms.author: "mikejo" +manager: mijacobs +ms.subservice: debug-diagnostics +--- +# IDiaSymbol::get_isOptimizedForSpeed + +Retrieves a flag indicating whether the function is optimized for speed. + +## Syntax + +```C++ +HRESULT get_isOptimizedForSpeed( + BOOL* pRetVal); +``` + +#### Parameters + `pRetVal` + +[out] A pointer to a `BOOL` that specifies whether the function is optimized for speed. `TRUE` would indicate that the function was compiled with `/Ot` telling the compiler to favor fast code (speed). + +## Return Value + + If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +## See also + +- [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) +- [`/Os`, `/Ot` (Favor Small Code, Favor Fast Code)](/cpp/build/reference/os-ot-favor-small-code-favor-fast-code) diff --git a/docs/debugger/debug-interface-access/toc.yml b/docs/debugger/debug-interface-access/toc.yml index 4a3bf161bf0..a1916f0e614 100644 --- a/docs/debugger/debug-interface-access/toc.yml +++ b/docs/debugger/debug-interface-access/toc.yml @@ -1126,6 +1126,8 @@ href: idiasymbol-get-isnaked.md - name: IDiaSymbol::get_isOptimizedAway href: idiasymbol-get-isoptimizedaway.md + - name: IDiaSymbol::get_isOptimizedForSpeed + href: idiasymbol-get-isoptimizedforspeed.md - name: IDiaSymbol::get_isPGO href: idiasymbol-get-ispgo.md - name: IDiaSymbol::get_isPointerBasedOnSymbolValue From aa8e00603fda479d81a50285452d03736123a430 Mon Sep 17 00:00:00 2001 From: Mike Jones Date: Tue, 6 Aug 2024 08:58:45 -0700 Subject: [PATCH 24/25] Fixes to warnings and suggestions in DiaSDKUpdates (#3) * Checkpoint up to IDiaSession::addressForVA * Fix metadata date & authors of new topics. * Clarify search paths * Escaping hell and other cleanup * Various Project N APIs * Function fragments * Finished IDiaSession!!!! * Finished IDiaSessionEx * Finished IDiaSymbol * IDiaSymbol2 (Objective-C) * IDIaSymbol3 (inlinees) * IDiaSymbol2-7 and TOC * IDiaSymbol8 * IDiaSymbol9 and 10 * IDiaSymbol11 * Minor editoral changes - Fix DiaTagValue description - Use standard fixed with integer type names - Remove struct prefix from some method signatures to align with existing docs - Handful of corrections * IDiaInputAssemblyFile * IDiaEnumSourceLink * EVerything reviewed * Update TOC * Final review * fix bad links * Date fix * fixed invalid author * Fixed H1 is required warnings * Fixed Title duplicates * fixed H1 formats * Fixed top-level Windows links * link fixes * Added Remarks about HSLS * Edited description metadata * edits * Edited description metadata * Update toc.yml Put back added file * Update idiaenumsymbolsbyaddr2.md Fix typo --------- Co-authored-by: Grant Richins <22107637+grantri@users.noreply.github.com> Co-authored-by: Wesley Wiser --- docs/debugger/debug-interface-access/cv-builtin-e.md | 3 +++ docs/debugger/debug-interface-access/cv-cfl-lang.md | 3 +++ .../debug-interface-access/cv-hlslmemoryspace-e.md | 5 ++++- docs/debugger/debug-interface-access/cv-hlslreg-e.md | 5 ++++- docs/debugger/debug-interface-access/cv-modifier-e.md | 5 +++++ .../idiadatasource-loaddataforexe.md | 2 +- .../idiadatasource-loaddatafromcodeviewinfo.md | 2 +- .../idiadatasource-loaddatafrommiscinfo.md | 2 +- docs/debugger/debug-interface-access/idiadatasource.md | 2 +- .../idiadatasourceex-loaddataforexeex.md | 2 +- .../debug-interface-access/idiadatasourceex-validatepdb.md | 2 +- docs/debugger/debug-interface-access/idiadatasourceex.md | 2 +- .../idiaenuminputassemblyfiles-get-count.md | 2 +- .../idiaenuminputassemblyfiles-item.md | 2 +- .../debug-interface-access/idiaenumsourcelink-clone.md | 4 ++-- .../debug-interface-access/idiaenumsourcelink-count.md | 4 ++-- .../debug-interface-access/idiaenumsourcelink-next.md | 4 ++-- .../debug-interface-access/idiaenumsourcelink-reset.md | 4 ++-- .../idiaenumsourcelink-sizeofnext.md | 2 +- .../debug-interface-access/idiaenumsourcelink-skip.md | 2 +- .../debug-interface-access/idiaenumsourcelink2-next2.md | 4 ++-- .../idiaenumsourcelink2-sizeofnext2.md | 4 ++-- .../debugger/debug-interface-access/idiaenumsourcelink2.md | 4 ++-- docs/debugger/debug-interface-access/idiaenumsymbols.md | 2 +- .../debug-interface-access/idiaenumsymbolsbyaddr.md | 2 +- .../idiaenumsymbolsbyaddr2-nextex.md | 2 +- .../idiaenumsymbolsbyaddr2-prevex.md | 2 +- .../idiaenumsymbolsbyaddr2-symbolbyaddrex.md | 6 +++--- .../idiaenumsymbolsbyaddr2-symbolbyrvaex.md | 6 +++--- .../idiaenumsymbolsbyaddr2-symbolbyvaex.md | 6 +++--- .../debug-interface-access/idiaenumsymbolsbyaddr2.md | 4 ++-- .../idiainputassemblyfile-get-filename.md | 2 +- .../idiainputassemblyfile-get-index.md | 2 +- .../idiainputassemblyfile-get-pdbavailableatilmerge.md | 2 +- .../idiainputassemblyfile-get-timestamp.md | 2 +- .../idiainputassemblyfile-get-uniqueid.md | 2 +- .../idiainputassemblyfile-get-version.md | 2 +- .../debug-interface-access/idiasession-addressForVA.md | 2 +- .../debug-interface-access/idiasession-addressforrva.md | 2 +- .../idiasession-findiloffsetsbyaddr.md | 2 +- .../idiasession-findiloffsetsbyrva.md | 2 +- .../idiasession-findiloffsetsbyva.md | 2 +- .../idiasession-findinputassembly.md | 2 +- .../idiasession-findinputassemblybyid.md | 2 +- .../idiasession-findinputassemblyfile.md | 4 ++-- .../idiasession-findinputassemblyfiles.md | 2 +- .../debug-interface-access/idiasession-getexports.md | 2 +- .../idiasession-getfuncmdtokenmap.md | 2 +- .../idiasession-getfuncmdtokenmapsize.md | 2 +- .../idiasession-getfunctionfragments_rva.md | 2 +- .../idiasession-getfunctionfragments_va.md | 2 +- .../idiasession-getheapallocationsites.md | 2 +- .../idiasession-getnumberoffunctionfragments_rva.md | 2 +- .../idiasession-getnumberoffunctionfragments_va.md | 2 +- .../idiasession-gettypemdtokenmap.md | 2 +- .../idiasession-gettypemdtokenmapsize.md | 2 +- .../idiasessionex-getsourcelinkinfo.md | 2 +- .../debug-interface-access/idiasessionex-isfastlinkpdb.md | 2 +- .../debug-interface-access/idiasessionex-isportablepdb.md | 2 +- docs/debugger/debug-interface-access/idiasessionex.md | 4 ++-- .../idiastackwalkhelper2-getpointerauthenticationmask.md | 2 +- .../debug-interface-access/idiastackwalkhelper2.md | 4 ++-- .../idiasymbol-findinputassemblyfile.md | 2 +- .../debug-interface-access/idiasymbol-get-backendqfe.md | 2 +- .../debug-interface-access/idiasymbol-get-bindid.md | 2 +- .../debug-interface-access/idiasymbol-get-bindslot.md | 2 +- .../debug-interface-access/idiasymbol-get-bindspace.md | 2 +- .../debug-interface-access/idiasymbol-get-builtinkind.md | 7 ++++++- .../idiasymbol-get-characteristics.md | 2 +- .../debug-interface-access/idiasymbol-get-coffgroup.md | 2 +- .../idiasymbol-get-constantexport.md | 2 +- .../debug-interface-access/idiasymbol-get-dataexport.md | 2 +- .../idiasymbol-get-exceptionhandleraddressoffset.md | 2 +- .../idiasymbol-get-exceptionhandleraddresssection.md | 2 +- ...diasymbol-get-exceptionhandlerrelativevirtualaddress.md | 2 +- .../idiasymbol-get-exceptionhandlervirtualaddress.md | 2 +- .../idiasymbol-get-exporthasexplicitlyassignedordinal.md | 2 +- .../idiasymbol-get-exportisforwarder.md | 2 +- .../idiasymbol-get-finallivestaticsize.md | 2 +- .../debug-interface-access/idiasymbol-get-framesize.md | 2 +- .../debug-interface-access/idiasymbol-get-frontendqfe.md | 2 +- .../idiasymbol-get-hascontrolflowcheck.md | 2 +- .../idiasymbol-get-hasvalidpgocounts.md | 2 +- .../idiasymbol-get-isconstructorvirtualbase.md | 2 +- .../idiasymbol-get-iscxxreturnudt.md | 2 +- .../debug-interface-access/idiasymbol-get-ishlsldata.md | 5 +++++ .../idiasymbol-get-isinterfaceudt.md | 2 +- .../idiasymbol-get-islocationcontrolflowdependent.md | 2 +- .../debug-interface-access/idiasymbol-get-ispgo.md | 2 +- .../debug-interface-access/idiasymbol-get-isrefudt.md | 2 +- .../debug-interface-access/idiasymbol-get-isvalueudt.md | 2 +- .../idiasymbol-get-iswinrtpointer.md | 2 +- .../idiasymbol-get-memoryspacekind.md | 5 +++++ .../idiasymbol-get-modifiervalues.md | 2 +- .../debug-interface-access/idiasymbol-get-nonameexport.md | 2 +- .../idiasymbol-get-numericproperties.md | 2 +- .../debug-interface-access/idiasymbol-get-ordinal.md | 2 +- .../idiasymbol-get-pgodynamicinstructioncount.md | 6 +++--- .../debug-interface-access/idiasymbol-get-pgoedgecount.md | 2 +- .../debug-interface-access/idiasymbol-get-pgoentrycount.md | 2 +- .../debug-interface-access/idiasymbol-get-phasename.md | 2 +- .../debug-interface-access/idiasymbol-get-privatexport.md | 2 +- .../debug-interface-access/idiasymbol-get-registertype.md | 5 +++++ .../debug-interface-access/idiasymbol-get-staticsize.md | 2 +- .../debug-interface-access/idiasymbol-get-strictgscheck.md | 2 +- .../debug-interface-access/idiasymbol-get-unused.md | 2 +- .../debug-interface-access/idiasymbol-get-wasinlined.md | 2 +- .../debug-interface-access/idiasymbol10-get-sourcelink.md | 2 +- docs/debugger/debug-interface-access/idiasymbol10.md | 4 ++-- .../idiasymbol11-get-discriminateduniontag.md | 2 +- .../debug-interface-access/idiasymbol11-get-tagranges.md | 2 +- docs/debugger/debug-interface-access/idiasymbol11.md | 4 ++-- .../idiasymbol2-get-isobjccategory.md | 2 +- .../debug-interface-access/idiasymbol2-get-isobjcclass.md | 2 +- .../idiasymbol2-get-isobjcprotocol.md | 2 +- docs/debugger/debug-interface-access/idiasymbol2.md | 2 +- .../debug-interface-access/idiasymbol3-get-inlinee.md | 2 +- .../debug-interface-access/idiasymbol3-get-inlineeid.md | 2 +- docs/debugger/debug-interface-access/idiasymbol3.md | 4 ++-- .../debug-interface-access/idiasymbol4-get-noexcept.md | 2 +- docs/debugger/debug-interface-access/idiasymbol4.md | 4 ++-- .../idiasymbol5-get-hasabsoluteaddress.md | 2 +- docs/debugger/debug-interface-access/idiasymbol5.md | 4 ++-- .../idiasymbol6-get-isstaticmemberfunc.md | 2 +- docs/debugger/debug-interface-access/idiasymbol6.md | 4 ++-- .../debug-interface-access/idiasymbol7-get-issignret.md | 2 +- docs/debugger/debug-interface-access/idiasymbol7.md | 4 ++-- .../idiasymbol8-get-associatedsymboladdr.md | 2 +- .../idiasymbol8-get-associatedsymbolkind.md | 2 +- .../idiasymbol8-get-associatedsymboloffset.md | 4 ++-- .../idiasymbol8-get-associatedsymbolrva.md | 2 +- .../idiasymbol8-get-associatedsymbolsection.md | 2 +- .../idiasymbol8-get-coroutinekind.md | 2 +- docs/debugger/debug-interface-access/idiasymbol8.md | 2 +- .../idiasymbol9-get-framepadoffset.md | 2 +- .../debug-interface-access/idiasymbol9-get-framepadsize.md | 2 +- .../debug-interface-access/idiasymbol9-get-isrtcs.md | 2 +- docs/debugger/debug-interface-access/idiasymbol9.md | 4 ++-- .../debug-interface-access/pfnminipdberrorcallback2.md | 4 ++-- 139 files changed, 199 insertions(+), 162 deletions(-) diff --git a/docs/debugger/debug-interface-access/cv-builtin-e.md b/docs/debugger/debug-interface-access/cv-builtin-e.md index 9968b316f92..aedd4437ce8 100644 --- a/docs/debugger/debug-interface-access/cv-builtin-e.md +++ b/docs/debugger/debug-interface-access/cv-builtin-e.md @@ -74,6 +74,9 @@ typedef enum CV_builtin_e Use the [`IDiaSymbol::get_builtInKind`](../../debugger/debug-interface-access/idiasymbol-get-builtinkind.md) method to retrieve the built in type kind for a HLSL symbol. +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. + ## Requirements Header: cvconst.h diff --git a/docs/debugger/debug-interface-access/cv-cfl-lang.md b/docs/debugger/debug-interface-access/cv-cfl-lang.md index 0ea3fdde47e..20392d2505f 100644 --- a/docs/debugger/debug-interface-access/cv-cfl-lang.md +++ b/docs/debugger/debug-interface-access/cv-cfl-lang.md @@ -79,6 +79,9 @@ typedef enum CV_CFL_LANG { The values in this enumeration are returned by a call to the [IDiaSymbol::get_language](../../debugger/debug-interface-access/idiasymbol-get-language.md) method. +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. + ## Requirements Header: cvconst.h diff --git a/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md b/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md index 57f49f49a15..183610f3c96 100644 --- a/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md +++ b/docs/debugger/debug-interface-access/cv-hlslmemoryspace-e.md @@ -1,6 +1,6 @@ --- title: CV_HLSLMemorySpace_e Enumeration -description: Specifies the HLSL built in type kind. +description: Specifies the HLSL memory space kind. ms.date: "07/15/2024" ms.topic: "reference" dev_langs: @@ -37,6 +37,9 @@ typedef enum CV_HLSLMemorySpace_e Use the [`IDiaSymbol::get_memorySpaceKind`](../../debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md) method to retrieve the memory space kind for an HLSL symbol. +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. + ## Requirements Header: cvconst.h diff --git a/docs/debugger/debug-interface-access/cv-hlslreg-e.md b/docs/debugger/debug-interface-access/cv-hlslreg-e.md index 3755a395a61..3e0fdc0a8f0 100644 --- a/docs/debugger/debug-interface-access/cv-hlslreg-e.md +++ b/docs/debugger/debug-interface-access/cv-hlslreg-e.md @@ -1,6 +1,6 @@ --- title: CV_HLSLREG_e Enumeration -description: Specifies the HLSL built in type kind. +description: Specifies the HLSL register type kind. ms.date: "07/15/2024" ms.topic: "reference" dev_langs: @@ -70,6 +70,9 @@ typedef enum CV_HLSLREG_e Use the [`IDiaSymbol::get_registerType`](../../debugger/debug-interface-access/idiasymbol-get-registertype.md) method to retrieve the register type for an HLSL symbol. +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. + ## Requirements Header: cvconst.h diff --git a/docs/debugger/debug-interface-access/cv-modifier-e.md b/docs/debugger/debug-interface-access/cv-modifier-e.md index 9c0158be478..f071cf2795b 100644 --- a/docs/debugger/debug-interface-access/cv-modifier-e.md +++ b/docs/debugger/debug-interface-access/cv-modifier-e.md @@ -74,6 +74,11 @@ typedef enum CV_modifier_e | `CV_MOD_HLSL_PRECISE` | HLSL precise | | `CV_MOD_HLSL_UAV_GLOBALLY_COHERENT` | HLSL UAV globally coherent | +## Remarks + +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. The HLSL elements only have valid values on PDBs produced by the older *fxc.exe* compiler. + ## Requirements Header: cvconst.h diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md index 1c91b02cde4..5e8feb440ce 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddataforexe.md @@ -1,5 +1,5 @@ --- -description: Opens and prepares the debug data associated with the .exe/.dll file. +description: Opens and prepares the debug data associated with the .exe/.dll file. title: "IDiaDataSource::loadDataForExe" ms.date: "07/22/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md index 2c3241cf297..b33dfb65778 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafromcodeviewinfo.md @@ -1,5 +1,5 @@ --- -description: Opens and prepares the debug data associated with the .exe/.dll file. +description: Opens and prepares the debug data associated with the .exe/.dll file and code view information. title: "IDiaDataSource::loadDataFromCodeViewInfo" ms.date: "7/2/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md index c66795479a9..facafa83273 100644 --- a/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md +++ b/docs/debugger/debug-interface-access/idiadatasource-loaddatafrommiscinfo.md @@ -1,5 +1,5 @@ --- -description: Opens and prepares the debug data associated with the .exe/.dll file. +description: Opens and prepares the debug data associated with the .exe/.dll file and miscellaneous information. title: "IDiaDataSource::loadDataFromMiscInfo" ms.date: "7/2/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiadatasource.md b/docs/debugger/debug-interface-access/idiadatasource.md index 12c4c7f388d..0352e92fc9f 100644 --- a/docs/debugger/debug-interface-access/idiadatasource.md +++ b/docs/debugger/debug-interface-access/idiadatasource.md @@ -1,5 +1,5 @@ --- -description: Initiates access to a source of debugging symbols. +description: Initiates access to a source of debugging symbols. title: IDiaDataSource ms.date: "07/22/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md index d4b0d727ae8..6a54f49c58e 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-loaddataforexeex.md @@ -1,5 +1,5 @@ --- -description: Opens and prepares the debug data associated with the .exe/.dll file, with optional record prefetching. +description: Opens and prepares the debug data associated with the .exe/.dll file, with optional record prefetching. title: "IDiaDataSourceEx::loadDataForExeEx" ms.date: "7/2/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md index 14695e2dd18..d93f78c819b 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex-validatepdb.md @@ -49,7 +49,7 @@ HRESULT ValidatePdb ( pfStripped -[out] If the PDB matches the other information, this parameter is set to indicate whether the PDB has been stripped of private symbols. This is the same value as would be returned by [IDiaSymbol::get_isStripped](../../debugger/debug-interface-access/idiasymbol-get-isstripped). If the PDB does not match the other values, or this method fails, this parameter is unspecified. +[out] If the PDB matches the other information, this parameter is set to indicate whether the PDB has been stripped of private symbols. This is the same value as would be returned by [IDiaSymbol::get_isStripped](../../debugger/debug-interface-access/idiasymbol-get-isstripped.md). If the PDB does not match the other values, or this method fails, this parameter is unspecified. ## Return Value diff --git a/docs/debugger/debug-interface-access/idiadatasourceex.md b/docs/debugger/debug-interface-access/idiadatasourceex.md index 88e8b26ae39..00ec6d424af 100644 --- a/docs/debugger/debug-interface-access/idiadatasourceex.md +++ b/docs/debugger/debug-interface-access/idiadatasourceex.md @@ -1,5 +1,5 @@ --- -description: Initiates access to a source of debugging symbols. +description: Initiates access to a source of debugging symbols. Extends IDiaDataSource. title: IDiaDataSourceEx ms.date: "7/2/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md index a2aedf991a1..7ba42cb4f5c 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-get-count.md @@ -8,7 +8,7 @@ dev_langs: helpviewer_keywords: - "IDiaEnumInputAssemblyFiles::get_Count method" author: "grantri" -ms.author: "granti" +ms.author: "grantri" manager: mijacobs ms.subservice: debug-diagnostics --- diff --git a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md index bc8b95accba..8b3ee0e61fe 100644 --- a/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md +++ b/docs/debugger/debug-interface-access/idiaenuminputassemblyfiles-item.md @@ -42,5 +42,5 @@ If successful, returns `S_OK`; otherwise, returns an error code. ## See also -- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenumininputassemblyfiles.md) +- [`IDiaEnumInputAssemblyFiles`](../../debugger/debug-interface-access/idiaenuminputassemblyfiles.md) - [`IDiaInputAssemblyFile`](../../debugger/debug-interface-access/idiainputassemblyfile.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md index 3da2fea8bc9..4ff99e99a71 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-clone.md @@ -1,5 +1,5 @@ --- -description: Creates an enumerator that contains the same enumeration state as the current source files enumerator. +description: Creates an enumerator that contains the same enumeration state as the current source enumerator. title: "IDiaEnumSourceLink::Clone" ms.date: "07/18/2024" ms.topic: "reference" @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink::Clone` +# IDiaEnumSourceLink::Clone Creates an enumerator that contains the same enumeration state as the current enumerator. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md index 175117e47ec..c59c5f952ea 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-count.md @@ -1,5 +1,5 @@ --- -description: Retrieves the number of source files. +description: Retrieves the number of source link blobs. title: "IDiaEnumSourceLink::Count" ms.date: "07/18/2024" ms.topic: "reference" @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink::Count` +# IDiaEnumSourceLink::Count Retrieves the number of source link blobs. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md index 73e71be67e3..32d7fc3c6bd 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-next.md @@ -1,5 +1,5 @@ --- -description: Retrieves the next source link blob and advances the enumeration. +description: Retrieves the next source link blob and advances the enumeration. title: "IDiaEnumSourceLink::Next" ms.date: "07/18/2024" ms.topic: "reference" @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink::Next` +# IDiaEnumSourceLink::Next Retrieves the next source link blob and advances the enumeration. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md index 459eae3343d..9dde10c2019 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-reset.md @@ -1,5 +1,5 @@ --- -description: Resets an enumeration sequence of source files to the beginning. +description: Resets an enumeration sequence to the beginning. title: "IDiaEnumSourceLink::Reset" ms.date: "07/18/2024" ms.topic: "reference" @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink::Reset` +# IDiaEnumSourceLink::Reset Resets an enumeration sequence to the beginning. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md index a778cfc4636..6f4542c9979 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-sizeofnext.md @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink::SizeOfNext` +# IDiaEnumSourceLink::SizeOfNext Retrieves the size of the next source link blob, without advancing the enumeration. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md b/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md index b88ce18fd8e..24d3b0b501d 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink-skip.md @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink::Skip` +# IDiaEnumSourceLink::Skip Skips a specified number of source link blobs in an enumeration sequence. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md b/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md index 85edaec7257..0c196eeaff9 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink2-next2.md @@ -1,5 +1,5 @@ --- -description: Retrieves the next source link blob and advances the enumeration. +description: Retrieves the next source link blob and advances the enumeration. Method of IDiaEnumSourceLink2. title: "IDiaEnumSourceLink2::Next2" ms.date: "07/18/2024" ms.topic: "reference" @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink2::Next2` +# IDiaEnumSourceLink2::Next2 Retrieves the next source link blob and advances the enumeration. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md b/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md index eac21c0ddd1..6f7b8b3da33 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink2-sizeofnext2.md @@ -1,5 +1,5 @@ --- -description: Retrieves the size of the next source link blob, without advancing the enumeration. +description: Retrieves the size of the next source link blob, without advancing the enumeration. Method of IDiaEnumSourceLink2. title: "IDiaEnumSourceLink2::SizeOfNext2" ms.date: "07/18/2024" ms.topic: "reference" @@ -13,7 +13,7 @@ manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaEnumSourceLink2::SizeOfNext2` +# IDiaEnumSourceLink2::SizeOfNext2 Retrieves the size of the next source link blob, without advancing the enumeration. diff --git a/docs/debugger/debug-interface-access/idiaenumsourcelink2.md b/docs/debugger/debug-interface-access/idiaenumsourcelink2.md index 9f9a54bd90e..61926cf1102 100644 --- a/docs/debugger/debug-interface-access/idiaenumsourcelink2.md +++ b/docs/debugger/debug-interface-access/idiaenumsourcelink2.md @@ -1,5 +1,5 @@ --- -description: Enumerates the various source link blobs contained in the data source. +description: Enumerates the various source link blobs contained in the data source. Extends IDiaEnumSourceLink. title: IDiaEnumSourceLink2 ms.date: "07/18/2024" ms.topic: "reference" @@ -36,7 +36,7 @@ The following table shows the methods of `IDiaEnumSourceLink2`. ## Notes for Callers -Obtain this interface by calling the [`IDiaSessionEx::getSourceLinkInfo`](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md) method then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSourceLink2`. +Obtain this interface by calling the [`IDiaSessionEx::getSourceLinkInfo`](../../debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md) method then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSourceLink2`. ## See also diff --git a/docs/debugger/debug-interface-access/idiaenumsymbols.md b/docs/debugger/debug-interface-access/idiaenumsymbols.md index fe7755dc5a1..00bcdb3bd71 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbols.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbols.md @@ -1,5 +1,5 @@ --- -description: Enumerates the various symbols contained in the data source. +description: Enumerates the various symbols contained in the data source. title: IDiaEnumSymbols ms.date: "11/04/2016" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr.md index 7c24487d71a..ceee47f7c9f 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr.md @@ -1,5 +1,5 @@ --- -description: Enumerates by address the various symbols contained in the data source. +description: Enumerates by address the various symbols contained in the data source. title: IDiaEnumSymbolsByAddr ms.date: "11/04/2016" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md index 214fe02e965..44ae774a5e7 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-nextex.md @@ -1,5 +1,5 @@ --- -description: "Retrieves the next symbols in order by address." +description: "Retrieves the next symbols in order by address. Method of IDiaEnumSymbolsByAddr2." title: "IDiaEnumSymbolsByAddr2::NextEx" ms.date: "7/2/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md index 1b880843a77..97ea1221020 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-prevex.md @@ -1,5 +1,5 @@ --- -description: "Retrieves the previous symbols in order by address." +description: "Retrieves the previous symbols in order by address. Method of IDiaEnumSymbolsByAddr2." title: "IDiaEnumSymbolsByAddr2::PrevEx" ms.date: "7/2/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md index 5210a22088f..92d06bc138d 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyaddrex.md @@ -1,5 +1,5 @@ --- -description: "Positions the enumerator by performing a lookup by image section number and offset." +description: "Positions the enumerator by performing a lookup by image section number and offset. Method of IDiaEnumSymbolsByAddr2." title: "IDiaEnumSymbolsByAddr2::symbolByAddrEx" ms.date: "7/2/2024" ms.topic: "reference" @@ -31,7 +31,7 @@ HRESULT symbolByAddrEx ( `fPromoteBlockSym` -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md) `isect` @@ -51,6 +51,6 @@ HRESULT symbolByAddrEx ( ## See also -- [`IDiaEnumSymbolsByAddr::symbolByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyaddr.md) +- [`IDiaEnumSymbolsByAddr::symbolByAddr`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyaddr.md) - [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) - [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md index 99a0de97404..4c9b0fa80fa 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyrvaex.md @@ -1,5 +1,5 @@ --- -description: "Positions the enumerator by performing a lookup by relative virtual address (RVA)." +description: "Positions the enumerator by performing a lookup by relative virtual address (RVA). Method of IDiaEnumSymbolsByAddr2." title: "IDiaEnumSymbolsByAddr2::symbolByRVAEx" ms.date: "7/2/2024" ms.topic: "reference" @@ -30,7 +30,7 @@ HRESULT symbolByRVAEx ( `fPromoteBlockSym` -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByRVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByRVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md) `relativeVirtualAddress` @@ -46,7 +46,7 @@ HRESULT symbolByRVAEx ( ## See also -- [`IDiaEnumSymbolsByAddr::symbolByRVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyrva.md) +- [`IDiaEnumSymbolsByAddr::symbolByRVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyrva.md) - [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) - [`IDiaEnumSymbolsByAddr2::symbolByVAEx`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md) - [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md index 527249133e3..c274f41b8aa 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2-symbolbyvaex.md @@ -1,5 +1,5 @@ --- -description: "Positions the enumerator by performing a lookup by virtual address (VA)." +description: "Positions the enumerator by performing a lookup by virtual address (VA). Method of IDiaEnumSymbolsByAddr2." title: "IDiaEnumSymbolsByAddr2::symbolByVAEx" ms.date: "7/2/2024" ms.topic: "reference" @@ -30,7 +30,7 @@ HRESULT symbolByVA ( `fPromoteBlockSym` -[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) +[in] Whether or not to enumerate SymTagBlock symbols or promote them to an outer/parent symbol (like SymTagFuncton or SymTagPublicSymbol). If `FALSE` returns unpromoted SymTagBlock. Otherwise behaves identically to [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md) `virtualAddress` @@ -46,6 +46,6 @@ HRESULT symbolByVA ( ## See also -- [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolsbyva.md) +- [`IDiaEnumSymbolsByAddr::symbolByVA`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr-symbolbyva.md) - [`IDiaEnumSymbolsByAddr2`](../../debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md) - [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md index 1f136705c7e..a69b55abaa9 100644 --- a/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md +++ b/docs/debugger/debug-interface-access/idiaenumsymbolsbyaddr2.md @@ -1,5 +1,5 @@ --- -description: "Enumerates by address the various symbols contained in the data source." +description: "Enumerates by address the various symbols contained in the data source. Extends IDiaEnumSymbolsByAddr." title: "IDiaEnumSymbolsByAddr2" ms.date: "7/2/2024" ms.topic: "reference" @@ -40,7 +40,7 @@ This interface provides symbols grouped by address. To work with symbols grouped ## Notes for callers -Obtain this interface by calling the [`IDiaSession::getSymbolsByAddr`](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) method and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSymbolsByAddr2`. +Obtain this interface by calling the [`IDiaSession::getSymbolsByAddr`](../../debugger/debug-interface-access/idiasession-getsymbolsbyaddr.md) method and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) with the `riid` parameter set to `IID_IDiaEnumSymbolsByAddr2`. ## Example diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md index 7eacd794cdf..30af9cab5bb 100644 --- a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-filename.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -#`IDiaInputAssemblyFile::get_fileName` +# IDiaInputAssemblyFile::get_fileName Retrieves the orginal assembly file name. diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md index 380f61348b4..c3ec994ffe5 100644 --- a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-index.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -#`IDiaInputAssemblyFile::get_index` +# IDiaInputAssemblyFile::get_index Retrieves the file index. diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md index eaa1d6284d1..c3fa4e8a826 100644 --- a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-pdbavailableatilmerge.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -#`IDiaInputAssemblyFile::get_pdbAvailableAtILMerge` +# IDiaInputAssemblyFile::get_pdbAvailableAtILMerge Retrieves a flag that indicates whether the PDB was available at the creation of the .Net Native binary. diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md index 7bf03299efc..5270620b280 100644 --- a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-timestamp.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -#`IDiaInputAssemblyFile::get_timestamp` +# IDiaInputAssemblyFile::get_timestamp Retrieves the time stamp. diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md index 168a41cb00b..c3ea02486a7 100644 --- a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-uniqueid.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -#`IDiaInputAssemblyFile::get_uniqueId` +# IDiaInputAssemblyFile::get_uniqueId Retrieves a unique identifier for the file. diff --git a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md index be84c6a3b59..50ecc470dd3 100644 --- a/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md +++ b/docs/debugger/debug-interface-access/idiainputassemblyfile-get-version.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -#`IDiaInputAssemblyFile::get_version` +# IDiaInputAssemblyFile::get_version Retrieves the version of the orginal assembly. diff --git a/docs/debugger/debug-interface-access/idiasession-addressForVA.md b/docs/debugger/debug-interface-access/idiasession-addressForVA.md index dd3958c0ab3..2caa50568c9 100644 --- a/docs/debugger/debug-interface-access/idiasession-addressForVA.md +++ b/docs/debugger/debug-interface-access/idiasession-addressForVA.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::addressForVA` +# IDiaSession::addressForVA Returns the equivalent address for the specified virtual address (VA). diff --git a/docs/debugger/debug-interface-access/idiasession-addressforrva.md b/docs/debugger/debug-interface-access/idiasession-addressforrva.md index 87e5d4fc2e8..43c60b57feb 100644 --- a/docs/debugger/debug-interface-access/idiasession-addressforrva.md +++ b/docs/debugger/debug-interface-access/idiasession-addressforrva.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::addressForRVA` +# IDiaSession::addressForRVA Returns the equivalent address for the specified virtual address (VA). diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md index f67d0c8a846..741ef5e8b81 100644 --- a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyaddr.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findILOffsetsByAddr` +# IDiaSession::findILOffsetsByAddr Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range. diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md index ba1b9b1b738..1c8d243ea03 100644 --- a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyrva.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findILOffsetsByRVA` +# IDiaSession::findILOffsetsByRVA Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range. diff --git a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md index 3c728b11805..83116ca83d6 100644 --- a/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md +++ b/docs/debugger/debug-interface-access/idiasession-findiloffsetsbyva.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findILOffsetsByVA` +# IDiaSession::findILOffsetsByVA Retrieves an enumeration that allows a client to iterate through the MSIL offsets within a specified address range. diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassembly.md b/docs/debugger/debug-interface-access/idiasession-findinputassembly.md index a59592aad4a..96bd71ab752 100644 --- a/docs/debugger/debug-interface-access/idiasession-findinputassembly.md +++ b/docs/debugger/debug-interface-access/idiasession-findinputassembly.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findInputAssembly` +# IDiaSession::findInputAssembly Retrieves a .NET Native input assembly file by index. diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md b/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md index beab8777a96..925d9e9849a 100644 --- a/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md +++ b/docs/debugger/debug-interface-access/idiasession-findinputassemblybyid.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findInputAssemblyById` +# IDiaSession::findInputAssemblyById Retrieves a .NET Native input assembly file by unique identifier. diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md index b01d4df57f2..aac12a0c828 100644 --- a/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md +++ b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfile.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findInputAssemblyFile` +# IDiaSession::findInputAssemblyFile Retrieves the .NET Native input assembly file that is the parent of the specified symbol. @@ -29,7 +29,7 @@ HRESULT findInputAssemblyFile (  `pSymbol` -[in] An [`IDiaSymbol`](../../debugger/debug-interface-access/idisymbol.md) that is a child of the desired input assembly. +[in] An [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) that is a child of the desired input assembly. `ppResult` diff --git a/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md index 8d6fe18b4da..0df44560236 100644 --- a/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md +++ b/docs/debugger/debug-interface-access/idiasession-findinputassemblyfiles.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::findInputAssemblyFiles` +# IDiaSession::findInputAssemblyFiles Retrieves an enumeration that allows a client to iterate through the .NET Native input assembly files. diff --git a/docs/debugger/debug-interface-access/idiasession-getexports.md b/docs/debugger/debug-interface-access/idiasession-getexports.md index b602e54b47e..3be74f71469 100644 --- a/docs/debugger/debug-interface-access/idiasession-getexports.md +++ b/docs/debugger/debug-interface-access/idiasession-getexports.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getExports` +# IDiaSession::getExports Retrieves an enumerator for all exported symbols, symbols with `SymTagExport`, from a `.dll`. diff --git a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md index 1805b0ce102..939cf20348b 100644 --- a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md +++ b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmap.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getFuncMDTokenMap` +# IDiaSession::getFuncMDTokenMap Retrieves the contents of the .NET Native metadata function token map. diff --git a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md index 0ef566b4175..9406cd236e5 100644 --- a/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md +++ b/docs/debugger/debug-interface-access/idiasession-getfuncmdtokenmapsize.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getFuncMDTokenMapSize` +# IDiaSession::getFuncMDTokenMapSize Retrieves the size, in bytes, of the .NET Native metadata function token map. diff --git a/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md index 021d4c7604e..f7a768655dd 100644 --- a/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md +++ b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_rva.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getFunctionFragments_RVA` +# IDiaSession::getFunctionFragments_RVA Retrieves the addresses and lengths of discontiguous fragments for the function at the specified relative virtual address (RVA). diff --git a/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md index ed1750e2348..a13198c843c 100644 --- a/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md +++ b/docs/debugger/debug-interface-access/idiasession-getfunctionfragments_va.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getFunctionFragments_VA` +# IDiaSession::getFunctionFragments_VA Retrieves the addresses and lengths of discontiguous fragments for the function at the specified virtual address (VA). diff --git a/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md b/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md index 1f3aa5a7a15..795498517d5 100644 --- a/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md +++ b/docs/debugger/debug-interface-access/idiasession-getheapallocationsites.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getHeapAllocationSites` +# IDiaSession::getHeapAllocationSites Retrieves an enumerator for all `SymTagHeapAllocationSite` symbols. diff --git a/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md index 19454fc61c6..42bf565daf8 100644 --- a/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md +++ b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_rva.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getNumberOfFunctionFragments_RVA` +# IDiaSession::getNumberOfFunctionFragments_RVA Retrieves the number of discontiguous fragments for the function at the specified relative virtual address (RVA). diff --git a/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md index bddd0a72e4d..3b6109722f3 100644 --- a/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md +++ b/docs/debugger/debug-interface-access/idiasession-getnumberoffunctionfragments_va.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getNumberOfFunctionFragments_VA` +# IDiaSession::getNumberOfFunctionFragments_VA Retrieves the number of discontiguous fragments for the function at the specified virtual address (VA). diff --git a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md index 994e3de9014..f8fef4bba51 100644 --- a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md +++ b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmap.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getTypeMDTokenMap` +# IDiaSession::getTypeMDTokenMap Retrieves the contents of the .NET Native metadata type token map. diff --git a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md index b2039fb7d92..3fa8abb73f0 100644 --- a/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md +++ b/docs/debugger/debug-interface-access/idiasession-gettypemdtokenmapsize.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSession::getTypeMDTokenMapSize` +# IDiaSession::getTypeMDTokenMapSize Retrieves the size, in bytes, of the .NET Native metadata type token map. diff --git a/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md b/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md index 2a266b8a206..e36bf7a933c 100644 --- a/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md +++ b/docs/debugger/debug-interface-access/idiasessionex-getsourcelinkinfo.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSessionEx::getSourceLinkInfo` +# IDiaSessionEx::getSourceLinkInfo Retrieves an enumeration of [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) information. diff --git a/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md b/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md index 24ec577b12c..c8a5b09dda4 100644 --- a/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md +++ b/docs/debugger/debug-interface-access/idiasessionex-isfastlinkpdb.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSessionEx::isFastLinkPDB` +# IDiaSessionEx::isFastLinkPDB Retrieves a boolean indicating that the source debug information was produced with `/DEBUG:fastlink`. diff --git a/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md b/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md index be1f2d69896..df14f854658 100644 --- a/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md +++ b/docs/debugger/debug-interface-access/idiasessionex-isportablepdb.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSessionEx::isPortablePDB` +# IDiaSessionEx::isPortablePDB Retrieves a boolean indicating that the source debug information is using the [Portable PDB](https://github.com/dotnet/runtime/blob/main/docs/design/specs/PortablePdb-Metadata.md) format. diff --git a/docs/debugger/debug-interface-access/idiasessionex.md b/docs/debugger/debug-interface-access/idiasessionex.md index 62c005335c9..53290379097 100644 --- a/docs/debugger/debug-interface-access/idiasessionex.md +++ b/docs/debugger/debug-interface-access/idiasessionex.md @@ -1,6 +1,6 @@ --- description: "Provides an extended query context for debug symbols." -title: "IDiaSession" +title: "IDiaSessionEx" ms.date: "07/05/2024" ms.topic: "reference" dev_langs: @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSessionEx` +# IDiaSessionEx Provides an extended query context for debug symbols. diff --git a/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md b/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md index 6659d3fc856..9d326ad75b5 100644 --- a/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md +++ b/docs/debugger/debug-interface-access/idiastackwalkhelper2-getpointerauthenticationmask.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaStackWalkHelper2::GetPointerAuthenticationMask` +# IDiaStackWalkHelper2::GetPointerAuthenticationMask Retrieves the value of the pointer authentication mask. diff --git a/docs/debugger/debug-interface-access/idiastackwalkhelper2.md b/docs/debugger/debug-interface-access/idiastackwalkhelper2.md index 6d65632642c..9eaa1189729 100644 --- a/docs/debugger/debug-interface-access/idiastackwalkhelper2.md +++ b/docs/debugger/debug-interface-access/idiastackwalkhelper2.md @@ -1,5 +1,5 @@ --- -description: "Facilitates walking the stack using the program debug database (.pdb) file." +description: "Facilitates walking the stack using the program debug database (.pdb) file. Extends IDiaStackWalkHelper." title: "IDiaStackWalkHelper2" ms.date: "07/18/2024" ms.topic: "reference" @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaStackWalkHelper2` +# IDiaStackWalkHelper2 Facilitates walking the stack using the program debug database (.pdb) file. diff --git a/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md b/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md index 356e84b313f..210c0f3f85a 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md +++ b/docs/debugger/debug-interface-access/idiasymbol-findinputassemblyfile.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::findInputAssemblyFile` +# IDiaSymbol::findInputAssemblyFile Retrieves the .NET Native input assembly file that is the parent of the symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md b/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md index f37461e8105..1874267a8f1 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-backendqfe.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_backEndQFE` +# IDiaSymbol::get_backEndQFE Retrieves the back end QFE number of the compiler. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md b/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md index 829827e925d..7f39e897325 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-bindid.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_bindID` +# IDiaSymbol::get_bindID Retrieves the binding register index. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md b/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md index b70de9d0c3a..d9d65c4c6af 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-bindslot.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_bindSlot` +# IDiaSymbol::get_bindSlot Retrieves the lower bound in binding space. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md b/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md index f456134d760..d1871c2227d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-bindspace.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_bindSpace` +# IDiaSymbol::get_bindSpace Retrives the binding space. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md b/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md index a872f604086..2f5fda35c8e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-builtinkind.md @@ -1,7 +1,7 @@ --- description: "Retrieves a built-in kind of the HLSL type." title: "IDiaSymbol::get_builtInKind" -ms.date: "0718/2024" +ms.date: "07/18/2024" ms.topic: "reference" dev_langs: - "C++" @@ -30,6 +30,11 @@ HRESULT get_buildInKind( ## Return Value If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +## Remarks + +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. ## See also diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md b/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md index 80336a6c9a7..46ea69479dd 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-characteristics.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_characteristics` +# IDiaSymbol::get_characteristics Retrieves the characteristics of this COFF section. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md b/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md index f8f59ec2977..4084063e27e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-coffgroup.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_coffGroup` +# IDiaSymbol::get_coffGroup Retrieves the COFF group symbol this symbol comes from. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md index 6fb6210dd47..5372c240a36 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-constantexport.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_constantExport` +# IDiaSymbol::get_constantExport Retrieves a flag indicating whether this export is `CONSTANT`. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md index 3db2739f4f0..4070ec22f2e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-dataexport.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_dataExport` +# IDiaSymbol::get_dataExport Retrieves a flag indicating whether this export is `DATA`. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md index df9154ded9a..3401bc7ed0f 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddressoffset.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_exceptionHandlerAddressOffset` +# IDiaSymbol::get_exceptionHandlerAddressOffset Retrieves the section offset of the exception handler of this function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md index bb904072521..0f28f7e6ec6 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandleraddresssection.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_exceptionHandlerAddressSection` +# IDiaSymbol::get_exceptionHandlerAddressSection Retrieves the section number of the exception handler of this function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md index a40a3a5ae1b..4f20f0bdd1b 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlerrelativevirtualaddress.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress` +# IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress Retrieves the relative virtual address (RVA) of the exception handler of this function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md index 359b8a0df92..fbcdcc84dd2 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exceptionhandlervirtualaddress.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_exceptionHandlerVirtualAddress` +# IDiaSymbol::get_exceptionHandlerVirtualAddress Retrieves the virtual address of the exception handler of this function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md b/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md index 6f0ca901a47..99773542e6d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exporthasexplicitlyassignedordinal.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal` +# IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal Retrieves a flag indicating whether this export has an explicitly assigned ordinal. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md b/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md index fd3016a67be..32bdc13ae39 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-exportisforwarder.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_exportIsForwarder` +# IDiaSymbol::get_exportIsForwarder Retrieves a flag indicating whether this export is a forwarder. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md b/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md index 4effb40a986..6c7f3e41daf 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_finalLiveStaticSize` +# IDiaSymbol::get_finalLiveStaticSize Retrieves the final static size of live function, after inlining. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md b/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md index 056b2280035..ccf5074fa8d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-framesize.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_frameSize` +# IDiaSymbol::get_frameSize Retrieves the frame size. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md b/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md index 3789425eb46..164aa370687 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-frontendqfe.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_frontEndQFE` +# IDiaSymbol::get_frontEndQFE Retrieves the front end QFE number of the compiler. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md b/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md index dae365580d2..95d118dbefd 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-hascontrolflowcheck.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_get_hasControlFlowCheck` +# IDiaSymbol::get_get_hasControlFlowCheck Retrieves a flag indicating whether this function contains control flow checks. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md b/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md index 06060c119f1..a4e44ede3c3 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-hasvalidpgocounts.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_hasValidPGOCounts` +# IDiaSymbol::get_hasValidPGOCounts Retrieves a flag indicating whether this symbols has valid profile-guided optimizations (PGO) counts. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md b/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md index eaaf5ca5370..a77e4c256b5 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isconstructorvirtualbase.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isConstructorVirtualBase` +# IDiaSymbol::get_isConstructorVirtualBase Retrieves a flag indicating whether this is an instance constructor of a class with virtual base. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md index 06ecd346312..33b89736a25 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-iscxxreturnudt.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isCxxReturnUdt` +# IDiaSymbol::get_isCxxReturnUdt Retrieves a flag indicating whether return C++ style UDT. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-ishlsldata.md b/docs/debugger/debug-interface-access/idiasymbol-get-ishlsldata.md index 3f781861b25..7c988302189 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-ishlsldata.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-ishlsldata.md @@ -29,5 +29,10 @@ HRESULT get_isHLSLData( ## Return Value If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. +## Remarks + +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. + ## See also - [IDiaSymbol](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md index 5da47c6ebfa..4da30dad60d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isinterfaceudt.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isInterfaceUdt` +# IDiaSymbol::get_isInterfaceUdt Retrieves a flag indicating whether this is a WinRT interface user-defined type (UDT). diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md b/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md index ef4c3cbaa9d..aa3d0eefaff 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-islocationcontrolflowdependent.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isLocationControlFlowDependent` +# IDiaSymbol::get_isLocationControlFlowDependent Retrieves a flag indicating whether a local symbol's location liveness is dependent upon the control flow of the function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md b/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md index 5c224a83230..b4f5875cf69 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-ispgo.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isPGO` +# IDiaSymbol::get_isPGO Retrieves a flag indicating whether profile-guided optimizations (PGO) were performed for this function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md index 065942316cd..22d76f6064d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isrefudt.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isRefUdt` +# IDiaSymbol::get_isRefUdt Retrieves a flag indicating whether this is a WinRT reference user-defined type (UDT). diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md b/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md index 1e55eb773ad..3816c1ea988 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-isvalueudt.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isValueUdt` +# IDiaSymbol::get_isValueUdt Retrieves a flag indicating whether this is a WinRT value user-defined type (UDT). diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md b/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md index e2f0987cda5..19b9705a9bc 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-iswinrtpointer.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_isWinRTPointer` +# IDiaSymbol::get_isWinRTPointer Retrieves a flag indicating whether this is a WinRT pointer type. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md b/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md index 32988dda069..c48fbe3c60a 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-memoryspacekind.md @@ -31,6 +31,11 @@ HRESULT get_memorySpaceKind( If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. +## Remarks + +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. + ## See also - [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md b/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md index 6edda3c9d37..545c5479a22 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-modifiervalues.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_modifierValues` +# IDiaSymbol::get_modifierValues Retrieves the total invocation count in PGO training. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md index ddac5b8fda2..1dceb37da4e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-nonameexport.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_noNameExport` +# IDiaSymbol::get_noNameExport Retrieves a flag indicating whether this export is `NONAME`. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md b/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md index 841515e671e..3fbb9b81ff1 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-numericproperties.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_numericProperties` +# IDiaSymbol::get_numericProperties Retrieves the set of numeric properties for this symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md b/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md index 1404125d6aa..8810ca2007c 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-ordinal.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_ordinal` +# IDiaSymbol::get_ordinal Retrieves the ordinal of this export. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md b/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md index c914986f94d..8acc0c8ab2e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-pgodynamicinstructioncount.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_PGODynamicInstructionCount` +# IDiaSymbol::get_PGODynamicInstructionCount Retrieves the dynamic instruction count calculated by training. @@ -39,11 +39,11 @@ HRESULT get_PGODynamicInstructionCount (  ## Remarks -This is the number of instructions in the function that were executed during training. FOr example if two instructions were executed twice each, this would return a dynamic instruction count of 4, meaning 4 instructions were executed during the training. To get the total size of the function, including dead instructions (i.e. instructions never executed by the training data), use [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md). To get the number of live instructions, not multiplied by execution counts, use [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finalivestaticsize.md). +This is the number of instructions in the function that were executed during training. FOr example if two instructions were executed twice each, this would return a dynamic instruction count of 4, meaning 4 instructions were executed during the training. To get the total size of the function, including dead instructions (i.e. instructions never executed by the training data), use [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md). To get the number of live instructions, not multiplied by execution counts, use [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md). ## See also - [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) - [`IDiaSymbol::get_staticSize`](../../debugger/debug-interface-access/idiasymbol-get-staticsize.md) -- [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finalivestaticsize.md) +- [`IDiaSymbol::get_finalLiveStaticSize`](../../debugger/debug-interface-access/idiasymbol-get-finallivestaticsize.md) - [Profile-guided optimizations](/cpp/build/profile-guided-optimizations) diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md b/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md index b57759aa9b2..2b5ee5a82b9 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-pgoedgecount.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_PGOEdgeCount` +# IDiaSymbol::get_PGOEdgeCount Retrieves the edge count between a caller/callee and it's parent. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md b/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md index 2282f8bcb0f..14245e7d3c4 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-pgoentrycount.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_PGOEntryCount` +# IDiaSymbol::get_PGOEntryCount Retrieves the total invocation count in PGO training. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md b/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md index 7b13ad9adf1..781733fb777 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-phasename.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_phaseName` +# IDiaSymbol::get_phaseName Retrieves the phase this function is a member of for PGO multiphased builds. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md b/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md index 73e2cda1690..1632b190d6a 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-privatexport.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_privateExport` +# IDiaSymbol::get_privateExport Retrieves a flag indicating whether this export is `PRIVATE`. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md b/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md index 90619ee7f2e..9cfe89a5fe6 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-registertype.md @@ -29,6 +29,11 @@ HRESULT get_registerType( ## Return Value If successful, returns `S_OK`; otherwise, returns `S_FALSE` or an error code. + +## Remarks + +> [!NOTE] +> The newer DXC compiler no longer produces PDBs. This API only has valid values on PDBs produced by the older *fxc.exe* compiler. ## See also diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md b/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md index 81807e1e12e..ac6486dd2c3 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-staticsize.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_staticSize` +# IDiaSymbol::get_staticSize Retrieves the static instruction count. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md b/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md index 1af48f57c76..241bbecaa3b 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-strictgscheck.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_strictGSCheck` +# IDiaSymbol::get_strictGSCheck Retrieves a flag indicating whether this function was compiled with [`strict_gs_check` pragma](/cpp/preprocessor/strict-gs-check) enabled. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-unused.md b/docs/debugger/debug-interface-access/idiasymbol-get-unused.md index 9fd7110e23b..1b996fe7855 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-unused.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-unused.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_unused` +# IDiaSymbol::get_unused Deprecated function. diff --git a/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md b/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md index 415d17ddcbd..641fe0a2ca0 100644 --- a/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md +++ b/docs/debugger/debug-interface-access/idiasymbol-get-wasinlined.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol::get_wasInlined` +# IDiaSymbol::get_wasInlined Retrieves a flag indicating whether this function symbol was inlined into another function. diff --git a/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md b/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md index 5895bd358a8..aea191c30b6 100644 --- a/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md +++ b/docs/debugger/debug-interface-access/idiasymbol10-get-sourcelink.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol10::get_sourceLink` +# IDiaSymbol10::get_sourceLink Retreives the [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md) blob associated with this `SymTagCompiland` symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol10.md b/docs/debugger/debug-interface-access/idiasymbol10.md index 1c89d608d0c..e0b847a61a6 100644 --- a/docs/debugger/debug-interface-access/idiasymbol10.md +++ b/docs/debugger/debug-interface-access/idiasymbol10.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance relating to source links." title: "IDiaSymbol10" ms.date: "07/15/2024" ms.topic: "reference" @@ -37,7 +37,7 @@ The following table shows the methods of `IDiaSymbol10`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md b/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md index ad93ab0b68b..8eddb294975 100644 --- a/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-discriminateduniontag.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol11::get_discriminatedUnionTag` +# IDiaSymbol11::get_discriminatedUnionTag Retrieves information about the tag of a discriminated union symbol instance. diff --git a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md index 9bb61658f4a..a077d6e3c23 100644 --- a/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md +++ b/docs/debugger/debug-interface-access/idiasymbol11-get-tagranges.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol11::get_tagRanges` +# IDiaSymbol11::get_tagRanges Retrieves the ranges of tags within a discriminated union symbol instance. diff --git a/docs/debugger/debug-interface-access/idiasymbol11.md b/docs/debugger/debug-interface-access/idiasymbol11.md index de44200b01a..fedd2d3935f 100644 --- a/docs/debugger/debug-interface-access/idiasymbol11.md +++ b/docs/debugger/debug-interface-access/idiasymbol11.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a SymTagTaggedUnionCase symbol instance." +description: "Describes additional properties of a SymTagTaggedUnionCase symbol instance relating to tag ranges." title: "IDiaSymbol11" ms.date: "07/15/2024" ms.topic: "reference" @@ -39,7 +39,7 @@ The following table shows the methods of `IDiaSymbol11`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md index c8b6bb51539..914afd8a68a 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjccategory.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol2::get_isObjCCategory` +# IDiaSymbol2::get_isObjCCategory Retrieves a flag indicating whether this is an Objective-C category. diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md index 2141cbc0dd9..96469d3b8dc 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcclass.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol2::get_isObjCClass` +# IDiaSymbol2::get_isObjCClass Retrieves a flag indicating whether this is an Objective-C class interface/implementation. diff --git a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md index 050c251cb12..50a3a3108d4 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md +++ b/docs/debugger/debug-interface-access/idiasymbol2-get-isobjcprotocol.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol2::get_isObjCProtocol` +# IDiaSymbol2::get_isObjCProtocol Retrieves a flag indicating whether this is an Objective-C protocol. diff --git a/docs/debugger/debug-interface-access/idiasymbol2.md b/docs/debugger/debug-interface-access/idiasymbol2.md index 43fefd2ff64..376d09aa1ad 100644 --- a/docs/debugger/debug-interface-access/idiasymbol2.md +++ b/docs/debugger/debug-interface-access/idiasymbol2.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance related to Objective-C." title: "IDiaSymbol2" ms.date: "07/12/2024" ms.topic: "reference" diff --git a/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md b/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md index 8b2ac104796..06cc8c8409f 100644 --- a/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md +++ b/docs/debugger/debug-interface-access/idiasymbol3-get-inlinee.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol3::get_inlinee` +# IDiaSymbol3::get_inlinee Retrieves the inlinee symbol from a `SymTagInlineSite` symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md b/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md index b5898619bd2..575857221ba 100644 --- a/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md +++ b/docs/debugger/debug-interface-access/idiasymbol3-get-inlineeid.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol3::get_inlineeId` +# IDiaSymbol3::get_inlineeId Retrieves the inlinee ID from a `SymTagInlineSite` symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol3.md b/docs/debugger/debug-interface-access/idiasymbol3.md index ba00e1b408e..3f84694f688 100644 --- a/docs/debugger/debug-interface-access/idiasymbol3.md +++ b/docs/debugger/debug-interface-access/idiasymbol3.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance related to the inlinee ID." title: "IDiaSymbol3" ms.date: "07/12/2024" ms.topic: "reference" @@ -38,7 +38,7 @@ The following table shows the methods of `IDiaSymbol3`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md b/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md index d702d7555a5..a5f393d9764 100644 --- a/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md +++ b/docs/debugger/debug-interface-access/idiasymbol4-get-noexcept.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol4::get_noexcept` +# IDiaSymbol4::get_noexcept Retrieves a flag indicating whether the function is declared as `noexcept`. diff --git a/docs/debugger/debug-interface-access/idiasymbol4.md b/docs/debugger/debug-interface-access/idiasymbol4.md index 17a7920a6d8..d27f86f0675 100644 --- a/docs/debugger/debug-interface-access/idiasymbol4.md +++ b/docs/debugger/debug-interface-access/idiasymbol4.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance related to noexcept." title: "IDiaSymbol4" ms.date: "07/12/2024" ms.topic: "reference" @@ -37,7 +37,7 @@ The following table shows the methods of `IDiaSymbol4`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md b/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md index 42119879fe1..925b6778319 100644 --- a/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md +++ b/docs/debugger/debug-interface-access/idiasymbol5-get-hasabsoluteaddress.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol5::get_hasAbsoluteAddress` +# IDiaSymbol5::get_hasAbsoluteAddress Retrieves a flag that indicates whether this symbol has an absolute address. diff --git a/docs/debugger/debug-interface-access/idiasymbol5.md b/docs/debugger/debug-interface-access/idiasymbol5.md index 8af3ff22c88..bb49bb59654 100644 --- a/docs/debugger/debug-interface-access/idiasymbol5.md +++ b/docs/debugger/debug-interface-access/idiasymbol5.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance related to the symbol absolute address." title: "IDiaSymbol5" ms.date: "07/12/2024" ms.topic: "reference" @@ -37,7 +37,7 @@ The following table shows the methods of `IDiaSymbol3`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md b/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md index 3597ee10597..62cf0118716 100644 --- a/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md +++ b/docs/debugger/debug-interface-access/idiasymbol6-get-isstaticmemberfunc.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol6::get_isStaticMemberFunc` +# IDiaSymbol6::get_isStaticMemberFunc Retrieves a flag that indicates whether this function is a static member function. diff --git a/docs/debugger/debug-interface-access/idiasymbol6.md b/docs/debugger/debug-interface-access/idiasymbol6.md index 0bfdf356539..247fff08923 100644 --- a/docs/debugger/debug-interface-access/idiasymbol6.md +++ b/docs/debugger/debug-interface-access/idiasymbol6.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance related to static member functions." title: "IDiaSymbol6" ms.date: "07/12/2024" ms.topic: "reference" @@ -37,7 +37,7 @@ The following table shows the methods of `IDiaSymbol6`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md b/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md index eed17854271..1a4196ea02e 100644 --- a/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md +++ b/docs/debugger/debug-interface-access/idiasymbol7-get-issignret.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol7::get_isSignRet` +# IDiaSymbol7::get_isSignRet Retrieves a flag that indicates whether this function has signed return address protections. diff --git a/docs/debugger/debug-interface-access/idiasymbol7.md b/docs/debugger/debug-interface-access/idiasymbol7.md index 91dc9d26767..5ab4f55a048 100644 --- a/docs/debugger/debug-interface-access/idiasymbol7.md +++ b/docs/debugger/debug-interface-access/idiasymbol7.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance relating to signed return address protections." title: "IDiaSymbol7" ms.date: "07/12/2024" ms.topic: "reference" @@ -37,7 +37,7 @@ The following table shows the methods of `IDiaSymbol7`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md index 6897354f49d..01fbd4c7baf 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol8::get_associatedSymbolAddr` +# IDiaSymbol8::get_associatedSymbolAddr Retrieves the virtual address (VA) of the associated symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md index db3c7426d6e..877870196e3 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolkind.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol8::get_associatedSymbolKind` +# IDiaSymbol8::get_associatedSymbolKind Retrieves the associated symbol kind. diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md index 00a2a4250d9..71f892662bd 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymboloffset.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol8::get_associatedSymbolOffset` +# IDiaSymbol8::get_associatedSymbolOffset Retrieves the offset component of the address of the associated symbol. @@ -40,6 +40,6 @@ HRESULT get_associatedSymbolOffset( ## See also - [`IDiaSymbol8`](../../debugger/debug-interface-access/idiasymbol8.md) -- [`IDiaSymbol8::get_associatedSymbolSection`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolosection.md) +- [`IDiaSymbol8::get_associatedSymbolSection`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md) - [`IDiaSymbol8::get_associatedSymbolAddr`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymboladdr.md) - [`IDiaSymbol8::get_associatedSymbolRva`](../../debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md) diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md index a9c653f33fe..de556207d21 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolrva.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol8::get_associatedSymbolRva` +# IDiaSymbol8::get_associatedSymbolRva Retrieves the relative virtual address (RVA) of the associated symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md index a08ec03fd1a..3e0a877a40d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-associatedsymbolsection.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol8::get_associatedSymbolSection` +# IDiaSymbol8::get_associatedSymbolSection Retrieves the section component of the address of the associated symbol. diff --git a/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md b/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md index 7a5647a8774..3a2a59b786d 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md +++ b/docs/debugger/debug-interface-access/idiasymbol8-get-coroutinekind.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol8::get_coroutineKind` +# IDiaSymbol8::get_coroutineKind Retrieves the coroutine function kind. diff --git a/docs/debugger/debug-interface-access/idiasymbol8.md b/docs/debugger/debug-interface-access/idiasymbol8.md index 86640dfe357..6ce5771407a 100644 --- a/docs/debugger/debug-interface-access/idiasymbol8.md +++ b/docs/debugger/debug-interface-access/idiasymbol8.md @@ -42,7 +42,7 @@ The following table shows the methods of `IDiaSymbol8`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md index f2c846f32fc..753c79d17bf 100644 --- a/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md +++ b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadoffset.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol9::get_framePadOffset` +# IDiaSymbol9::get_framePadOffset Retrieves the stack frame pad offset used for Edit and Continue. diff --git a/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md index 73d69803eb6..d384061f800 100644 --- a/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md +++ b/docs/debugger/debug-interface-access/idiasymbol9-get-framepadsize.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol9::get_framePadSize` +# IDiaSymbol9::get_framePadSize Retrieves the stack frame pad size used for Edit and Continue. diff --git a/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md b/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md index ec74f9113fc..f8d815ac8ef 100644 --- a/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md +++ b/docs/debugger/debug-interface-access/idiasymbol9-get-isrtcs.md @@ -12,7 +12,7 @@ ms.author: "grantri" manager: twhitney ms.subservice: debug-diagnostics --- -# `IDiaSymbol9::get_isRTCs` +# IDiaSymbol9::get_isRTCs Retrieves a flag that indicates whether the function was compiled with runtime stack checks. diff --git a/docs/debugger/debug-interface-access/idiasymbol9.md b/docs/debugger/debug-interface-access/idiasymbol9.md index 53d0e1f810c..cb416768adb 100644 --- a/docs/debugger/debug-interface-access/idiasymbol9.md +++ b/docs/debugger/debug-interface-access/idiasymbol9.md @@ -1,5 +1,5 @@ --- -description: "Describes additional properties of a symbol instance." +description: "Describes additional properties of a symbol instance relating to frames and runtime stack checks." title: "IDiaSymbol9" ms.date: "07/15/2024" ms.topic: "reference" @@ -39,7 +39,7 @@ The following table shows the methods of `IDiaSymbol9`. ## Notes for Callers -Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. +Obtain this interface by first getting an [`IDiaSymbol`](../../debugger/debug-interface-access/idiasymbol.md) instance and then calling [`IUnknown::QueryInterface`](/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) to do a dynamic downcast. ## Requirements diff --git a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md index f6121ecf320..8b65b5c8594 100644 --- a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md +++ b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md @@ -1,5 +1,5 @@ --- -description: Retrieves the file name for the last load error. +description: Retrieves the file name for the last load error. title: "PFNMINIPDBERRORCALLBACK2" ms.date: "7/2/2024" ms.topic: "reference" @@ -44,7 +44,7 @@ szObjOrPdb szLib -[in] If `szObjOrPdb` referrs to an OBJ file within a LIB file, this is the name of the LIB. Otherwise it is `nullptr`. +[in] If `szObjOrPdb` refers to an OBJ file within a LIB file, this is the name of the LIB. Otherwise it is `nullptr`. ## Return Value From d697081469261ef4f55e43c2d8f973c1deddc631 Mon Sep 17 00:00:00 2001 From: Grant Richins <22107637+grantri@users.noreply.github.com> Date: Tue, 6 Aug 2024 09:12:37 -0700 Subject: [PATCH 25/25] Update pfnminipdberrorcallback2.md Make description more unique --- .../debug-interface-access/pfnminipdberrorcallback2.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md index 8b65b5c8594..6d251ac9ff1 100644 --- a/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md +++ b/docs/debugger/debug-interface-access/pfnminipdberrorcallback2.md @@ -1,5 +1,5 @@ --- -description: Retrieves the file name for the last load error. +description: Provides the file name and error code for the last load error for fastlink PDBs. title: "PFNMINIPDBERRORCALLBACK2" ms.date: "7/2/2024" ms.topic: "reference" @@ -15,7 +15,7 @@ ms.subservice: debug-diagnostics # PFNMINIPDBERRORCALLBACK2 -Retrieves the file name for the last load error. +Provides the file name and error code for the last load error for fastlink PDBs. ## Syntax @@ -68,4 +68,6 @@ HRESULT __cdecl ReportMiniPDBError(void *pvContext, DWORD hr, const wchar_t *szO ## See also - [IDiaDataSource](../../debugger/debug-interface-access/idiadatasource.md) +- [IDiaDataSourceEx](../../debugger/debug-interface-access/idiadatasourceex.md) +- [IDiaDataSourceEx::setPfnMiniPDBErrorCallback2](../../debugger/debug-interface-access/idiadatasourceex-setpfnminipdberrorcallback2.md) - [Common HRESULT Values (Debug Interface Access SDK)](../../debugger/debug-interface-access/common-hresult-values.md)