CreateUmsCompletionList 函数 (winbase.h)

(UMS) 完成列表创建用户模式计划。

警告

自Windows 11起,不支持用户模式计划。 所有调用都失败,并出现错误 ERROR_NOT_SUPPORTED

语法

BOOL CreateUmsCompletionList(
  [out] PUMS_COMPLETION_LIST *UmsCompletionList
);

参数

[out] UmsCompletionList

PUMS_COMPLETION_LIST变量。 输出时,此参数接收指向空 UMS 完成列表的指针。

返回值

如果函数成功,则返回非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 可能的错误值包括以下内容。

返回代码 说明
ERROR_NOT_ENOUGH_MEMORY
没有足够的内存可用于创建完成列表。
ERROR_NOT_SUPPORTED
不支持 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 ()

另请参阅

DequeueUmsCompletionListItems

EnterUmsSchedulingMode

GetUmsCompletionListEvent