Partilhar via


IDebugExpressionEvaluator2::PreloadModules

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

HRESULT PreloadModules (
   IDebugSymbolProvider* pSym
);
int PreloadModules (
   IDebugSymbolProvider pSym
);

Parâmetros

  • pSym
    [in] Provedor de símbolo para o qual os módulos serão pré-carregadas.

Valor de retorno

Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.

Comentários

Esse método opcional é usado quando você fizer a anexar um processo de hospedagem. Ele dá a EE uma chance de ' aquecida ' como parte do attach.

Exemplo

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

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

Consulte também

Referência

IDebugExpressionEvaluator2