ICLRDomainManager::SetAppDomainManagerType 方法

指定将用来初始化默认应用程序域的应用程序域管理器的类型(派生自 System.AppDomainManager 类)。

语法

HRESULT SetAppDomainManagerType(  
    [in] LPCWSTR wszAppDomainManagerAssembly,  
    [in] LPCWSTR wszAppDomainManagerType,  
    [in] EInitializeNewDomainFlags dwInitializeDomainFlags  
);  

参数

wszAppDomainManagerAssembly
[in] 包含应用程序域管理器类型的程序集的显示名称;例如:“AdMgrExample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6856bccf150f00b3”。

wszAppDomainManagerType
[in] 应用程序域管理器的类型名称,包括命名空间。

dwInitializeDomainFlags
[in] EInitializeNewDomainFlags 枚举值组合,这些值提供有关应用程序域管理器的信息。

返回值

此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。

HRESULT 说明
S_OK 该方法已成功完成。
HOST_E_CLRNOTAVAILABLE 公共语言运行时 (CLR) 未加载到进程中,或 CLR 处于无法运行托管代码或成功处理调用的状态。

备注

目前,dwInitializeDomainFlags 的唯一定义值为 eInitializeNewDomainFlags_NoSecurityChanges,可告知公共语言运行时 (CLR),应用程序域管理器在执行 AppDomainManager.InitializeNewDomain 方法期间不会修改安全设置。 支持 CLR 对具有条件 AllowPartiallyTrustedCallersAttribute (APTCA) 属性的程序集加载进行优化。 如果此程序集组的传递闭包较大,则可能显著改善启动时间。

重要

如果主机为应用程序域管理器指定 eInitializeNewDomainFlags_NoSecurityChanges,则如果尝试修改应用程序域的安全性,就会引发 InvalidOperationException

调用 ICLRControl::SetAppDomainManagerType 方法等同于使用 eInitializeNewDomainFlags_None 调用 ICLRDomainManager::SetAppDomainManagerType

要求

平台:请参阅系统要求

标头:MetaHost.h

库:作为资源包含在 MSCorEE.dll 中

.NET Framework 版本:自 4 起可用

另请参阅