IDebugAdvanced4::GetSymbolInformationWideEx 方法 (dbgeng.h)
GetSymbolInformationWideEx方法會傳回符號的指定資訊。
語法
HRESULT GetSymbolInformationWideEx(
[in] ULONG Which,
[in] ULONG64 Arg64,
[in] ULONG Arg32,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG InfoSize,
[out, optional] PWSTR StringBuffer,
[in] ULONG StringBufferSize,
[out, optional] PULONG StringSize,
[out, optional] PSYMBOL_INFO_EX pInfoEx
);
參數
[in] Which
指定要傳回的資訊片段。 這 可接受下表中的其中一個值。
值 | 傳回的資訊 |
---|---|
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE | 傳回指定中斷點的原始程式碼檔案名和行號。 行號會以 ULONG 的形式傳回至 Buffer 。 檔案名會傳回 給 StringBuffer。 |
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 |
傳回描述指定模組的IMAGEHLP_MODULEW64結構。 如需此結構的詳細資訊,請參閱偵錯說明程式庫檔中的IMAGEHLP_MODULE64主題, (dbghelp.chm) 。
不會傳回任何字串,而且 StringBufferSize和StringSize都必須全部設定為零。 |
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE | 傳回記憶體和 PDB 標籤類型中位置所指定的符號 Unicode 名稱。 此名稱會傳回至 Buffer。 未使用StringBuffer。 |
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS | 傳回指定模組中具有指定 PDB 標籤類型的符號名稱和位移清單。 位移會以 ULONG 值的陣列的形式傳回給 Buffer。 名稱會以與 StringBuffer位移相同的順序傳回。 某些名稱可能包含內嵌零,因為批註可以有多個部分名稱;因此,每個名稱都會以兩個 Null 字元終止。 |
[in] Arg64
指定 64 位引數。 此參數具有下列解譯,視 其值而定:
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
忽略。
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
要求描述之模組的基底位址。
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE
指定要求名稱之符號之目標記憶體中的位址。
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS
指定要求符號的模組。 Arg64 是模組記憶體配置內的位置。
[in] Arg32
指定 32 位引數。 此參數具有下列解譯,視 其值而定:
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
所需中斷點的引擎中斷點識別碼。
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
設定為零。
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE
符號的 PDB 分類。 Arg32 必須是 Dbghelp.h 中所定義 SymTagEnum 列舉中的其中一個值。 如需詳細資訊,請參閱 PDB 檔。
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS
符號的 PDB 分類。 Arg32 必須是 Dbghelp.h 中所定義 SymTagEnum 列舉中的其中一個值。 如需詳細資訊,請參閱 PDB 檔。
[out, optional] Buffer
接收要求的符號資訊。 傳回的資料型別取決於 [哪一個] 的值。 如果 Buffer 是 Null,則不會傳回這項資訊。
[in] BufferSize
指定緩衝區 緩衝區的大小,以位元組為單位。
[out, optional] InfoSize
如果這個方法傳回 S_OK, InfoSize 會接收傳回給 Buffer之符號資訊的大小,以位元組為單位。 如果此方法傳回 S_FALSE,則提供的緩衝區不夠大, InfoSize 會收到所需的緩衝區大小。 如果 InfoSize 為 Null,則不會傳回此資訊。
[out, optional] StringBuffer
接收要求的字串。 此字串的解譯取決於 其值。 如果 StringBuffer 為 Null,則不會傳回這項資訊。
[in] StringBufferSize
指定字串緩衝區 StringBuffer的大小,以字元為單位。
[out, optional] StringSize
接收傳回給 StringBuffer之字串的大小,以字元為單位。 如果 StringSize 為 Null,則不會傳回這項資訊。
[out, optional] pInfoEx
SYMBOL_INFO_EX結構的指標。
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
|
此方法成功。 不過,資訊無法放入緩衝區 緩衝區 ,或字串無法放入緩衝區 StringBuffer中,因此會截斷資訊或名稱。 |
規格需求
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |