Estructura KSEVENTDATA (ks.h)
Los clientes de streaming de kernel envían la estructura KSEVENTDATA al controlador de clase para especificar un método de notificación.
Sintaxis
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;
Miembros
NotificationType
Contiene marcas que indican qué tipo de notificación se debe realizar. En la tabla siguiente se enumeran todos los valores posibles para el miembro NotificationType.
Marca NotificationType | Descripción |
---|---|
KSEVENTF_EVENT_HANDLE | Indica que se pasa un identificador de objeto de notificación o sincronización win32. The KSEVENTDATA. El elemento EventHandle.Event contiene el identificador. |
KSEVENTF_SEMAPHORE_HANDLE | Indica que se pasa un identificador de semáforo de Win32. The KSEVENTDATA. El elemento SemaphoreHandle.Semaphore contiene el identificador. |
KSEVENTF_EVENT_OBJECT | Indica que se pasa un puntero a una sincronización de kernel o a un objeto de notificación. The KSEVENTDATA. El elemento EventObject.Event contiene un puntero a este objeto. Esto solo está disponible para los clientes en modo kernel. |
KSEVENTF_SEMAPHORE_OBJECT | Indica que se pasa un puntero a un objeto de semáforo de kernel. The KSEVENTDATA. El elemento SemaphoreObject.Semaphore contiene un puntero a este objeto. Esto solo está disponible para los clientes en modo kernel. |
KSEVENTF_DPC | Indica que se pasa un puntero a una estructura DPC del kernel. The KSEVENTDATA. El elemento Dpc.Dpc contiene un puntero al DPC. Esto solo está disponible para los clientes en modo kernel. |
KSEVENTF_WORKITEM | Indica que se pasa un puntero a una estructura de elementos de trabajo kernel. The KSEVENTDATA. WorkItem.WorkQueueItem contiene un puntero al elemento de trabajo. Esto solo está disponible para los clientes en modo kernel. |
KSEVENTF_KSWORKITEM | Indica que se pasa un puntero a una estructura de elementos de trabajo de streaming de kernel. The KSEVENTDATA. KsWorkItem.WorkQueueItem contiene un puntero al elemento de trabajo y se pone en cola en un elemento de trabajo de streaming de kernel registrado anteriormente. Esto solo está disponible para los clientes en modo kernel. |
EventHandle
Define la estructura EventHandle .
EventHandle.Event
Contiene un identificador de un evento de sincronización cuando se establece la marca KSEVENT_EVENT_HANDLE.
EventHandle.Reserved[2]
Reservado y establecido en cero.
SemaphoreHandle
Define la estructura SemaphoreHandle .
SemaphoreHandle.Semaphore
Contiene un identificador para un semáforo cuando se establece la marca KSEVENT_SEMAPHORE_HANDLE.
SemaphoreHandle.Reserved
Reservado y establecido en cero.
SemaphoreHandle.Adjustment
Contiene el ajuste en el semáforo cuando se libera.
EventObject
Define la estructura EventObject .
EventObject.Event
Define el evento de miembro PVOID.
EventObject.Increment
Define el incremento del miembroKPRIORITY.
EventObject.Reserved
Reservado y establecido en cero.
SemaphoreObject
Define la estructura SemaphoreObject .
SemaphoreObject.Semaphore
Define el semáforo del miembro PVOID.
SemaphoreObject.Increment
Define el incremento del miembroKPRIORITY.
SemaphoreObject.Adjustment
Define el ajuste de miembro LONG.
Dpc
Define la estructura Dpc .
Dpc.Dpc
Define el Dpc miembro PKDPC.
Dpc.ReferenceCount
Define el elemento ReferenceCount de miembro de ULONG.
Dpc.Reserved
Reservado y establecido en cero.
WorkItem
Define la estructura WorkItem .
WorkItem.WorkQueueItem
Define el PWORK_QUEUE_ITEM miembro WorkQueueItem.
WorkItem.WorkQueueType
Define el WORK_QUEUE_TYPE miembro WorkQueueType.
WorkItem.Reserved
Reservado y establecido en cero.
KsWorkItem
Define la estructura KsWorkItem .
KsWorkItem.WorkQueueItem
Define el PWORK_QUEUE_ITEM miembro WorkQueueItem.
KsWorkItem.KsWorkerObject
Define el miembro PKSWORKERKsWorkerObject.
KsWorkItem.Reserved
Reservado para uso futuro.
Alignment
Define la estructura Alignment .
Alignment.Unused
No se usa.
Alignment.Alignment[2]
Reservado para uso interno de AVStream. Los minidrivers no deben manipular este miembro.
Comentarios
Para obtener más información, vea KS Events.
Requisitos
Requisito | Valor |
---|---|
Header | ks.h (incluye Ks.h) |