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)
Library Ks.lib