プラットフォーム サポートの更新
必要に応じて、DbgHelp ライブラリは、32 ビットと 64 ビットの両方の Windows をサポートするように拡張されています。 元の関数と構造体の定義は引き続き DbgHelp.h にありますが、64 ビット Windows と互換性のあるこれらの定義の更新バージョンもあります。 コードで更新された関数を使用する場合は、32 ビットと 64 ビットの両方の Windows 用にコンパイルできます。 元の関数は更新された関数を呼び出して作業を実行するだけなので、コードの効率も向上します。
たとえば、DbgHelp.h には、SymUnloadModule (元の関数) と SymUnloadModule64 (更新された関数) の定義が含まれています。 これらの定義はほぼ同じですが、BaseOfDll パラメーターには異なる型を使用します。 (SymUnloadModule は DWORD 型を使用し、SymUnloadModule64 では DWORD64 型を使用します)。SymUnloadModule64 使用するコードを記述する場合は、32 ビットと 64 ビットの両方の Windows 用にコンパイルできます。 このコードは、SymUnloadModule 呼び出す場合よりも効率的です。
更新された関数の一覧を次に示します。
EnumerateLoadedModules64
StackWalk64
SymEnumerateModules64
SymEnumerateSymbols64
SymFunctionTableAccess64
SymGetLineFromAddr64
SymGetLineFromName64
SymGetLineNext64
SymGetLinePrev64
SymGetModuleBase64
SymGetModuleInfo64
SymGetSymFromAddr64
SymGetSymFromName64
SymGetSymNext64
SymGetSymPrev64
SymLoadModule64
SymRegisterCallback64
SymRegisterFunctionEntryCallback64
SymUnDName64
SymUnloadModule64
更新された構造体の一覧を次に示します。
ADDRESS64
IMAGEHLP_DEFERRED_SYMBOL_LOAD64
IMAGEHLP_DUPLICATE_SYMBOL64
IMAGEHLP_LINE64
IMAGEHLP_MODULE64
IMAGEHLP_SYMBOL64
KDHELP64
STACKFRAME64