Partager via


IDiaDataSource::loadDataForExe

Ouvre et prépare les données de débogage associées au fichier de .exe/.dll.

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

Paramètres

Valeur de retour

En cas de réussite, retourne S_OK; sinon, retourne un code d'erreur. Le tableau suivant répertorie certains des codes d'erreur possibles de cette méthode.

Valeur

Description

E_PDB_NOT_FOUND

pour ouvrir le fichier, ou le fichier a un format valide.

E_PDB_FORMAT

Tenté d'accéder à un fichier par un format obsolète.

E_PDB_INVALID_SIG

La signature ne correspond pas.

E_PDB_INVALID_AGE

L'âge ne correspond pas.

E_INVALIDARG

paramètre non valide.

E_UNEXPECTED

La source de données a déjà été préparée.

Notes

L'en-tête de débogage des noms de fichiers de .exe/.dll la colocalisation des données associée au débogage.

Cette méthode lit l'en-tête puis les recherches de débogage pour et prépare les données de débogage. La progression de la recherche peut, éventuellement, être stockée et contrôlée par les rappels. Par exemple, IDiaLoadCallback::NotifyDebugDir est appelé lorsque la méthode d' IDiaDataSource::loadDataForExe recherche et traite un répertoire debug.

Les interfaces d' IDiaReadExeAtOffsetCallback et d' IDiaReadExeAtRVACallback permettent l'application cliente de fournir d'autres méthodes pour lire des données à partir de le fichier exécutable lorsque le fichier n'est pas accessible directement via l'E/S de fichier standard.

Pour charger un fichier .pdb sans validation, utilisez la méthode d' IDiaDataSource::loadDataFromPdb .

Pour valider le fichier .pdb à des critères spécifiques, utilisez la méthode d' IDiaDataSource::loadAndValidateDataFromPdb .

Pour charger un fichier .pdb directement de mémoire, utilisez la méthode d' IDiaDataSource::loadDataFromIStream .

Exemple

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

Voir aussi

Référence

IDiaDataSource

IDiaLoadCallback

IDiaLoadCallback2

IDiaLoadCallback::NotifyDebugDir

IDiaReadExeAtOffsetCallback

IDiaReadExeAtRVACallback

IDiaDataSource::loadDataFromPdb

IDiaDataSource::loadAndValidateDataFromPdb

IDiaDataSource::loadDataFromIStream