Bagikan melalui


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)

Lihat juga

KDPC

KSEVENT

KsIncrementCountedWorker

KsRegisterWorker

WORK_QUEUE_ITEM

WORK_QUEUE_TYPE