IDiaDataSource::loadDataForExe

Verrà aperto e scrive i dati di debug associati al file di .exe/.dll.

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

Parametri

Valore restituito

Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.Nella seguente tabella vengono illustrati alcuni dei codici di errore possibili di questo metodo.

Valore

Descrizione

E_PDB_NOT_FOUND

Non riuscire aprire il file, il file o ha un formato non valido.

E_PDB_FORMAT

Ha tentato di accedere a un file con un formato obsoleto.

E_PDB_INVALID_SIG

La firma non corrisponde.

E_PDB_INVALID_AGE

L'età non corrisponde.

E_INVALIDARG

parametro non valido.

E_UNEXPECTED

L'origine dati è già stata preparare.

Note

L'intestazione di debug dei nomi file di .exe/.dll la posizione associata di dati di debug.

Questo metodo legge l'intestazione di debug e quindi cerca e scrive i dati di debug.Lo stato di avanzamento della ricerca può, facoltativamente, essere denominato e archiviato con i callback.Ad esempio, IDiaLoadCallback::NotifyDebugDir viene richiamato quando IDiaDataSource::loadDataForExe individuare i processi di metodo una directory debug.

IDiaReadExeAtOffsetCallback e IDiaReadExeAtRVACallback le interfacce consentono l'applicazione client forniscono metodi alternativi per la lettura dei dati del file eseguibile quando il file non è possibile accedervi direttamente con l'I/O di file standard.

Per caricare un file con estensione pdb senza convalida, utilizzare IDiaDataSource::loadDataFromPdb metodo.

Per convalidare il file pdb in base a criteri specifici, utilizzare IDiaDataSource::loadAndValidateDataFromPdb metodo.

Per caricare un file con estensione pdb direttamente dalla memoria, utilizzare IDiaDataSource::loadDataFromIStream metodo.

Esempio

class MyCallBack: public IDiaLoadCallback
{
...
};
MyCallBack callback;
...
HRESULT hr = pSource->loadDataForExe( L"myprog.exe", L".\debug", (IUnknown*)&callback);
if (FAILED(hr))
{
    // Report error
}

Vedere anche

Riferimenti

IDiaDataSource

IDiaLoadCallback

IDiaLoadCallback2

IDiaLoadCallback::NotifyDebugDir

IDiaReadExeAtOffsetCallback

IDiaReadExeAtRVACallback

IDiaDataSource::loadDataFromPdb

IDiaDataSource::loadAndValidateDataFromPdb

IDiaDataSource::loadDataFromIStream