다음을 통해 공유


IDiaDataSource::loadDataForExe

열리고.exe/.dll 파일과 관련 된 디버그 데이터를 준비 합니다.

HRESULT loadDataForExe (
   LPCOLESTR executable,
   LPCOLESTR searchPath,
   IUnknown* pCallback
);

매개 변수

반환 값

성공 하면 반환 S_OK. 그렇지 않으면 오류 코드를 반환 합니다.다음 표는 가능한 오류 코드에 대해이 메서드 중 일부를 보여 줍니다.

설명

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 메서드를 찾아 디버그 디렉터리를 처리 합니다.

IDiaReadExeAtOffsetCallbackIDiaReadExeAtRVACallback 인터페이스는 표준 파일 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
}

참고 항목

참조

IDiaDataSource

IDiaLoadCallback

IDiaLoadCallback2

IDiaLoadCallback::NotifyDebugDir

IDiaReadExeAtOffsetCallback

IDiaReadExeAtRVACallback

IDiaDataSource::loadDataFromPdb

IDiaDataSource::loadAndValidateDataFromPdb

IDiaDataSource::loadDataFromIStream