次の方法で共有


SymGetLineFromInlineContextW 関数 (dbghelp.h)

指定したインライン コンテキストのソース行を検索します。

構文

BOOL IMAGEAPI SymGetLineFromInlineContextW(
  [in]           HANDLE            hProcess,
  [in]           DWORD64           dwAddr,
  [in]           ULONG             InlineContext,
  [in, optional] DWORD64           qwModuleBaseAddress,
  [out]          PDWORD            pdwDisplacement,
  [out]          PIMAGEHLP_LINEW64 Line
);

パラメーター

[in] hProcess

最初に SymInitialize 関数に渡されたプロセスへのハンドル。

[in] dwAddr

行を配置する必要があるアドレス。 アドレスが回線境界上に存在する必要はありません。 住所が行の先頭の後、行の末尾の前に表示される場合は、その行が見つかります。

[in] InlineContext

インライン コンテキスト。

[in, optional] qwModuleBaseAddress

モジュールのベース アドレス。

[out] pdwDisplacement

行の先頭からの変位 (バイト単位)、または 0。

[out] Line

IMAGEHLP_LINE64 構造体へのポインター。

戻り値

関数が成功した場合、戻り値は TRUE

関数が失敗した場合、戻り値は FALSE。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

呼び出し元は、SymGetLineFromInlineContextを呼び出す前に、Line バッファーを適切に割り当て、IMAGEHLP_LINE64 構造体の必要なメンバー 入力する必要があります。

この関数は、別の関数で再利用できるバッファーへのポインターを返します。 そのため、返されたデータをすぐに別のバッファーにコピーしてください。

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義します。 SymGetLineFromInlineContext は、Dbghelp.h で次のように定義されています。

BOOL
IMAGEAPI
SymGetLineFromInlineContextW(
    _In_ HANDLE hProcess,
    _In_ DWORD64 dwAddr,
    _In_ ULONG InlineContext,
    _In_opt_ DWORD64 qwModuleBaseAddress,
    _Out_ PDWORD pdwDisplacement,
    _Out_ PIMAGEHLP_LINEW64 Line
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
 #define SymGetLineFromInlineContext SymGetLineFromInlineContextW
#endif

手記

dbghelp.h ヘッダーは、SymGetLineFromInlineContext を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム の ウィンドウズ
ヘッダー dbghelp.h
ライブラリ DbgHelp.lib
DLL DbgHelp.dll
再頒布可能パッケージの DbgHelp.dll 6.2 以降