Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 è in genere uno dei seguenti: CriticalWorkQueue, DelayedWorkQueue o HyperCriticalWorkQueue.
[in] CountedWorkItem
Contiene un puntatore all'elemento della coda di lavoro che verrà accodato in base alle esigenze in base al valore del conteggio corrente.
[out] Worker
Contiene il contesto opaco che deve essere utilizzato 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.
Osservazioni
Deve corrispondere a un KsUnregisterWorker corrispondente al termine dell'uso del thread. Questa funzione è simile KsRegisterWorker, con l'aggiunta del passaggio dell'elemento di lavoro che verrà sempre accodato. Questa operazione deve essere usata 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 di elementi di lavoro. La coda di lavoro può comunque essere usata per accodare altri elementi di lavoro. Questo può essere chiamato solo in PASSIVE_LEVEL.
Fabbisogno
| Requisito | Valore |
|---|---|
| piattaforma di destinazione | Universale |
| intestazione | ks.h (include Ks.h) |
| libreria | Ks.lib |