KSEVENTDATA-Struktur (ks.h)
Kernelstreamingclients senden die KSEVENTDATA-Struktur an den Klassentreiber, um eine Benachrichtigungsmethode anzugeben.
Syntax
typedef struct {
ULONG NotificationType;
union {
struct {
HANDLE Event;
ULONG_PTR Reserved[2];
} EventHandle;
struct {
HANDLE Semaphore;
ULONG Reserved;
LONG Adjustment;
} SemaphoreHandle;
struct {
PVOID Event;
KPRIORITY Increment;
ULONG_PTR Reserved;
} EventObject;
struct {
PVOID Semaphore;
KPRIORITY Increment;
LONG Adjustment;
} SemaphoreObject;
struct {
PKDPC Dpc;
ULONG ReferenceCount;
ULONG_PTR Reserved;
} Dpc;
struct {
PWORK_QUEUE_ITEM WorkQueueItem;
WORK_QUEUE_TYPE WorkQueueType;
ULONG_PTR Reserved;
} WorkItem;
struct {
PWORK_QUEUE_ITEM WorkQueueItem;
PKSWORKER KsWorkerObject;
ULONG_PTR Reserved;
} KsWorkItem;
struct {
PVOID Unused;
LONG_PTR Alignment[2];
} Alignment;
};
} KSEVENTDATA, *PKSEVENTDATA;
Angehörige
NotificationType
Enthält Flags, die angeben, welche Art von Benachrichtigung ausgeführt werden soll. In der folgenden Tabelle sind alle möglichen Werte für das NotificationType-Element aufgeführt.
NotificationType-Flag | Beschreibung |
---|---|
KSEVENTF_EVENT_HANDLE | Gibt an, dass ein Win32-Synchronisierungs- oder Benachrichtigungsobjekthandle übergeben wird. The KSEVENTDATA. EventHandle.Event-Element enthält das Handle. |
KSEVENTF_SEMAPHORE_HANDLE | Gibt an, dass ein Win32-Semaphor-Handle übergeben wird. The KSEVENTDATA. Das SemaphoreHandle.Semaphore-Element enthält den Handle. |
KSEVENTF_EVENT_OBJECT | Gibt an, dass ein Zeiger auf eine Kernelsynchronisierung oder ein Benachrichtigungsobjekt übergeben wird. The KSEVENTDATA. EventObject.Event-Element enthält einen Zeiger auf dieses Objekt. Dies ist nur für Kernelmodusclients verfügbar. |
KSEVENTF_SEMAPHORE_OBJECT | Gibt an, dass ein Zeiger auf ein Kernel-Semaphorobjekt übergeben wird. The KSEVENTDATA. Das SemaphoreObject.Semaphore-Element enthält einen Zeiger auf dieses Objekt. Dies ist nur für Kernelmodusclients verfügbar. |
KSEVENTF_DPC | Gibt an, dass ein Zeiger auf eine Kernel-DPC-Struktur übergeben wird. The KSEVENTDATA. Das Dpc.Dpc-Element enthält einen Zeiger auf den DPC. Dies ist nur für Kernelmodusclients verfügbar. |
KSEVENTF_WORKITEM | Gibt an, dass ein Zeiger auf eine Kernel-Arbeitselementstruktur übergeben wird. The KSEVENTDATA. WorkItem.WorkQueueItem enthält einen Zeiger auf die Arbeitsaufgabe. Dies ist nur für Kernelmodusclients verfügbar. |
KSEVENTF_KSWORKITEM | Gibt an, dass ein Zeiger auf eine Kernelstreaming-Arbeitselementstruktur übergeben wird. The KSEVENTDATA. KsWorkItem.WorkQueueItem enthält einen Zeiger auf die Arbeitsaufgabe und wird in eine zuvor registrierte Kernelstreaming-Arbeitsaufgabe in die Warteschlange gestellt. Dies ist nur für Kernelmodusclients verfügbar. |
EventHandle
Definiert die EventHandle--Struktur.
EventHandle.Event
Enthält ein Handle zu einem Synchronisierungsereignis, wenn das KSEVENT_EVENT_HANDLE Flag festgelegt ist.
EventHandle.Reserved[2]
Reserviert und auf Null festgelegt.
SemaphoreHandle
Definiert die SemaphoreHandle- Struktur.
SemaphoreHandle.Semaphore
Enthält einen Ziehpunkt zu einem Semaphor, wenn das KSEVENT_SEMAPHORE_HANDLE Flag festgelegt ist.
SemaphoreHandle.Reserved
Reserviert und auf Null festgelegt.
SemaphoreHandle.Adjustment
Enthält die Anpassung des Semaphors, wenn es losgelassen wird.
EventObject
Definiert die EventObject- Struktur.
EventObject.Event
Definiert das PVOID Member Event.
EventObject.Increment
Definiert die KPRIORITY Member Increment.
EventObject.Reserved
Reserviert und auf Null festgelegt.
SemaphoreObject
Definiert die SemaphoreObject- Struktur.
SemaphoreObject.Semaphore
Definiert das PVOID Member Semaphor.
SemaphoreObject.Increment
Definiert die KPRIORITY Member Increment.
SemaphoreObject.Adjustment
Definiert das LONG Member Adjustment.
Dpc
Definiert die Dpc--Struktur.
Dpc.Dpc
Definiert das PKDPC Member Dpc-.
Dpc.ReferenceCount
Definiert das ULONG Member ReferenceCount.
Dpc.Reserved
Reserviert und auf Null festgelegt.
WorkItem
Definiert die WorkItem--Struktur.
WorkItem.WorkQueueItem
Definiert das PWORK_QUEUE_ITEM Element WorkQueueItem-.
WorkItem.WorkQueueType
Definiert das WORK_QUEUE_TYPE Member WorkQueueType.
WorkItem.Reserved
Reserviert und auf Null festgelegt.
KsWorkItem
Definiert die KsWorkItem- Struktur.
KsWorkItem.WorkQueueItem
Definiert das PWORK_QUEUE_ITEM Element WorkQueueItem-.
KsWorkItem.KsWorkerObject
Definiert das PKSWORKER Mitglied KsWorkerObject.
KsWorkItem.Reserved
Reserviert für die zukünftige Verwendung.
Alignment
Definiert die Ausrichtungsstruktur.
Alignment.Unused
Wird nicht verwendet.
Alignment.Alignment[2]
Reserviert für die interne Verwendung durch AVStream. Minidriver sollten dieses Mitglied nicht bearbeiten.
Bemerkungen
Weitere Informationen finden Sie unter KS-Ereignisse.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ks.h (enthalten Ks.h) |