IDebugSymbols3::GetOffsetByName メソッド (dbgeng.h)
GetOffsetByName メソッドは、名前で識別されるシンボルの場所を返します。
構文
HRESULT GetOffsetByName(
[in] PCSTR Symbol,
[out] PULONG64 Offset
);
パラメーター
[in] Symbol
検索するシンボルの名前を指定します。 名前は、モジュール名 (たとえば、mymodule!メイン) で修飾できます。
[out] Offset
シンボルのメモリ割り当てのベースのターゲットのメモリ アドレス空間内の場所を受け取ります。
戻り値
このメソッドは、他のエラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。
リターン コード | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
メソッドは正常に実行されました。 ただし、 シンボル という名前は一意ではなく、その名前を持つ複数のシンボルが見つかりました。 これらの記号の 1 つが任意に選択され、返されました。 |
|
指定した名前のシンボルが見つかりませんでした。 |
注釈
Symbol という名前が一意ではなく、GetOffsetByName がその名前を持つ複数のシンボルを見つけた場合、あいまいさは任意に解決されます。 この場合、S_FALSE値が返されます。 StartSymbolMatch を使用して検索を開始し、目的の結果を特定できます。
GetNameByOffset では、パターン マッチング (ワイルドカードなど) はサポートされていません。 パターン マッチングを使用してシンボルを検索するには 、StartSymbolMatch を使用します。
シンボルのモジュール名がわかっている場合は、シンボル名をモジュール名で修飾することをお勧めします。 それ以外の場合、エンジンは一致するものが見つかるまで、すべてのモジュールのシンボルを検索します。多くのモジュールのシンボル ファイルを読み込む必要がある場合、これには長い時間がかかる場合があります。 シンボル名がモジュール名で修飾されている場合、エンジンはそのモジュールのシンボルのみを検索します。
シンボルとシンボル名の詳細については、「 シンボル」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |