シンボルテーブルを読み込む。(SymLoadModule64)
SymLoadModule64 hProcess, hFile, ImageName, ModuleName, BaseOfDll, SizeOfDll
hProcess : [intptr] プロセスのハンドル。このハンドルは事前に SymInitialize 関数に渡されている必要がある。 hFile : [intptr] 実行可能イメージファイルのハンドル。この引数は主にデバッガで使用され、デバッグイベントから取得したファイルハンドルを渡す。NULL を指定すると hFile は使用されない。 ImageName : [str] 実行可能イメージの名前。この名前には部分パス、フルパス、またはパスなしを指定できる。指定された名前でファイルが見つからない場合、シンボル検索パスが使用される。 ModuleName : [str] モジュールのショートカット名。ポインタ値が NULL の場合、ライブラリはシンボルファイルのベース名を用いて名前を生成する。 BaseOfDll : [int64] モジュールの読み込みアドレス。値が 0 の場合、ライブラリはシンボルファイルから読み込みアドレスを取得する。シンボルファイルに含まれる読み込みアドレスは、必ずしも実際の読み込みアドレスと一致するとは限らない。デバッガなど実際の読み込みアドレスを把握しているアプリケーションでは、この関数を呼び出す際に実際の読み込みアドレスを使用すべきである。イメージが .pdb ファイルの場合、このパラメータを 0 にすることはできない。 SizeOfDll : [int] モジュールのサイズ(バイト単位)。値が 0 の場合、ライブラリはシンボルファイルからサイズを取得する。シンボルファイルに含まれるサイズは、必ずしも実際のサイズと一致するとは限らない。デバッガなど実際のサイズを把握しているアプリケーションでは、この関数を呼び出す際に実際のサイズを使用すべきである。イメージが .pdb ファイルの場合、このパラメータを 0 にすることはできない。
(プラグイン / モジュール : dbghelp.dll)
シンボルテーブルを読み込む。(SymLoadModule64) [戻り値] 関数が成功した場合、戻り値は読み込まれたモジュールのベースアドレスである。関数が失敗した場合、戻り値は 0 である。拡張エラー情報を取得するには、GetLastError を呼び出す。モジュールがすでに読み込まれている場合、戻り値は 0 となり、GetLastError は ERROR_SUCCESS を返す。 [備考] シンボルハンドラはモジュールのエントリを作成する。遅延シンボル読み込みオプションが無効であれば、シンボルの読み込みが試みられる。遅延シンボル読み込みが有効な場合、モジュールは遅延状態としてマークされ、モジュール内のシンボルが参照されるまでシンボルは読み込まれない。シンボルテーブルを解放するには、SymUnloadModule64 関数を使用する。この関数を含め、すべての DbgHelp 関数はシングルスレッドである。そのため複数のスレッドから同時に呼び出すと、予期しない動作やメモリ破壊を招く可能性が高い。これを避けるには、複数スレッドからの並行呼び出しをすべて同期する必要がある。この関数は SymLoadModule 関数の後継である。詳細は Updated Platform Support を参照のこと。SymLoadModule は DbgHelp.h で次のように定義されている。 (以下省略)
| プラグイン / モジュール | dbghelp.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の dbghelp.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_dbghelp_gen2.hs |