Функция 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 |