次の方法で共有


SymFunctionTableAccess 関数 (dbghelp.h)

指定したアドレスの関数テーブル エントリを取得します。

構文

PVOID IMAGEAPI SymFunctionTableAccess(
  [in] HANDLE hProcess,
  [in] DWORD  AddrBase
);

パラメーター

[in] hProcess

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

[in] AddrBase

関数テーブル情報が必要なベース アドレス。

戻り値

関数が成功した場合、戻り値は関数テーブルエントリへのポインターです。

関数が失敗した場合は、返される値は NULL です。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

注釈

返されるポインターの型は、シンボルの読み込み元のイメージに固有です。

x86: イメージが x86 システム用の場合、これは FPO_DATA 構造体へのポインターです。

x64: イメージが x64 システム用の場合、これは _IMAGE_RUNTIME_FUNCTION_ENTRY 構造体へのポインターです。

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

この関数は、 SymFunctionTableAccess 関数よりも優先されます。 詳細については、「 プラットフォーム サポートの更新」を参照してください。 SymFunctionTableAccess は、Dbghelp.h で次のように定義されています。

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymFunctionTableAccess SymFunctionTableAccess64
#else
PVOID
IMAGEAPI
SymFunctionTableAccess(
    __in HANDLE hProcess,
    __in DWORD AddrBase
    );
#endif

要件

要件
対象プラットフォーム Windows
ヘッダー dbghelp.h
Library Dbghelp.lib
[DLL] Dbghelp.dll
再頒布可能パッケージ DbgHelp.dll 5.1 以降

こちらもご覧ください

DbgHelp 関数

FPO_DATA

IMAGE_FUNCTION_ENTRY

SymInitialize

_IMAGE_RUNTIME_FUNCTION_ENTRY