Struttura KSEVENTDATA (ks.h)
I client di streaming del kernel inviano la struttura KSEVENTDATA al driver di classe per specificare un metodo di notifica.
Sintassi
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;
Members
NotificationType
Contiene flag che indicano il tipo di notifica da eseguire. La tabella seguente elenca tutti i valori possibili per il membro NotificationType.
NotificationType Flag | Descrizione |
---|---|
KSEVENTF_EVENT_HANDLE | Indica che viene passato un handle di oggetti di sincronizzazione o notifica Win32. The KSEVENTDATA. L'elemento EventHandle.Event contiene l'handle. |
KSEVENTF_SEMAPHORE_HANDLE | Indica che viene passato un handle di semaforo Win32. The KSEVENTDATA. L'elemento SemaphoreHandle.Semaphore contiene l'handle. |
KSEVENTF_EVENT_OBJECT | Indica che viene passato un puntatore a una sincronizzazione del kernel o a un oggetto di notifica. The KSEVENTDATA. L'elemento EventObject.Event contiene un puntatore a questo oggetto. Questa opzione è disponibile solo per i client in modalità kernel. |
KSEVENTF_SEMAPHORE_OBJECT | Indica che viene passato un puntatore a un oggetto semaforo del kernel. The KSEVENTDATA. L'elemento SemaphoreObject.Semaphore contiene un puntatore a questo oggetto. Questa opzione è disponibile solo per i client in modalità kernel. |
KSEVENTF_DPC | Indica che viene passato un puntatore a una struttura DPC del kernel. The KSEVENTDATA. L'elemento Dpc.Dpc contiene un puntatore al DPC. Questa opzione è disponibile solo per i client in modalità kernel. |
KSEVENTF_WORKITEM | Indica che viene passato un puntatore a una struttura dell'elemento di lavoro del kernel. The KSEVENTDATA. WorkItem.WorkQueueItem contiene un puntatore all'elemento di lavoro. Questa opzione è disponibile solo per i client in modalità kernel. |
KSEVENTF_KSWORKITEM | Indica che viene passato un puntatore a una struttura dell'elemento di lavoro in streaming del kernel. The KSEVENTDATA. KsWorkItem.WorkQueueItem contiene un puntatore all'elemento di lavoro e viene accodato a un elemento di lavoro di streaming del kernel registrato in precedenza. Questa opzione è disponibile solo per i client in modalità kernel. |
EventHandle
Definisce la struttura EventHandle .
EventHandle.Event
Contiene un handle per un evento di sincronizzazione quando viene impostato il flag di KSEVENT_EVENT_HANDLE.
EventHandle.Reserved[2]
Riservato e impostato su zero.
SemaphoreHandle
Definisce la struttura SemaphoreHandle .
SemaphoreHandle.Semaphore
Contiene un handle per un semaforo quando viene impostato il flag di KSEVENT_SEMAPHORE_HANDLE.
SemaphoreHandle.Reserved
Riservato e impostato su zero.
SemaphoreHandle.Adjustment
Contiene la regolazione del semaforo quando viene rilasciata.
EventObject
Definisce la struttura EventObject .
EventObject.Event
Definisce l'evento membro PVOID.
EventObject.Increment
Definisce l'incremento del membro KPRIORITY.
EventObject.Reserved
Riservato e impostato su zero.
SemaphoreObject
Definisce la struttura SemaphoreObject .
SemaphoreObject.Semaphore
Definisce il membro PVOIDSemaphore.
SemaphoreObject.Increment
Definisce l'incremento del membro KPRIORITY.
SemaphoreObject.Adjustment
Definisce la regolazione del membro LONG.
Dpc
Definisce la struttura Dpc .
Dpc.Dpc
Definisce il membro PKDPCDpc.
Dpc.ReferenceCount
Definisce il membro ULONGReferenceCount.
Dpc.Reserved
Riservato e impostato su zero.
WorkItem
Definisce la struttura WorkItem .
WorkItem.WorkQueueItem
Definisce il membro PWORK_QUEUE_ITEMWorkQueueItem.
WorkItem.WorkQueueType
Definisce il WORK_QUEUE_TYPE membro WorkQueueType.
WorkItem.Reserved
Riservato e impostato su zero.
KsWorkItem
Definisce la struttura KsWorkItem .
KsWorkItem.WorkQueueItem
Definisce il membro PWORK_QUEUE_ITEMWorkQueueItem.
KsWorkItem.KsWorkerObject
Definisce il membro PKSWORKERKsWorkerObject.
KsWorkItem.Reserved
Riservato per utilizzi futuri.
Alignment
Definisce la struttura Di allineamento .
Alignment.Unused
Non usato.
Alignment.Alignment[2]
Riservato per l'uso interno da AVStream. I minidriver non devono modificare questo membro.
Commenti
Per altre informazioni, vedere Eventi KS.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ks.h (include Ks.h) |