Bagikan melalui


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)

Lihat juga

KDPC

KSEVENT

KsIncrementCountedWorker

KsRegisterWorker

WORK_QUEUE_ITEM

WORK_QUEUE_TYPE