Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Behandelt Clients, die für die Verwendung eines Threads registriert werden.
Syntax
KSDDKAPI NTSTATUS KsRegisterCountedWorker(
[in] WORK_QUEUE_TYPE WorkQueueType,
[in] PWORK_QUEUE_ITEM CountedWorkItem,
[out] PKSWORKER *Worker
);
Parameter
[in] WorkQueueType
Enthält die Priorität des Arbeitsthreads. Dies ist normalerweise eine der folgenden: CriticalWorkQueue, DelayedWorkQueue oder HyperCriticalWorkQueue.
[in] CountedWorkItem
Enthält einen Zeiger auf das Arbeitswarteschlangenelement, das je nach Bedarf basierend auf dem aktuellen Zählungswert in die Warteschlange eingereiht wird.
[out] Worker
Enthält den undurchsichtigen Kontext, der beim Planen einer Arbeitsaufgabe verwendet werden muss. Enthält auch den Warteschlangentyp und wird verwendet, um den Abschluss der Arbeitsaufgaben zu synchronisieren.
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn ein Worker initialisiert wurde.
Bemerkungen
Dies muss mit einem entsprechenden KsUnregisterWorker- abgeglichen werden, wenn die Threadverwendung abgeschlossen ist. Diese Funktion ähnelt KsRegisterWorkermit dem Hinzufügen der Übergabe der Arbeitsaufgabe, die immer in die Warteschlange gestellt wird. Dies ist mit KsIncrementCountedWorker und KsDecrementCountedWorker- zu verwenden, um die Anzahl der Arbeitsaufgaben in der Warteschlange zu minimieren und den gegenseitigen Ausschlusscode zu reduzieren, der in einer Arbeitsaufgabe erforderlich ist, um den Zugriff auf mehrere Arbeitsaufgabenthreads zu serialisieren. Die Arbeitswarteschlange kann weiterhin verwendet werden, um andere Arbeitsaufgaben in die Warteschlange zu stellen. Dies kann nur bei PASSIVE_LEVEL aufgerufen werden.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Universal |
| Header- | ks.h (enthalten Ks.h) |
| Library | Ks.lib |