Bagikan melalui


struktur KSDEVICE_DESCRIPTOR (ks.h)

Struktur KSDEVICE_DESCRIPTOR menjelaskan karakteristik perangkat tertentu.

Sintaks

typedef struct _KSDEVICE_DESCRIPTOR {
  const KSDEVICE_DISPATCH   *Dispatch;
  ULONG                     FilterDescriptorsCount;
  const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
  ULONG                     Version;
  ULONG                     Flags;
  PVOID                     Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;

Anggota

Dispatch

Penunjuk ke tabel pengiriman klien untuk perangkat ini. Tabel pengiriman ini berisi fungsi pengiriman klien untuk pesan PNP seperti Tambahkan, Mulai, Hentikan, Hapus. Klien tidak diharuskan untuk menyediakan tabel pengiriman kecuali mereka ingin menerima panggilan balik untuk pesan PNP yang dijelaskan dalam tabel pengiriman. Setiap anggota tabel pengiriman dapat berupa NULL untuk menunjukkan bahwa klien tidak ingin menerima pemberitahuan untuk pesan tertentu tersebut. Untuk informasi selengkapnya, lihat KSDEVICE_DISPATCH.

FilterDescriptorsCount

Anggota ini berisi jumlah deskriptor filter untuk perangkat ini yang akan disediakan di anggota FilterDescriptors . Nol adalah nilai hukum untuk anggota ini; klien dapat membuat pabrik filter secara dinamis dengan fungsi KsCreateFilterFactory alih-alih secara statis menjelaskannya dalam deskriptor perangkat.

FilterDescriptors

Penunjuk ke array deskriptor filter yang menjelaskan filter yang dapat dibuat oleh perangkat ini. Anggota ini mungkin NULL jika FilterDescriptorsCount nol. Untuk informasi selengkapnya, lihat KSFILTER_DESCRIPTOR.

Version

Nilai jenis ULONG. Ini harus menjadi satu dan hanya salah satu nilai dalam tabel berikut, atau diatur ke nol jika menulis driver 0x100 pra-versi.

Nilai Deskripsi
KSDEVICE_DESCRIPTOR_VERSION Menunjukkan dukungan pengiriman AVStrMiniDeviceQueryInterfaceKSDEVICE_DISPATCH.
KSDEVICE_DESCRIPTOR_VERSION_2 Menunjukkan dukungan anggota Bendera KSDEVICE_DESCRIPTOR.

Flags

Nilai jenis ULONG. Hanya ada satu bendera yang saat ini ditentukan.

Bendera Deskripsi
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP Menunjukkan bahwa perangkat mendukung wakeup jarak jauh.

Alignment

Keterangan

Paling sering, struktur ini digunakan bersama dengan KsInitializeDriver dalam fungsi DriverEntry klien untuk menginisialisasi perangkat. Struktur ini juga digunakan untuk menginisialisasi atau membuat perangkat secara manual dengan fungsi KsInitializeDevice dan KsCreateDevice .

Jika Anda mengatur Versi ke KSDEVICE_DESCRIPTOR_VERSION_2 dan menjalankan driver Anda pada versi awal AVStream yang tidak mendukung Bendera, semua bendera akan dianggap nol.

Demikian pula, menggunakan deskriptor versi sebelumnya pada versi AVStream yang lebih baru menyebabkan tidak ada bendera yang ditentukan.

Persyaratan

Persyaratan Nilai
Header ks.h (termasuk Ks.h)

Lihat juga

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver