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)

Lihat juga

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KSFILTER

KSFILTERFACTORY

KSPIN

KsAddItemToObjectBag

KsGetDeviceForDeviceObject