Fungsi KsDeviceGetBusData (ks.h)

Fungsi KsDeviceGetBusData membaca data dari bus tempat perangkat AVStream yang diberikan berada.

Sintaks

KSDDKAPI ULONG KsDeviceGetBusData(
  [in] PKSDEVICE Device,
  [in] ULONG     DataType,
  [in] PVOID     Buffer,
  [in] ULONG     Offset,
  [in] ULONG     Length
);

Parameter

[in] Device

Penunjuk ke struktur KSDEVICE yang mewakili perangkat AVStream yang diberikan yang datanya harus dibaca dari bus.

[in] DataType

Parameter ini menunjukkan jenis data bus yang akan dibaca. Nol sesuai dengan ruang konfigurasi. Untuk informasi selengkapnya, lihat diskusi Tentang WhichSpace di halaman referensi untuk IRP_MN_READ_CONFIG.

[in] Buffer

Pointer ke buffer yang menerima data yang dibaca dari bus. Harus setidaknya sebesar Panjang.

[in] Offset

Parameter ini berisi offset byte dalam ruang yang ditentukan oleh DataType tempat data dibaca.

[in] Length

Parameter ini menentukan jumlah byte yang akan dibaca ke dalam Buffer.

Nilai kembali

KsDeviceGetBusData mengembalikan jumlah byte yang benar-benar dibaca dari bus. Jika terjadi kesalahan, nilai ini adalah nol.

Keterangan

Bergantung pada driver untuk bus tempat perangkat yang ditentukan berada, ada dua kemungkinan perilaku dan set pembatasan pada fungsi ini. Jika driver bus yang diberikan mendukung standar antarmuka bus (biasanya PCI), panggil fungsi ini di IRQL = PASSIVE_LEVEL atau DISPATCH_LEVEL. Setelah panggilan seperti itu, KsDeviceGetBusData mengembalikan jumlah byte aktual yang dibaca dari ruang yang diminta. Namun, jika sopir bus yang diberikan tidak mendukung standar antarmuka bus, AVStream berkomunikasi dengan pengemudi bus melalui IoCallDriver. Perhatikan bahwa ini membatasi penggunaan KsDeviceGetBusData ke IRQL = PASSIVE_LEVEL dan juga berarti bahwa nilai yang dikembalikan adalah 0, dalam kasus kegagalan, atau sama dengan Panjang jika akuisisi data berhasil.

Untuk memastikan kompatibilitas, penulis minidriver mungkin ingin membatasi penggunaan KsDeviceGetBusData ke IRQL = PASSIVE_LEVEL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru serta DirectX 8.0 dan versi DirectX yang lebih baru.
Target Platform Universal
Header ks.h (termasuk Ks.h)
Pustaka Ks.lib
IRQL PASSIVE_LEVEL (Lihat bagian Keterangan)

Lihat juga

IoCallDriver

KsDeviceSetBusData