Freigeben über


IDebugExpressionEvaluator2::PreloadModules

Vorab Module laden, auf die vom angegebenen Symbol für festgelegt werden.

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

Parameter

  • pSym
    [in] Symbol für, für den die Module vorab geladen werden.

Rückgabewert

Bei Erfolg gibt S_OKzurück. andernfalls gibt einen Fehlercode zurück.

Hinweise

Diese optionale Methode wird verwendet, wenn Sie eine Hosting PROCESS-Befestigung ausführen. Es gibt der EE eine Möglichkeit als Teil der Anfügen „aufzuwärmen“.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie diese Methode für ein ExpressionEvaluatorPackage-Objekt implementiert, das die IDebugExpressionEvaluator2-Schnittstelle verfügbar macht.

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

Siehe auch

Referenz

IDebugExpressionEvaluator2