CreateUmsCompletionList 函数 (winbase.h)
(UMS) 完成列表创建用户模式计划。
警告
自Windows 11起,不支持用户模式计划。 所有调用都失败,并出现错误 ERROR_NOT_SUPPORTED
。
语法
BOOL CreateUmsCompletionList(
[out] PUMS_COMPLETION_LIST *UmsCompletionList
);
参数
[out] UmsCompletionList
PUMS_COMPLETION_LIST变量。 输出时,此参数接收指向空 UMS 完成列表的指针。
返回值
如果函数成功,则返回非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
没有足够的内存可用于创建完成列表。 |
|
不支持 UMS。 |
注解
调用 EnterUmsSchedulingMode 函数来创建计划程序线程时,完成列表与 UMS 计划程序线程相关联。 系统将新创建的 UMS 工作线程排到完成列表。 当线程不再受阻时,它还会将以前阻止的 UMS 工作线程排入完成列表。
调用应用程序的 UmsSchedulerProc 入口点函数时,应用程序的计划程序应通过调用 DequeueUmsCompletionListItems 从完成列表中检索项。
每个完成列表都有一个关联的完成列表事件,每当系统将项排入空列表时,该事件都会发出信号。 使用 GetUmsCompletionListEvent 获取指定完成列表的事件句柄。
不再需要完成列表时,请使用 DeleteUmsCompletionList 释放该列表。 列表必须为空,然后才能释放。
要求
最低受支持的客户端 | 仅 Windows 7 (64 位) [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |
API 集 | windows 7 中引入的 api-ms-win-core-ums-l1-1-0 () |