Compartilhar via


IDebugExpressionEvaluator2::PreloadModules

Pré-carrega os módulos designados pelo provedor de símbolos especificado.

Sintaxe

int PreloadModules (
    IDebugSymbolProvider pSym
);

Parâmetros

pSym
[em] Provedor de símbolos para o qual os módulos serão pré-carregados.

Valor de retorno

Se tiver êxito, retornará S_OK. Caso contrário, retornará um código de erro.

Comentários

Esse método opcional é usado quando você faz uma anexação de processo de hospedagem. Dá ao EE a chance de "aquecer" como parte do anexo.

Exemplo

O exemplo a seguir mostra como implementar esse método para um objeto ExpressionEvaluatorPackage que expõe a interface IDebugExpressionEvaluator2 .

STDMETHODIMP ExpressionEvaluatorPackage::PreloadModules
(
    IDebugSymbolProvider *pSym
)
{
    HRESULT hr = NOERROR;
    RuntimeMemberDescriptor  * prtMemberDesc;
    RuntimeClassDescriptor *prtClassDesc;
    CComPtr<IDebugClassField> pClassField;
    IfFalseGo(pSym,E_INVALIDARG);

    prtMemberDesc = &(g_rgRTLangMembers[StandardModuleAttributeCtor]);
    prtClassDesc = &(g_rgRTLangClasses[prtMemberDesc->rtParent]);
    pSym->GetClassTypeByName(prtClassDesc->wszClassName, nmCaseSensitive, &pClassField);

    pClassField = NULL;
    prtMemberDesc = &(g_rgRTLangMembers[LoadAssembly]);
    prtClassDesc = &(g_rgRTLangClasses[prtMemberDesc->rtParent]);
    pSym->GetClassTypeByName(prtClassDesc->wszClassName, nmCaseSensitive, &pClassField);

Error:
    return hr;
}

Confira também