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 er kapselt etwas wie den Windows-Kernel.

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 Erfolg oder Fehler angibt.

Bemerkungen

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

Siehe auch

IDebugHostSymbols-Schnittstelle