SymRegisterCallback 関数 (dbghelp.h)
シンボル ハンドラーで使用するコールバック関数を登録します。
構文
BOOL IMAGEAPI SymRegisterCallback(
[in] HANDLE hProcess,
[in] PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
[in] PVOID UserContext
);
パラメーター
[in] hProcess
SymInitialize 関数に最初に渡されたプロセスへのハンドル。
[in] CallbackFunction
SymRegisterCallbackProc64 コールバック関数。
[in] UserContext
ユーザー定義値または NULL。 この値は、単にコールバック関数に渡されます。 通常、このパラメーターは、コールバック関数がコンテキストを確立できるようにするデータ構造へのポインターを渡すためにアプリケーションによって使用されます。
戻り値
関数が成功した場合、戻り値は TRUE になります。
関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報を取得するには、 GetLastError を呼び出します。
注釈
SymRegisterCallback64 関数を使用すると、アプリケーションはシンボル ハンドラーで使用するコールバック関数を登録できます。 シンボル ハンドラーは、アプリケーションの状態または進行状況の情報がある場合に、登録済みのコールバック関数を呼び出します。
この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義します。 SymRegisterCallbackW64 は、Dbghelp.h で次のように定義されています。
BOOL
IMAGEAPI
SymRegisterCallbackW64(
__in HANDLE hProcess,
__in PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
__in ULONG64 UserContext
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymRegisterCallback64 SymRegisterCallbackW64
#endif
この関数は SymRegisterCallback 関数よりも優先されます。 詳細については、「 プラットフォーム サポートの更新」を参照してください。 SymRegisterCallback は、Dbghelp.h で次のように定義されています。
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymRegisterCallback SymRegisterCallback64
#else
BOOL
IMAGEAPI
SymRegisterCallback(
__in HANDLE hProcess,
__in PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
__in_opt PVOID UserContext
);
#endif
より広範な例については、「 通知の取得」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | dbghelp.h |
Library | Dbghelp.lib |
[DLL] | Dbghelp.dll |
再頒布可能パッケージ | DbgHelp.dll 5.1 以降 |