Freigeben über


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)

Siehe auch

KDPC-

KSEVENT-

KsIncrementCountedWorker

KsRegisterWorker

WORK_QUEUE_ITEM

WORK_QUEUE_TYPE