更新されたプラットフォーム
必要に応じて、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