IDebugHostSymbols::EnumerateModules-Methode (dbgmodel.h)
Die EnumerateModules-Methode erstellt einen Enumerator, der jedes Modul aufzählt, das in einem bestimmten Hostkontext verfügbar ist. Dieser Hostkontext kann einen Prozesskontext kapseln oder etwas wie den Windows-Kernel kapseln.
Syntax
HRESULT EnumerateModules(
IDebugHostContext *context,
IDebugHostSymbolEnumerator **moduleEnum
);
Parameter
context
Der Hostkontext, für den jedes geladene Modul aufgezählt werden soll.
moduleEnum
Hier wird ein Enumerator zurückgegeben, der jedes in den angegebenen Kontext geladene Modul aufzählt.
Rückgabewert
Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt.
Hinweise
Beispielcode
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
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |