ICLRTaskManager::CreateTask 方法
显式请求公共语言运行时 (CLR) 创建新任务。
HRESULT CreateTask (
[out] ICLRTask **pTask
);
参数
- pTask
[out] 一个指向新创建的 ICLRTask 的地址的指针;如果未能创建任务,则为 Null。
返回值
HRESULT |
说明 |
---|---|
S_OK |
该方法已成功返回。 |
HOST_E_CLRNOTAVAILABLE |
CLR 尚未加载到进程中或者处于无法运行托管代码或成功处理调用的状态。 |
HOST_E_TIMEOUT |
调用超时。 |
HOST_E_NOT_OWNER |
调用方不拥有锁。 |
HOST_E_ABANDONED |
事件在被阻止的线程或纤程正在等待它时被取消。 |
E_FAIL |
发生了未知的灾难性故障。 如果某方法返回 E_FAIL,CLR 便无法再在进程中使用。 对宿主方法的后续调用都将返回 HOST_E_CLRNOTAVAILABLE。 |
E_OUTOFMEMORY |
没有足够的内存可用于分配请求的资源。 |
备注
如果用户代码使用 System.Threading 命名空间中的类型创建线程,或者如果增加线程池的大小,则 CLR 将在初始化时自动创建一项新任务。 当非托管代码调用托管函数时它也会创建任务。
CreateTask 允许宿主显式请求 CLR 创建新任务。 例如,宿主可以调用此方法预先初始化数据结构。
重要事项 |
---|
新任务以挂起状态返回,并在宿主显式调用 IHostTask::Start 之前保持挂起状态。 |
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**MSCorEE.h
**库:**作为一项资源包含在 MSCorEE.dll 中
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0