SymSearch

SymSearch 関数 (dbghelp.h) は、指定された条件に一致する PDB シンボルを検索する。

SymSearch hProcess, BaseOfDll, Index, SymTag, Mask, Address, EnumSymbolsCallback, UserContext, Options

hProcess : [intptr] プロセスのハンドル。このハンドルは事前に SymInitialize 関数に渡されている必要がある。
BaseOfDll : [int64] モジュールのベースアドレス。この値が 0 で Mask に感嘆符 (!) が含まれる場合、関数は複数モジュールを横断して検索する。この値が 0 で Mask に感嘆符が含まれない場合、関数は SymSetContext 関数で設定されたスコープを使用する。
Index : [int] シンボルを一意に識別する値。
SymTag : [int] PDB の分類。これらの値は Dbghelp.h の SymTagEnum 列挙型で定義されている。説明については PDB ドキュメントを参照のこと。
Mask : [str] 列挙対象のシンボル名を示すワイルドカード式。モジュール名を指定するには !mod 構文を使用する。
Address : [int64] シンボルのアドレス。
EnumSymbolsCallback : [int] シンボル情報を受け取る SymEnumSymbolsProc コールバック関数。
UserContext : [intptr] コールバック関数に渡されるユーザー定義の値、または NULL。通常、アプリケーションはこのパラメータを使用して、コールバック関数にコンテキストを提供するデータ構造へのポインタを渡す。
Options : [int] 関数の動作を制御するオプション。

(プラグイン / モジュール : dbghelp.dll)

解説

SymSearch 関数 (dbghelp.h) は、指定された条件に一致する PDB シンボルを検索する。

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

[備考]
この関数を含め、すべての DbgHelp
関数はシングルスレッドである。そのため複数のスレッドから同時に呼び出すと、予期しない動作やメモリ破壊を招く可能性が高い。これを避けるには、複数スレッドからの並行呼び出しをすべて同期する必要がある。この関数の
Unicode 版を呼び出すには DBGHELP_TRANSLATE_TCHAR を定義する。

情報

プラグイン / モジュールdbghelp.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の dbghelp.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_dbghelp_gen2.hs