取得HDAUDIO_BUS_INTERFACE_BDL DDI 物件
如先前所述,音訊或數據機編解碼器的函式驅動程式會藉由將 IRP_MN_QUERY_INTERFACE IOCTL 傳送至 HD 音訊匯流排驅動程式,以取得具有 HD 音訊 DDI 之物件的計數參考。
下表顯示函式驅動程式寫入 IOCTL 的輸入參數值,以取得此結構所定義之 HD Audio DDI 版本的 HDAUDIO_BUS_INTERFACE_BDL 結構和內容物件。
參數 | 值 |
---|---|
CONST GUID *InterfaceType |
GUID_HDAUDIO_BUS_INTERFACE_BDL |
USHORT 大小 |
sizeof (HDAUDIO_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 音訊匯流排驅動程式寫入 HDAUDIO_BUS_INTERFACE_BDL 結構前五個成員的值。
成員 | 值 |
---|---|
USHORT 大小 |
sizeof (HDAUDIO_BUS_INTERFACE_BDL) |
USHORT 版本 |
0x0100 |
PVOID 內容 |
需要作為第一個呼叫參數傳遞至每個 DDI 常式的內容資訊 |
PINTERFACE_REFERENCE InterfaceReference |
遞增內容物件參考計數之常式的指標 |
PINTERFACE_DEREFERENCE InterfaceDereference |
遞減內容物件參考計數之常式的指標 |
在上表中, CoNtext 成員指向內容物件,其中包含用戶端從 IOCTL 取得之特定 DDI 版本之 HDAUDIO_BUS_INTERFACE_BDL特定實例的資訊。 如先前所述,呼叫 DDI 中的任何常式時,用戶端函式驅動程式一律必須將 CoNtext 指標值指定為第一個呼叫參數。