Condividi tramite


IDebugExpressionEvaluator2:: PreloadModules

Precarica i moduli indicati dal provider specificato del simbolo.

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

Parametri

  • pSym
    [in] Il provider dei simboli per il quale i moduli viene precaricato.

Valore restituito

Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.

Note

Questo metodo facoltativo viene utilizzato durante la disconnessione del processo di hosting. Fornisce all'EE una probabilità “scaldarsi„ come parte della connessione.

Esempio

Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto di ExpressionEvaluatorPackage che espone IDebugExpressionEvaluator2 l'interfaccia.

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

Vedere anche

Riferimenti

IDebugExpressionEvaluator2