Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обрабатывает регистрацию клиентов для использования потока.
Синтаксис
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с добавлением передачи рабочего элемента, который всегда будет помещен в очередь. Это необходимо использовать с KsIncrementCountedWorker и KsDecrementCountedWorker, чтобы свести к минимуму количество рабочих элементов в очереди и уменьшить количество кодов взаимного исключения, необходимых для сериализации доступа к нескольким потокам рабочих элементов. Очередь рабочей роли по-прежнему может использоваться для очередей других рабочих элементов. Это может вызываться только в PASSIVE_LEVEL.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Всеобщий |
| заголовка | ks.h (include Ks.h) |
| библиотеки | Ks.lib |