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