Menginisialisasi AVStream Minidriver

Minidriver AVStream yang tidak menangani inisialisasi perangkat pada panggilannya sendiri KsInitializeDriver dari rutinitas DriverEntry minidriver. KsInitializeDriver menginisialisasi objek driver driver AVStream, selain pengiriman IRP, PnP menambahkan pesan perangkat, dan membongkar.

Dalam memanggil KsInitializeDriver, minidriver meneruskan penunjuk ke objek driver untuk menginisialisasi penunjuk ke jalur registri, dan secara opsional, objek deskriptor perangkat. Perhatikan bahwa meneruskan objek KSDEVICE_DESCRIPTOR tidak diperlukan. Jika minidriver melewati deskriptor perangkat, AVStream membuat perangkat dengan karakteristik yang ditentukan pada waktu AddDevice.

Objek deskriptor perangkat berisi penunjuk ke struktur KSDEVICE_DISPATCH serta array deskriptor filter. Berikan KSFILTER_DESCRIPTOR untuk setiap jenis filter yang didukung minidriver Anda. Saat minidriver memanggil KsInitializeDriver, AVStream membuat objek pabrik filter untuk setiap jenis filter yang diekspos oleh minidriver. Filter individual kemudian dibuat oleh pabrik filter setelah menerima IRP buat untuk item buat terkait. Setiap deskriptor filter berisi penunjuk ke array objek KSPIN_DESCRIPTOR_EX . AVStream membuat pabrik pin pada filter yang relevan untuk setiap jenis pin yang diekspos minidriver melalui filter tersebut.

Saat koneksi dibuat ke jenis pin tertentu pada filter, pabrik pin AVStream membuat objek pin. Perhatikan bahwa setiap filter harus mengekspos setidaknya satu pin. Minidriver menggunakan anggota InstancesNecessary dari KSPIN_DESCRIPTOR_EX untuk mengidentifikasi jumlah instans jenis pin ini yang diperlukan agar filter berfungsi dengan benar. Demikian pula, minidriver dapat memberlakukan maksimum pada jumlah pin yang dapat diinstansiasi oleh pabrik pin dengan menggunakan anggota InstancesPossible dari struktur ini.

AVStream mendukung dua jenis pemrosesan: pemrosesan yang ber sentris filter, dan pemrosesan yang ber sentris pin. Saat menjabarkan deskriptor, putuskan jenis pemrosesan mana yang akan dilakukan setiap jenis filter.

Menginstal AVStream Minidriver

Minidriver AVStream harus memiliki file INF yang digunakan sistem untuk menginstal driver. File INF AVStream didasarkan pada format INF umum, yang dijelaskan dalam Membuat File INF. Anda juga dapat merujuk ke file INF yang disediakan dengan driver sampel AVStream di Windows Driver Kit (WDK). Perlu diingat pedoman khusus AVStream berikut.

Jika Anda menulis minidriver untuk perangkat induk, bagian AddReg dari file INF Anda harus berisi:

[ParentName.AddReg]
HKR,"ENUM\[DeviceName]",pnpid,,"[string]"

Jika Anda menulis minidriver untuk perangkat anak, bagian AddReg harus berisi:

[Manufacturer]
...=ChildName
[ChildName]
...=ChildName.Device,AVStream\[string]

Perhatikan bahwa "AVStream" akan menjadi "Stream" untuk driver kelas stream.

Untuk semua minidriver AVStream, string referensi khusus filter dalam file INF harus cocok dengan anggota ReferenceGuid dari struktur KSFILTER_DESCRIPTOR .

Untuk informasi selengkapnya tentang deskriptor, lihat Deskriptor AVStream.