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 结构。
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 成员 增量。
EventObject.Reserved
保留并设置为零。
SemaphoreObject
定义 SemaphoreObject 结构。
SemaphoreObject.Semaphore
定义 PVOID 成员 信号量。
SemaphoreObject.Increment
定义 KPRIORITY 成员 增量。
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.Unused
未使用。
Alignment.Alignment[2]
保留供 AVStream 内部使用。 微型驱动程序不应操作此成员。
注解
有关详细信息,请参阅 KS 事件。
要求
要求 | 值 |
---|---|
Header | ks.h (包括 Ks.h) |