KSEVENTDATA structure

Kernel streaming clients send the KSEVENTDATA structure to the class driver to specify a notification method.

Syntax


typedef struct {
  ULONG NotificationType;
  union {
    struct {
      HANDLE    Event;
      ULONG_PTR Reserved[2];
    } EventHandle;
    struct {
      HANDLE Semaphore;
      ULONG  Reserved;
      LONG   Adjustment;
    } SemaphoreHandle;
    struct {
      PVOID    Unused;
      LONG_PTR Alignment[2];
    } Alignment;
  };
} KSEVENTDATA, *PKSEVENTDATA;

Members

NotificationType

Contains flags indicating what type of notification should be performed. The following table lists all the possible values for the NotificationType member.

NotificationType FlagDescription

KSEVENTF_EVENT_HANDLE

Indicates that a Win32 synchronization or notification object handle is being passed. The KSEVENTDATA.EventHandle.Event element contains the handle.

KSEVENTF_SEMAPHORE_HANDLE

Indicates that a Win32 semaphore handle is being passed. The KSEVENTDATA.SemaphoreHandle.Semaphore element contains the handle.

KSEVENTF_EVENT_OBJECT

Indicates that a pointer to a kernel synchronization or notification object is being passed. The KSEVENTDATA.EventObject.Event element contains a pointer to this object. This is available only to kernel-mode clients.

KSEVENTF_SEMAPHORE_OBJECT

Indicates that a pointer to a kernel semaphore object is being passed. The KSEVENTDATA.SemaphoreObject.Semaphore element contains a pointer to this object. This is available only to kernel-mode clients.

KSEVENTF_DPC

Indicates that a pointer to a kernel DPC structure is being passed. The KSEVENTDATA.Dpc.Dpc element contains a pointer to the DPC. This is available only to kernel-mode clients.

KSEVENTF_WORKITEM

Indicates that a pointer to a kernel work item structure is being passed. The KSEVENTDATA.WorkItem.WorkQueueItem contains a pointer to the work item. This is available only to kernel-mode clients.

KSEVENTF_KSWORKITEM

Indicates that a pointer to a kernel streaming work item structure is being passed. The KSEVENTDATA.KsWorkItem.WorkQueueItem contains a pointer to the work item, and is queued to a previously registered kernel streaming work item. This is available only to kernel-mode clients.

 

EventHandle
Event

Contains a handle to a synchronization event when the KSEVENT_EVENT_HANDLE flag is set.

Reserved

Reserved and set to zero.

SemaphoreHandle
Semaphore

Contains a handle to a semaphore when the KSEVENT_SEMAPHORE_HANDLE flag is set.

Reserved

Reserved and set to zero.

Adjustment

Contains the adjustment to the semaphore when it is released.

Alignment
Unused

Not used.

Alignment

Reserved for internal use by AVStream. Minidrivers should not manipulate this member.

Remarks

For more information, see KS Events.

Requirements

Header

Ks.h (include Ks.h)

See also

KDPC
KSEVENT
WORK_QUEUE_ITEM
WORK_QUEUE_TYPE
KsIncrementCountedWorker
KsRegisterWorker

 

 

Send comments about this topic to Microsoft

Show: