IDebugAdvanced3::GetSymbolInformation メソッド (dbgeng.h)
GetSymbolInformation メソッドは、シンボルに関する指定された情報を返します。
構文
HRESULT GetSymbolInformation(
[in] ULONG Which,
[in] ULONG64 Arg64,
[in] ULONG Arg32,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG InfoSize,
[out, optional] PSTR StringBuffer,
[in] ULONG StringBufferSize,
[out, optional] PULONG StringSize
);
パラメーター
[in] Which
返す情報の一部を指定します。 これは 、次の表のいずれかの値を受け取ることができます。
値 | 返される情報 |
---|---|
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE | 指定したブレークポイントのソース コード ファイル名と行番号を返します。 行番号は、ULONG として Buffer に返されます。 ファイル名は StringBuffer に返されます。 |
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 |
指定したモジュールを記述するIMAGEHLP_MODULEW64構造体を返します。 この構造の詳細については、デバッグ ヘルプ ライブラリのドキュメント (dbghelp.chm) のIMAGEHLP_MODULE64トピックを参照してください。
文字列は返されず、 StringBuffer、 StringBufferSize、 および StringSize はすべて 0 に設定する必要があります。 |
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 へのオフセットと同じ順序で返されます。 注釈には複数部構成の名前を含めることができるため、一部の名前には埋め込みゼロが含まれる場合があります。したがって、各名前は 2 つの null 文字で終了します。 |
[in] Arg64
64 ビット引数を指定します。 このパラメーターは、Which の値に応じて次の解釈 を行います。
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 ビット引数を指定します。 このパラメーターは、Which の値に応じて次の解釈 を行います。
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
目的のブレークポイントのエンジン ブレークポイント ID。
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
0 に設定します。
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
要求されたシンボル情報を受け取ります。 返されるデータの型は、 Which の値によって異なります。 Buffer が NULL の場合、この情報は返されません。
[in] BufferSize
バッファー バッファーのサイズをバイト単位で指定 します。
[out, optional] InfoSize
このメソッドが S_OKを返す場合、 InfoSize は Buffer に返されるシンボル情報のサイズをバイト単位で受け取ります。 このメソッドが S_FALSEを返す場合、指定されたバッファーの大きさが十分ではなく、 InfoSize は必要なバッファー サイズを受け取ります。 InfoSize が NULL の場合、この情報は返されません。
[out, optional] StringBuffer
要求された文字列を受け取ります。 この文字列の解釈は、 Which の値によって異なります。 StringBuffer が NULL の場合、この情報は返されません。
[in] StringBufferSize
文字列バッファー StringBuffer のサイズを文字単位で指定します。
[out, optional] StringSize
StringBuffer に返される文字列のサイズを文字単位で受け取ります。 StringSize が NULL の場合、この情報は返されません。
戻り値
このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。
リターン コード | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
メソッドは正常に実行されました。 ただし、情報が バッファー バッファー に収まらないか、文字列がバッファー StringBuffer に収まらないため、情報または名前が切り捨てられました。 |
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |