3

クラス メソッドのアドレスを見つけるために dbghelp を使用しようとしています。たとえば、DirectX メソッド (DXGI): dxgi!CDXGIFactory::CreateSwapChainImpl

正しいシンボルがあり、_NT_SYMBOLS_PATH が定義されています。WinDBG を使用すると、次の「x」コマンドが正常に機能します。

0:000> x dxgi!CDXGIFactory::CreateSwapChain
6acb78ce          dxgi!CDXGIFactory::CreateSwapChain (<no parameter info>)
6acdaf69          dxgi!CDXGIFactory::CreateSwapChain (<no parameter info>)

ただし、この文字列を SymFromName で使用しようとすると、エラー 1168 (要素が見つかりません) が発生します。

result = SymFromName( hprocess, L"dxgi!CDXGIFactory::CreateSwapChain", &symbol )
// result is false, GetLastError is 1168

「::」が原因で失敗するのでしょうか、それとも同じシンボルに 2 つのアドレスがあるために失敗するのでしょうか (どうすれば回避できますか?)。

4

1 に答える 1