Struktur KSEVENTDATA (ks.h)
Klien streaming kernel mengirim struktur KSEVENTDATA ke driver kelas untuk menentukan metode pemberitahuan.
Sintaks
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 ini 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 dilewati. 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 pointer 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
Mendefinisikan struktur SemaphoreHandle .
SemaphoreHandle.Semaphore
Berisi handel ke semaphore saat 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 Peristiwa anggota PVOID.
EventObject.Increment
Mendefinisikan kenaikan anggota KPRIORITY.
EventObject.Reserved
Dicadangkan dan diatur ke nol.
SemaphoreObject
Mendefinisikan struktur SemaphoreObject .
SemaphoreObject.Semaphore
Mendefinisikan anggota PVOIDSemaphore.
SemaphoreObject.Increment
Mendefinisikan kenaikan anggota KPRIORITY.
SemaphoreObject.Adjustment
Mendefinisikan Penyesuaian anggota LONG.
Dpc
Mendefinisikan struktur Dpc .
Dpc.Dpc
Mendefinisikan anggotaPKDPC Dpc.
Dpc.ReferenceCount
Mendefinisikan Anggota ULONGReferenceCount.
Dpc.Reserved
Dicadangkan dan diatur ke nol.
WorkItem
Mendefinisikan struktur WorkItem .
WorkItem.WorkQueueItem
Menentukan anggota PWORK_QUEUE_ITEMWorkQueueItem.
WorkItem.WorkQueueType
Menentukan anggota WORK_QUEUE_TYPEWorkQueueType.
WorkItem.Reserved
Dicadangkan dan diatur ke nol.
KsWorkItem
Mendefinisikan struktur KsWorkItem .
KsWorkItem.WorkQueueItem
Menentukan anggota PWORK_QUEUE_ITEMWorkQueueItem.
KsWorkItem.KsWorkerObject
Mendefinisikan anggota PKSWORKERKsWorkerObject.
KsWorkItem.Reserved
Disiapkan untuk penggunaan masa mendatang.
Alignment
Mendefinisikan struktur Perataan .
Alignment.Unused
Tidak digunakan.
Alignment.Alignment[2]
Dicadangkan untuk penggunaan internal oleh AVStream. Minidriver tidak boleh memanipulasi anggota ini.
Keterangan
Untuk informasi selengkapnya, lihat Peristiwa KS.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ks.h (termasuk Ks.h) |