KSEVENTDATA 結構 (ks.h)

核心串流用戶端會將 KSEVENTDATA 結構傳送至類別驅動程式,以指定通知方法。

語法

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;

成員

NotificationType

包含旗標,指出應該執行哪種類型的通知。 下表列出 NotificationType 成員的所有可能值。

NotificationType 旗標 描述
KSEVENTF_EVENT_HANDLE 表示正在傳遞 Win32 同步處理或通知物件控制碼。 KSEVENTDATA。EventHandle.Event 元素包含控制碼。
KSEVENTF_SEMAPHORE_HANDLE 表示正在傳遞 Win32 號志控制碼。 KSEVENTDATA。SemaphoreHandle.Semaphore 元素包含控制碼。
KSEVENTF_EVENT_OBJECT 表示正在傳遞核心同步處理或通知物件的指標。 KSEVENTDATA。EventObject.Event 元素包含這個物件的指標。 這僅適用于核心模式用戶端。
KSEVENTF_SEMAPHORE_OBJECT 表示正在傳遞核心號志物件的指標。 KSEVENTDATA。SemaphoreObject.Semaphore 元素包含這個物件的指標。 這僅適用于核心模式用戶端。
KSEVENTF_DPC 表示正在傳遞核心 DPC 結構的指標。 KSEVENTDATA。Dpc.Dpc 元素包含 DPC 的指標。 這僅適用于核心模式用戶端。
KSEVENTF_WORKITEM 表示正在傳遞核心工作專案結構的指標。 KSEVENTDATA。WorkItem.WorkQueueItem 包含工作專案的指標。 這僅適用于核心模式用戶端。
KSEVENTF_KSWORKITEM 表示正在傳遞核心串流工作專案結構的指標。 KSEVENTDATA。KsWorkItem.WorkQueueItem 包含工作專案的指標,並排入佇列至先前註冊的核心串流工作專案。 這僅適用于核心模式用戶端。

EventHandle

EventHandle.Event

包含設定KSEVENT_EVENT_HANDLE旗標時的同步處理事件的控制碼。

EventHandle.Reserved[2]

保留並設定為零。

SemaphoreHandle

SemaphoreHandle.Semaphore

設定KSEVENT_SEMAPHORE_HANDLE旗標時,包含旗標的控制碼。

SemaphoreHandle.Reserved

保留並設定為零。

SemaphoreHandle.Adjustment

包含放開號志時的調整。

EventObject

EventObject.Event

EventObject.Increment

EventObject.Reserved

SemaphoreObject

SemaphoreObject.Semaphore

SemaphoreObject.Increment

SemaphoreObject.Adjustment

Dpc

Dpc.Dpc

Dpc.ReferenceCount

Dpc.Reserved

WorkItem

WorkItem.WorkQueueItem

WorkItem.WorkQueueType

WorkItem.Reserved

KsWorkItem

KsWorkItem.WorkQueueItem

KsWorkItem.KsWorkerObject

KsWorkItem.Reserved

Alignment

Alignment.Unused

未使用。

Alignment.Alignment[2]

保留供 AVStream 內部使用。 迷你驅動程式不應該操作此成員。

備註

如需詳細資訊,請參閱 KS 事件

規格需求

   
標頭 ks.h (包含 Ks.h)

另請參閱

KDPC

KSEVENT

KsIncrementCountedWorker

KsRegisterWorker

WORK_QUEUE_ITEM

WORK_QUEUE_TYPE