Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Verrà aperto e scrive i dati di debug associati al file di .exe/.dll.
HRESULT loadDataForExe (
LPCOLESTR executable,
LPCOLESTR searchPath,
IUnknown* pCallback
);
Parametri
executable
[in] Percorso del file exe o al file DLL.searchPath
[in] Percorso alternativo per trovare i dati di debug.pCallback
[in] IUnknown interfaccia per un oggetto che supporta un'interfaccia di callback di debug, ad esempio IDiaLoadCallback, IDiaLoadCallback2, IDiaReadExeAtOffsetCallbacke/o IDiaReadExeAtRVACallback interfacce.
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
IDiaLoadCallback::NotifyDebugDir
IDiaDataSource::loadDataFromPdb