Méthode IDebugHostSymbols ::EnumerateModules (dbgmodel.h)
La méthode EnumerateModules crée un énumérateur qui énumère chaque module disponible dans un contexte hôte particulier. Ce contexte hôte peut encapsuler un contexte de processus ou peut encapsuler quelque chose comme le noyau Windows.
Syntaxe
HRESULT EnumerateModules(
IDebugHostContext *context,
IDebugHostSymbolEnumerator **moduleEnum
);
Paramètres
context
Contexte hôte pour lequel énumérer chaque module chargé.
moduleEnum
Un énumérateur qui énumère chaque module chargé dans le contexte donné est retourné ici.
Valeur retournée
Cette méthode retourne HRESULT qui indique la réussite ou l’échec.
Remarques
Exemple de Code
ComPtr<IDebugHost> spHost; /* get the host */
ComPtr<IDebugHostSymbols> spSym;
if (SUCCEEDED(spHost.As(&spSym)))
{
// Enumerate all modules in the current UI context (process) of the debug host:
ComPtr<IDebugHostSymbolEnumerator> spEnum;
if (SUCCEEDED(spSym->EnumerateModules(USE_CURRENT_HOST_CONTEXT, &spEnum)))
{
HRESULT hr = S_OK;
while (SUCCEEDED(hr))
{
ComPtr<IDebugHostSymbol> spModSym;
hr = spEnum->GetNext(&spModSym);
if (SUCCEEDED(hr))
{
ComPtr<IDebugHostModule> spModule;
if (SUCCEEDED(spModSym.As(&spModule))) /* should always succeed */
{
// spModule is one of the modules in the current
// UI context (process) of the debug host
}
}
}
// hr == E_BOUNDS : hit the end of the enumerator
// hr == E_ABORT : a user interrupt was requested /
// propagate upwards immediately
}
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |