Partager via


IDebugExpressionEvaluator2::PreloadModules

Précharge les modules désignés par le fournisseur de symboles spécifié.

Syntaxe

int PreloadModules (
    IDebugSymbolProvider pSym
);

Paramètres

pSym
[in] Fournisseur de symboles pour lequel les modules seront préchargés.

Valeur de retour

En cas de réussite, retourne S_OK , sinon, retourne un code d'erreur.

Notes

Cette méthode facultative est utilisée lorsque vous effectuez une attachement de processus d’hébergement. Il donne à l’EE une chance de « réchauffer » dans le cadre de l’attachement.

Exemple

L’exemple suivant montre comment implémenter cette méthode pour un objet ExpressionEvaluatorPackage qui expose l’interface 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;
}

Voir aussi