IDiaDataSource::loadDataForExe
を開き.exe/.dll ファイルに関連付けられているデバッグ データを準備します。
HRESULT loadDataForExe (
LPCOLESTR executable,
LPCOLESTR searchPath,
IUnknown* pCallback
);
パラメーター
実行可能ファイル
[入力] .exe ファイルまたは .dll ファイルへのパス。searchPath
[入力] デバッグ データを検索する代替パス。pCallback
[入力] IDiaLoadCallbackIDiaLoadCallback2IDiaReadExeAtOffsetCallbackまたは IDiaReadExeAtRVACallback のインターフェイスなどのデバッグのコールバック インターフェイスをサポートするオブジェクトの IUnknown のインターフェイス。
戻り値
正常に終了した場合戻り S_OK; それ以外の場合はエラー コード。 次の表はこのメソッドの使用可能なエラー コードの一部を示しています。
値 |
Description |
---|---|
E_PDB_NOT_FOUND |
ファイルを開きますいないかファイルに無効な書式指定があります。 |
E_PDB_FORMAT |
旧式の形式のファイルにアクセスしようとしました。 |
E_PDB_INVALID_SIG |
シグネチャが一致しません。 |
E_PDB_INVALID_AGE |
年齢が一致しません。 |
E_INVALIDARG |
無効なパラメーター。 |
E_UNEXPECTED |
データ ソースが既に用意されています。 |
解説
.exe/.dll ファイル名のデバッグ ヘッダー関連付けられたデバッグ データの位置。
次にこのメソッドはデバッグのヘッダーを読み取りおよびは検索およびデバッグ データを準備します。 検索の進行状況はコールバックによってオプションで報告制御される場合があります。 たとえばIDiaLoadCallback::NotifyDebugDir は IDiaDataSource::loadDataForExe のメソッドがデバッグ ディレクトリを探して処理するときです。
IDiaReadExeAtOffsetCallback と IDiaReadExeAtRVACallback のインターフェイスはファイルが標準のファイル I/O に直接アクセスできない場合に実行可能ファイルからのデータの読み込みの代替メソッドを提供するクライアント アプリケーションができます。
検証せずに .pdb ファイルを読み込むにはIDiaDataSource::loadDataFromPdb のメソッドを使用します。
特定の条件に対して .pdb ファイルを検証するにはIDiaDataSource::loadAndValidateDataFromPdb のメソッドを使用します。
メモリの .pdb ファイルを直接読み込むにはIDiaDataSource::loadDataFromIStream のメソッドを使用します。
使用例
class MyCallBack: public IDiaLoadCallback
{
...
};
MyCallBack callback;
...
HRESULT hr = pSource->loadDataForExe( L"myprog.exe", L".\debug", (IUnknown*)&callback);
if (FAILED(hr))
{
// Report error
}
参照
関連項目
IDiaLoadCallback::NotifyDebugDir
IDiaDataSource::loadDataFromPdb