Función KsRegisterCountedWorker (ks.h)

Controla los clientes que se registran para su uso de un subproceso.

Sintaxis

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

Parámetros

[in] WorkQueueType

Contiene la prioridad del subproceso de trabajo. Esto suele ser uno de los siguientes: CriticalWorkQueue, DelayedWorkQueue o HyperCriticalWorkQueue.

[in] CountedWorkItem

Contiene un puntero al elemento de cola de trabajo que se pondrá en cola según sea necesario en función del valor de recuento actual.

[out] Worker

Contiene el contexto opaco que se debe usar al programar un elemento de trabajo. También contiene el tipo de cola y se usa para sincronizar la finalización de los elementos de trabajo.

Valor devuelto

Devuelve STATUS_SUCCESS si se inicializó un trabajo.

Comentarios

Debe coincidir con un KsUnregisterWorker correspondiente cuando se completa el uso de subprocesos. Esta función es similar a KsRegisterWorker, con la adición de pasar el elemento de trabajo que siempre se pondrá en cola. Esto se usará con KsIncrementCountedWorker y KsDecrementCountedWorker con el fin de minimizar el número de elementos de trabajo en cola y reducir el código de exclusión mutua necesario en un elemento de trabajo necesario para serializar el acceso en varios subprocesos de elementos de trabajo. La cola de trabajo todavía se puede usar para poner en cola otros elementos de trabajo. Esto solo puede llamarse en PASSIVE_LEVEL.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ks.h (incluya Ks.h)
Library Ks.lib