Método IDebugHostSymbols::EnumerateModules (dbgmodel.h)
O método EnumerateModules cria um enumerador que enumerará todos os módulos disponíveis em um contexto de host específico. Esse contexto de host pode encapsular um contexto de processo ou encapsular algo como o kernel do Windows.
Sintaxe
HRESULT EnumerateModules(
IDebugHostContext *context,
IDebugHostSymbolEnumerator **moduleEnum
);
Parâmetros
context
O contexto do host para o qual enumerar cada módulo carregado.
moduleEnum
Um enumerador que enumerará cada módulo carregado no contexto especificado será retornado aqui.
Retornar valor
Esse método retorna HRESULT que indica êxito ou falha.
Comentários
Código de exemplo
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
}
}
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | dbgmodel.h |