次の方法で共有


IDebugExpressionEvaluator2::PreloadModules

指定したシンボル プロバイダーによって指定されたモジュールをプリロードします。

構文

int PreloadModules (
    IDebugSymbolProvider pSym
);

パラメーター

pSym
[in] モジュールがプリロードされるシンボル プロバイダー。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

解説

この省略可能なメソッドは、ホスト プロセスのアタッチを行うときに使用されます。 これにより、EE でアタッチの一部として "ウォームアップ" することができます。

次の例は、IDebugExpressionEvaluator2 インターフェイスを公開する ExpressionEvaluatorPackage オブジェクトに対してこのメソッドを実装する方法を示しています。

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

関連項目