Функция KsRegisterWorker (ks.h)

Функция KsRegisterWorker обрабатывает клиенты, регистрируемые для использования потока. Функция может создать новый поток с указанным приоритетом, если в настоящее время нет доступных свободных потоков. Это должно соответствовать соответствующему объекту KsUnregisterWorker при завершении использования потока. Функция может вызываться только в PASSIVE_LEVEL.

typedef PVOID PKSWORKER;

Рабочие подпрограммы работают с непрозрачными объектами PKSWORKER, которые создаются для каждого рабочего элемента, помещенного в очередь одновременно.

Синтаксис

KSDDKAPI NTSTATUS KsRegisterWorker(
  [in]  WORK_QUEUE_TYPE WorkQueueType,
  [out] PKSWORKER       *Worker
);

Параметры

[in] WorkQueueType

Указывает приоритет создаваемого потока. Обычно это CriticalWorkQueue, DelayedWorkQueue или HyperCriticalWorkQueue.

[out] Worker

Расположение для размещения непрозрачного контекста, который необходимо использовать при планировании рабочего элемента. Он содержит тип очереди и используется для синхронизации завершения рабочих элементов.

Возвращаемое значение

Функция KsRegisterWorker возвращает STATUS_SUCCESS, если рабочая роль была инициализирована, или в случае сбоя функция возвращает ошибку потока или параметра.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ks.h (включая Ks.h)
Библиотека Ks.lib