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