通过


ICLRRuntimeHost::ExecuteInAppDomain 方法

指定要 AppDomain 在其中执行指定的托管代码。

Syntax

HRESULT ExecuteInAppDomain(
    [in] DWORD AppDomainId,
    [in] FExecuteInDomainCallback pCallback,
    [in] void* cookie
);

参数

AppDomainId [in]要在其中执行指定方法的数值 ID AppDomain

pCallback [in]指向在指定 AppDomain内执行的函数的指针。

cookie [in]指向不透明调用方分配的内存的指针。 此参数由公共语言运行时 (CLR) 传递给域回调。 它不是运行时管理的堆内存;此内存的分配和生存期均由调用方控制。

返回值

HRESULT 说明
S_OK ExecuteInAppDomain 已成功返回。
HOST_E_CLRNOTAVAILABLE CLR 尚未加载到进程中,或者 CLR 处于无法运行托管代码或成功处理调用的状态。
HOST_E_TIMEOUT 调用超时。
HOST_E_NOT_OWNER 调用方不拥有锁。
HOST_E_ABANDONED 当阻塞的线程或光纤正在等待该事件时,事件已取消。
E_FAIL 发生了未知的灾难性故障。 如果方法返回E_FAIL,则 CLR 在进程中不再可用。 对宿主方法的后续调用返回HOST_E_CLRNOTAVAILABLE。

注解

ExecuteInAppDomain 允许主机控制应在哪个托管方法中执行托管 AppDomain 方法。 可以通过调用 GetCurrentAppDomainId 方法获取应用程序域标识符的值,该标识符对应于属性的值Id

要求

平台:请参阅系统要求

页眉: MSCorEE.h

图书馆: 作为资源包含在 MSCorEE.dll

.NET Framework 版本: 自 2.0 起可用

另见