Struktur KSDEVICE (ks.h)
Struktur KSDEVICE menjelaskan perangkat fungsi WDM yang dikelola oleh AVStream.
Sintaks
typedef struct _KSDEVICE {
const KSDEVICE_DESCRIPTOR *Descriptor;
KSOBJECT_BAG Bag;
PVOID Context;
PDEVICE_OBJECT FunctionalDeviceObject;
PDEVICE_OBJECT PhysicalDeviceObject;
PDEVICE_OBJECT NextDeviceObject;
BOOLEAN Started;
SYSTEM_POWER_STATE SystemPowerState;
DEVICE_POWER_STATE DevicePowerState;
} KSDEVICE, *PKSDEVICE;
Anggota
Descriptor
Penunjuk ke struktur KSDEVICE_DESCRIPTOR yang menjelaskan karakteristik perangkat dan filter statis yang didukung olehnya.
Bag
Anggota ini menentukan KSOBJECT_BAG (setara dengan jenis PVOID) yang terkait dengan perangkat. Lihat Tas Objek.
Context
Penunjuk ke lokasi memori yang berisi informasi konteks untuk perangkat. AVStream menyimpan pointer ke ekstensi perangkat di anggota ini untuk minidriver yang mengalokasikan ekstensi perangkat di AVStrMiniDeviceStart. Memori yang dialokasikan untuk konteks harus ditempatkan di tas objek menggunakan KsAddItemToObjectBag. Konteks diinisialisasi ke NULL pada waktu pembuatan.
FunctionalDeviceObject
Penunjuk ke struktur DEVICE_OBJECT yang merupakan objek perangkat fungsi WDM untuk perangkat yang dijelaskan.
PhysicalDeviceObject
Penunjuk ke struktur DEVICE_OBJECT yang merupakan objek perangkat fisik WDM untuk perangkat yang dijelaskan.
NextDeviceObject
Penunjuk ke struktur DEVICE_OBJECT yang merupakan perangkat berikutnya dalam tumpukan driver seperti yang ditentukan oleh IoAttachDeviceToDeviceStack.
Started
Anggota ini menunjukkan apakah perangkat khusus ini telah dimulai atau tidak. Jika TRUE, perangkat telah dimulai. Jika FALSE, perangkat belum dimulai. Bendera ini diatur selama pemrosesan IRP_MN_START_DEVICE dan diatur ulang selama pemrosesan IRP_MN_STOP_DEVICE. Perangkat yang tidak dimulai mengembalikan STATUS_DEVICE_NOT_READY sebagai respons terhadap semua permintaan untuk membuat filter.
SystemPowerState
Nilai SYSTEM_POWER_STATE-ketik yang menunjukkan status daya sistem saat ini. nilai SYSTEM_POWER_STATE didefinisikan dalam wdm.h.
DevicePowerState
Nilai jenis DEVICE_POWER_STATE yang menunjukkan status daya perangkat saat ini. nilai DEVICE_POWER_STATE didefinisikan dalam wdm.h.
Keterangan
Klien biasanya menggunakan struktur ini jika mereka harus menerapkan perilaku PnP atau Power Management tertentu yang tidak disediakan oleh AVStream. Pointer ke struktur KSDEVICE adalah parameter pertama untuk semua rutinitas pengiriman yang ditentukan dalam KSDEVICE_DISPATCH, dan klien bebas menggunakan informasi konteks untuk melampirkan konteksnya sendiri untuk rutinitas ini. Selain itu, klien dapat memperoleh pointer ke struktur KSDEVICE dari pointer objek perangkat WDM dengan memanggil KsGetDeviceForDeviceObject.
Seperti disebutkan di atas, Konteks diinisialisasi ke NULL pada waktu pembuatan. Namun, keturunan struktur KSDEVICE ini memiliki anggota Konteks yang sesuai yang diatur ke nilai anggota Konteks objek induk. Ini terjadi ketika objek baru dibuat. Untuk informasi selengkapnya, lihat Hierarki Objek AVStream dan Tas Objek. Lihat juga halaman referensi untuk kemungkinan objek turunan AVStream: KSFILTERFACTORY, KSFILTER , dan KSPIN.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru dan di Microsoft DirectX 8.0 dan versi yang lebih baru. |
Header | ks.h (termasuk Ks.h) |