다음을 통해 공유


IDebugHostSymbols::EnumerateModules 메서드(dbgmodel.h)

EnumerateModules 메서드는 특정 호스트 컨텍스트에서 사용할 수 있는 모든 모듈을 열거하는 열거자를 만듭니다. 해당 호스트 컨텍스트는 프로세스 컨텍스트를 캡슐화하거나 Windows 커널과 같은 항목을 캡슐화할 수 있습니다.

구문

HRESULT EnumerateModules(
  IDebugHostContext          *context,
  IDebugHostSymbolEnumerator **moduleEnum
);

매개 변수

context

로드된 모든 모듈을 열거할 호스트 컨텍스트입니다.

moduleEnum

지정된 컨텍스트에 로드된 모든 모듈을 열거하는 열거자가 여기에 반환됩니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

설명

예제 코드

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
    }
}

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDebugHostSymbols 인터페이스