Share via


IDebugExpressionEvaluator2::PreloadModules

Carga previamente los módulos designados por el proveedor de símbolos especificado.

Sintaxis

int PreloadModules (
    IDebugSymbolProvider pSym
);

Parámetros

pSym
[in] Proveedor de símbolos para el que se cargarán previamente los módulos.

Valor devuelto

Si la operación se realiza correctamente, devuelve S_OK; de lo contrario, devuelve un código de error.

Comentarios

Este método opcional se usa cuando se realiza una asociación de proceso de hospedaje. Da a la EE la oportunidad de "calentar" como parte de la asociación.

Ejemplo

En el ejemplo siguiente se muestra cómo implementar este método para un objeto ExpressionEvaluatorPackage que expone la interfaz 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;
}

Consulte también