Поделиться через


IDebugExpressionEvaluator2::PreloadModules

Предварительно загружает модули, назначенные указанным поставщиком символов.

Синтаксис

int PreloadModules (
    IDebugSymbolProvider pSym
);

Параметры

pSym
[in] Поставщик символов, для которого модули будут предварительно загружены.

Возвращаемое значение

В случае успешного выполнения возвращается S_OK; в противном случае возвращается код ошибки.

Замечания

Этот необязательный метод используется при присоединении процесса размещения. Он дает EE шанс "прогреть" в рамках подключения.

Пример

В следующем примере показано, как реализовать этот метод для объекта ExpressionEvaluatorPackage , предоставляющего интерфейс 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;
}

См. также