Condividi tramite


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