Função KsRegisterCountedWorker (ks.h)
Lida com clientes que se registram para uso de um thread.
Sintaxe
KSDDKAPI NTSTATUS KsRegisterCountedWorker(
[in] WORK_QUEUE_TYPE WorkQueueType,
[in] PWORK_QUEUE_ITEM CountedWorkItem,
[out] PKSWORKER *Worker
);
Parâmetros
[in] WorkQueueType
Contém a prioridade do thread de trabalho. Normalmente, esse é um dos seguintes: CriticalWorkQueue, DelayedWorkQueue ou HyperCriticalWorkQueue.
[in] CountedWorkItem
Contém um ponteiro para o item da fila de trabalho que será enfileirado conforme necessário com base no valor de contagem atual.
[out] Worker
Contém o contexto opaco que deve ser usado ao agendar um item de trabalho. Também contém o tipo de fila e é usado para sincronizar a conclusão de itens de trabalho.
Retornar valor
Retorna STATUS_SUCCESS se um trabalho foi inicializado.
Comentários
Isso deve ser correspondido por um KsUnregisterWorker correspondente quando o uso do thread é concluído. Essa função é semelhante a KsRegisterWorker, com a adição de passar o item de trabalho que sempre será enfileirado. Isso deve ser usado com KsIncrementCountedWorker e KsDecrementCountedWorker para minimizar o número de itens de trabalho enfileirados e reduzir o código de exclusão mútua necessário em um item de trabalho necessário para serializar o acesso em vários threads de item de trabalho. A fila de trabalho ainda pode ser usada para enfileirar outros itens de trabalho. Isso só pode ser chamado em PASSIVE_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |