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) 尚未加载到进程中或者处于无法运行托管代码或成功处理调用的状态。

备注

目前,dwInitializeDomainFlags 唯一定义的值为 eInitializeNewDomainFlags_NoSecurityChanges,它会告知公共语言运行库 (CLR),应用程序域管理器将不会在 AppDomainManager.InitializeNewDomain 方法的执行过程中修改安全设置。 这也可让 CLR 优化程序集的加载,其具有条件 AllowPartiallyTrustedCallersAttribute (APTCA) 特性。 如果此组程序集的传递闭包很大,则会在启动时间导致一个显著的改进。

重要说明重要事项

如果主机为应用程序域管理器指定了 eInitializeNewDomainFlags_NoSecurityChanges,则在尝试修改应用程序域的安全性时会显示 InvalidOperationException

调用 ICLRControl::SetAppDomainManagerType 方法与用 eInitializeNewDomainFlags_None 调用 ICLRDomainManager::SetAppDomainManagerType 等效。

要求

**平台:**请参见 .NET Framework 系统要求

头文件: MetaHost.h

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

**.NET Framework 版本:**4

请参见

其他资源

承载(非托管 API 参考)

ICLRDomainManager 接口

EInitializeNewDomainFlags 枚举