Struktur KSEVENTDATA (ks.h)
Klien streaming kernel mengirim struktur KSEVENTDATA ke driver kelas untuk menentukan metode pemberitahuan.
Sintaksis
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;
Anggota
NotificationType
Berisi bendera yang menunjukkan jenis pemberitahuan apa yang harus dilakukan. Tabel berikut mencantumkan semua nilai yang mungkin untuk anggota NotificationType.
Bendera NotificationType | Deskripsi |
---|---|
KSEVENTF_EVENT_HANDLE | Menunjukkan bahwa sinkronisasi Win32 atau handel objek pemberitahuan sedang diteruskan. The KSEVENTDATA. Elemen EventHandle.Event berisi handel. |
KSEVENTF_SEMAPHORE_HANDLE | Menunjukkan bahwa handel Win32 semaphore sedang dilewati. The KSEVENTDATA. Elemen SemaphoreHandle.Semaphore berisi handel. |
KSEVENTF_EVENT_OBJECT | Menunjukkan bahwa penunjuk ke sinkronisasi kernel atau objek pemberitahuan sedang diteruskan. The KSEVENTDATA. Elemen EventObject.Event berisi penunjuk ke objek ini. Ini hanya tersedia untuk klien mode kernel. |
KSEVENTF_SEMAPHORE_OBJECT | Menunjukkan bahwa penunjuk ke objek kernel semaphore sedang diteruskan. The KSEVENTDATA. Elemen SemaphoreObject.Semaphore berisi penunjuk ke objek ini. Ini hanya tersedia untuk klien mode kernel. |
KSEVENTF_DPC | Menunjukkan bahwa penunjuk ke struktur DPC kernel sedang diteruskan. The KSEVENTDATA. Elemen Dpc.Dpc berisi penunjuk ke DPC. Ini hanya tersedia untuk klien mode kernel. |
KSEVENTF_WORKITEM | Menunjukkan bahwa penunjuk ke struktur item kerja kernel sedang diteruskan. The KSEVENTDATA. WorkItem.WorkQueueItem berisi penunjuk ke item kerja. Ini hanya tersedia untuk klien mode kernel. |
KSEVENTF_KSWORKITEM | Menunjukkan bahwa penunjuk ke struktur item kerja streaming kernel sedang diteruskan. The KSEVENTDATA. KsWorkItem.WorkQueueItem berisi penunjuk ke item kerja, dan diantrekan ke item kerja streaming kernel yang terdaftar sebelumnya. Ini hanya tersedia untuk klien mode kernel. |
EventHandle
Menentukan struktur EventHandle.
EventHandle.Event
Berisi handel ke peristiwa sinkronisasi saat bendera KSEVENT_EVENT_HANDLE diatur.
EventHandle.Reserved[2]
Dicadangkan dan diatur ke nol.
SemaphoreHandle
Menentukan struktur SemaphoreHandle.
SemaphoreHandle.Semaphore
Berisi handel ke semaphore ketika bendera KSEVENT_SEMAPHORE_HANDLE diatur.
SemaphoreHandle.Reserved
Dicadangkan dan diatur ke nol.
SemaphoreHandle.Adjustment
Berisi penyesuaian pada semaphore saat dirilis.
EventObject
Menentukan struktur EventObject.
EventObject.Event
Mendefinisikan anggota PVOID Event.
EventObject.Increment
Mendefinisikan anggota KPRIORITYIncrement .
EventObject.Reserved
Dicadangkan dan diatur ke nol.
SemaphoreObject
Menentukan struktur SemaphoreObject.
SemaphoreObject.Semaphore
Menentukan anggota PVOIDSemaphore.
SemaphoreObject.Increment
Mendefinisikan anggota KPRIORITYIncrement .
SemaphoreObject.Adjustment
Menentukan Penyesuaiananggota LONG .
Dpc
Menentukan struktur Dpc.
Dpc.Dpc
Menentukan anggota PKDPCDpc.
Dpc.ReferenceCount
Menentukan anggota ULONGReferenceCount.
Dpc.Reserved
Dicadangkan dan diatur ke nol.
WorkItem
Menentukan struktur WorkItem.
WorkItem.WorkQueueItem
Menentukan anggota PWORK_QUEUE_ITEMWorkQueueItem.
WorkItem.WorkQueueType
Menentukan anggota WORK_QUEUE_TYPEWorkQueueType.
WorkItem.Reserved
Dicadangkan dan diatur ke nol.
KsWorkItem
Menentukan struktur KsWorkItem.
KsWorkItem.WorkQueueItem
Menentukan anggota PWORK_QUEUE_ITEMWorkQueueItem.
KsWorkItem.KsWorkerObject
Menentukan anggota PKSWORKERKsWorkerObject.
KsWorkItem.Reserved
Dicadangkan untuk digunakan di masa mendatang.
Alignment
Menentukan struktur Perataan.
Alignment.Unused
Tidak digunakan.
Alignment.Alignment[2]
Dicadangkan untuk penggunaan internal oleh AVStream. Minidriver tidak boleh memanipulasi anggota ini.
Komentar
Untuk informasi selengkapnya, lihat Peristiwa KS.
Persyaratan
Syarat | Nilai |
---|---|
Header | ks.h (termasuk Ks.h) |