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 旗標 Description
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 結構。

EventHandle.Event

包含設定KSEVENT_EVENT_HANDLE旗標時的同步處理事件的句柄。

EventHandle.Reserved[2]

保留並設定為零。

SemaphoreHandle

定義 SemaphoreHandle 結構。

SemaphoreHandle.Semaphore

設定KSEVENT_SEMAPHORE_HANDLE旗標時,包含旗標的句柄。

SemaphoreHandle.Reserved

保留並設定為零。

SemaphoreHandle.Adjustment

包含放開號誌時的調整。

EventObject

定義 EventObject 結構。

EventObject.Event

定義 PVOID 成員 事件

EventObject.Increment

定義 KPRIORITY 成員 Increment

EventObject.Reserved

保留並設定為零。

SemaphoreObject

定義 SemaphoreObject 結構。

SemaphoreObject.Semaphore

定義 PVOID 成員 號誌

SemaphoreObject.Increment

定義 KPRIORITY 成員 Increment

SemaphoreObject.Adjustment

定義 LONG 成員 調整

Dpc

定義 Dpc 結構。

Dpc.Dpc

定義 PKDPC 成員 Dpc

Dpc.ReferenceCount

定義 ULONG 成員 ReferenceCount

Dpc.Reserved

保留並設定為零。

WorkItem

定義 WorkItem 結構。

WorkItem.WorkQueueItem

定義 PWORK_QUEUE_ITEM 成員 WorkQueueItem

WorkItem.WorkQueueType

定義 WORK_QUEUE_TYPE 成員 WorkQueueType

WorkItem.Reserved

保留並設定為零。

KsWorkItem

定義 KsWorkItem 結構。

KsWorkItem.WorkQueueItem

定義 PWORK_QUEUE_ITEM 成員 WorkQueueItem

KsWorkItem.KsWorkerObject

定義 PKSWORKER 成員 KsWorkerObject

KsWorkItem.Reserved

保留供未來使用。

Alignment

定義 Alignment 結構。

Alignment.Unused

未使用。

Alignment.Alignment[2]

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

備註

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

規格需求

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

另請參閱

KDPC

KSEVENT

KsIncrementCountedWorker

KsRegisterWorker

WORK_QUEUE_ITEM

WORK_QUEUE_TYPE