Udostępnij przez


IDebugExpressionEvaluator2::PreloadModules

Wstępnie ładuje moduły wyznaczone przez określonego dostawcę symboli.

Składnia

int PreloadModules (
    IDebugSymbolProvider pSym
);

Parametry

pSym
[in] Dostawca symboli, dla którego moduły zostaną wstępnie załadowane.

Wartość zwracana

Jeśli operacja powiedzie się, zwraca wartość S_OK; w przeciwnym razie zwraca kod błędu.

Uwagi

Ta opcjonalna metoda jest używana podczas dołączania procesu hostingu. Daje EE szansę "rozgrzewki" w ramach dołączenia.

Przykład

W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla obiektu ExpressionEvaluatorPackage , który uwidacznia interfejs 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;
}

Zobacz też