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;
Member
NotificationType
Enthält Flags, die angeben, welcher Benachrichtigungstyp 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. Das KSEVENTDATA. Das EventHandle.Event-Element enthält das Handle. |
KSEVENTF_SEMAPHORE_HANDLE | Gibt an, dass ein Win32-Semaphorhandle übergeben wird. Das KSEVENTDATA. Das SemaphoreHandle.Semaphore-Element enthält das Handle. |
KSEVENTF_EVENT_OBJECT | Gibt an, dass ein Zeiger auf ein Kernelsynchronisierungs- oder Benachrichtigungsobjekt übergeben wird. Das KSEVENTDATA. Das EventObject.Event-Element enthält einen Zeiger auf dieses Objekt. Dies ist nur für Clients im Kernelmodus verfügbar. |
KSEVENTF_SEMAPHORE_OBJECT | Gibt an, dass ein Zeiger auf ein Kernel-Semaphorobjekt übergeben wird. Das KSEVENTDATA. Das SemaphoreObject.Semaphore-Element enthält einen Zeiger auf dieses Objekt. Dies ist nur für Clients im Kernelmodus verfügbar. |
KSEVENTF_DPC | Gibt an, dass ein Zeiger auf eine Kernel-DPC-Struktur übergeben wird. Das KSEVENTDATA. Das Dpc.Dpc-Element enthält einen Zeiger auf den DPC. Dies ist nur für Clients im Kernelmodus verfügbar. |
KSEVENTF_WORKITEM | Gibt an, dass ein Zeiger auf eine Kernelarbeitselementstruktur übergeben wird. Das KSEVENTDATA. WorkItem.WorkQueueItem enthält einen Zeiger auf das Arbeitselement. Dies ist nur für Clients im Kernelmodus verfügbar. |
KSEVENTF_KSWORKITEM | Gibt an, dass ein Zeiger auf eine Kernelstreaming-Arbeitselementstruktur übergeben wird. Das KSEVENTDATA. KsWorkItem.WorkQueueItem enthält einen Zeiger auf das Arbeitselement und wird in eine Warteschlange für ein zuvor registriertes Kernelstreamingarbeitselement eingereiht. Dies ist nur für Clients im Kernelmodus verfügbar. |
EventHandle
Definiert die EventHandle-Struktur .
EventHandle.Event
Enthält ein Handle für ein 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 ein Handle für ein 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 er freigegeben wird.
EventObject
Definiert die EventObject-Struktur .
EventObject.Event
Definiert das PVOID-Memberereignis.
EventObject.Increment
Definiert den KPRIORITY-Memberinkrement.
EventObject.Reserved
Reserviert und auf Null festgelegt.
SemaphoreObject
Definiert die SemaphoreObject-Struktur .
SemaphoreObject.Semaphore
Definiert das PVOID-ElementSemaphor.
SemaphoreObject.Increment
Definiert den KPRIORITY-Memberinkrement.
SemaphoreObject.Adjustment
Definiert die LONG-Memberanpassung.
Dpc
Definiert die Dpc-Struktur .
Dpc.Dpc
Definiert den PKDPC-Member-Dpc.
Dpc.ReferenceCount
Definiert das ULONG-MemberReferenceCount.
Dpc.Reserved
Reserviert und auf Null festgelegt.
WorkItem
Definiert die WorkItem-Struktur .
WorkItem.WorkQueueItem
Definiert das PWORK_QUEUE_ITEM Member 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 Member WorkQueueItem.
KsWorkItem.KsWorkerObject
Definiert das PKSWORKER-ElementKsWorkerObject.
KsWorkItem.Reserved
Für die zukünftige Verwendung reserviert.
Alignment
Definiert die Ausrichtungsstruktur .
Alignment.Unused
Wird nicht verwendet.
Alignment.Alignment[2]
Reserviert für die interne Verwendung durch AVStream. Minidriver sollten diesen Member nicht bearbeiten.
Hinweise
Weitere Informationen finden Sie unter KS-Ereignisse.
Anforderungen
Anforderung | Wert |
---|---|
Header | ks.h (einschließlich Ks.h) |