Mendapatkan Objek DDI HDAUDIO_BUS_INTERFACE_V2

Tabel berikut menunjukkan nilai parameter input yang ditulis driver fungsi ke dalam IRP_MN_QUERY_INTERFACE IOCTL untuk mendapatkan struktur HDAUDIO_BUS_INTERFACE_V2 dan objek konteks untuk versi HD Audio DDI yang ditentukan struktur ini.

Parameter Nilai

CONST GUID *InterfaceType

GUID_HDAUDIO_BUS_INTERFACE_V2

Ukuran USHORT

sizeof(HDAUDIO_BUS_INTERFACE_V2)

Versi USHORT

0x0100

Antarmuka PINTERFACE

Struktur pointer ke HDAUDIO_BUS_INTERFACE_V2

Antarmuka PVOIDSpecificData

NULL

Driver fungsi mengalokasikan penyimpanan untuk struktur HDAUDIO_BUS_INTERFACE_V2 dan menyertakan penunjuk ke struktur ini dalam IOCTL. Dalam tabel sebelumnya, penunjuk ke struktur HDAUDIO_BUS_INTERFACE_V2 ditransmisikan untuk mengetik PINTERFACE, yang merupakan penunjuk ke struktur jenis INTERFACE. Nama dan jenis lima anggota pertama HDAUDIO_BUS_INTERFACE_V2 cocok dengan lima anggota INTERFACE. HDAUDIO_BUS_INTERFACE_V2 berisi anggota tambahan yang merupakan penunjuk fungsi ke rutinitas DDI. Sebagai tanggapan untuk menerima IOCTL dari driver fungsi, driver bus HD Audio mengisi struktur HDAUDIO_BUS_INTERFACE_V2 .

Tabel berikut menunjukkan nilai yang ditulis driver bus HD Audio ke dalam lima anggota pertama struktur HDAUDIO_BUS_INTERFACE_V2 .

Anggota Nilai

Ukuran USHORT

sizeof(HDAUDIO_BUS_INTERFACE_V2)

Versi USHORT

0x0100

Konteks PVOID

Informasi konteks yang harus diteruskan sebagai parameter panggilan pertama ke setiap rutinitas DDI.

PINTERFACE_REFERENCE InterfaceReference

Penunjuk ke rutinitas yang menambah jumlah referensi objek konteks.

PINTERFACE_DEREFERENCE InterfaceDereference

Penunjuk ke rutinitas yang mengurangi jumlah referensi objek konteks.

Dalam tabel sebelumnya, anggota Konteks menunjuk ke objek konteks yang berisi informasi yang khusus untuk instans tertentu dari DDI Audio HD garis besar. Klien mendapatkan DDI Hd Audio garis besar ini dari IOCTL. Ketika driver fungsi klien memanggil salah satu rutinitas di DDI, driver harus selalu menentukan nilai anggota Konteks sebagai parameter panggilan pertama. Informasi konteks buram bagi klien. Driver bus HD Audio membuat objek konteks yang berbeda untuk setiap klien. Ketika objek konteks tidak lagi diperlukan, klien membebaskan objek konteks dengan memanggil rutinitas InterfaceDereference yang ditunjukkan pada tabel sebelumnya. Jika diperlukan, klien dapat membuat referensi tambahan ke objek dengan memanggil rutinitas InterfaceDereference , tetapi klien bertanggung jawab untuk merilis referensi ini ketika tidak lagi memerlukannya.