KsRegisterCountedWorker 函数 (ks.h)

处理注册以使用线程的客户端。

语法

KSDDKAPI NTSTATUS KsRegisterCountedWorker(
  [in]  WORK_QUEUE_TYPE  WorkQueueType,
  [in]  PWORK_QUEUE_ITEM CountedWorkItem,
  [out] PKSWORKER        *Worker
);

参数

[in] WorkQueueType

包含工作线程的优先级。 这通常是以下项之一:CriticalWorkQueue、DelayedWorkQueue 或 HyperCriticalWorkQueue。

[in] CountedWorkItem

包含一个指针,指向将根据需要根据当前计数值排队的工作队列项。

[out] Worker

包含计划工作项时必须使用的不透明上下文。 还包含队列类型,用于同步工作项的完成。

返回值

如果初始化了辅助角色,则返回STATUS_SUCCESS。

言论

完成线程使用时,必须匹配相应的 KsUnregisterWorker。 此函数类似于 KsRegisterWorker ,并添加了传递始终排队的工作项。 这与 KsIncrementCountedWorkerKsDecrementCountedWorker 一起使用,以便最大程度地减少排队的工作项数,并减少序列化针对多个工作项线程的访问所需的工作项所需的相互排除代码。 辅助角色队列仍可用于对其他工作项进行排队。 这只能在PASSIVE_LEVEL调用。

要求

要求 价值
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib