共用方式為


取得 HDAUDIO_BUS_INTERFACE_BDL DDI 物件

如先前所述,音訊或數據機編解碼器的函式驅動程式會藉由將 IRP_MN_QUERY_INTERFACE IOCTL 傳送至 HD 音訊總線驅動程式,以取得具有 HD Audio DDI 之物件的計數參考。

下表顯示函式驅動程式寫入IOCTL的輸入參數值,以取得此結構所定義之 HD Audio DDI 版本的 HDAUDIO_BUS_INTERFACE_BDL 結構和內容物件。

參數 價值

CONST GUID * InterfaceType

GUID_HDAUDIO_BUS_INTERFACE_BDL

USHORT #B0 大小 #C1

sizeofHDAUDIO_BUS_INTERFACE_BDL

USHORT 版本

0x0100

PINTERFACE 介面

HDAUDIO_BUS_INTERFACE_BDL 結構的指標

PVOID InterfaceSpecificData

NULL

函式驅動程式會配置 HDAUDIO_BUS_INTERFACE_BDL 結構的記憶體,並在IOCTL中包含此結構的指標。 在上表中,HDAUDIO_BUS_INTERFACE_BDL 結構的指標被轉換為 PINTERFACE 類型,這是指向 INTERFACE 類型的結構的指標。 HDAUDIO_BUS_INTERFACE_BDL前五個成員的名稱和類型符合 INTERFACE 五個成員的名稱和類型。 HDAUDIO_BUS_INTERFACE_BDL 包含其他成員,這些成員是 DDI 例程的函式指標。 為了回應從函式驅動程式接收到的 IOCTL 命令,HD 音訊總線驅動程式會填入整個 HDAUDIO_BUS_INTERFACE_BDL 構造體。

下表顯示 HD Audio 總線驅動程式寫入 HDAUDIO_BUS_INTERFACE_BDL 結構前五個成員的值。

會員 價值

USHORT #B0 大小 #C1

sizeofHDAUDIO_BUS_INTERFACE_BDL

USHORT 版本

0x0100

PVOID Context

每個 DDI 例程需要以第一個呼叫參數的形式傳遞的上下文資訊

PINTERFACE_REFERENCE #B0 介面參考 #C1

指向遞增上下文對象參考次數的程式例程的指標

PINTERFACE_DEREFERENCE InterfaceDereference

用於遞減上下文物件參考計數的例程指標

在上表中,Context 成員指向一個上下文物件,其中包含特定於從 IOCTL 取得的 DDI 的 HDAUDIO_BUS_INTERFACE_BDL 版本的特定實例之資訊。 如先前所述,在 DDI 中呼叫任何例程時,用戶端函式驅動程式必須一律將 Context 指標值指定為第一個呼叫參數。