Funzione KsRegisterCountedWorker (ks.h)
Gestisce la registrazione dei client per l'uso di un thread.
Sintassi
KSDDKAPI NTSTATUS KsRegisterCountedWorker(
[in] WORK_QUEUE_TYPE WorkQueueType,
[in] PWORK_QUEUE_ITEM CountedWorkItem,
[out] PKSWORKER *Worker
);
Parametri
[in] WorkQueueType
Contiene la priorità del thread di lavoro. Questo è normalmente uno dei seguenti: CriticalWorkQueue, DelayedWorkQueue o HyperCriticalWorkQueue.
[in] CountedWorkItem
Contiene un puntatore all'elemento della coda di lavoro che verrà accodato in base al valore del conteggio corrente.
[out] Worker
Contiene il contesto opaco che deve essere usato durante la pianificazione di un elemento di lavoro. Contiene anche il tipo di coda e viene usato per sincronizzare il completamento degli elementi di lavoro.
Valore restituito
Restituisce STATUS_SUCCESS se è stato inizializzato un ruolo di lavoro.
Commenti
Questa corrispondenza deve essere eseguita da un KsUnregisterWorker corrispondente al completamento dell'uso del thread. Questa funzione è simile a KsRegisterWorker, con l'aggiunta del passaggio dell'elemento di lavoro che verrà sempre accodato. Ciò deve essere usato con KsIncrementCountedWorker e KsDecrementCountedWorker per ridurre al minimo il numero di elementi di lavoro accodati e ridurre il codice di esclusione reciproca necessario in un elemento di lavoro necessario per serializzare l'accesso su più thread dell'elemento di lavoro. La coda di lavoro può comunque essere usata per accodare altri elementi di lavoro. Questo può essere chiamato solo in PASSIVE_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ks.h (include Ks.h) |
Libreria | Ks.lib |