Freigeben über


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

Weitere Informationen

IDebugHostSymbols-Schnittstelle