Share via


取得HDAUDIO_BUS_INTERFACE DDI 物件

下表顯示函式驅動程式寫入 IOCTL IRP_MN_QUERY_INTERFACE IOCTL 中的輸入參數值,以取得這個結構所定義之 HD 音訊 DDI 版本的 HDAUDIO_BUS_INTERFACE 結構和內容物件。

參數

CONST GUID *InterfaceType

GUID_HDAUDIO_BUS_INTERFACE

USHORT 大小

sizeof (HDAUDIO_BUS_INTERFACE)

USHORT 版本

0x0100

PINTERFACE 介面

HDAUDIO_BUS_INTERFACE結構的指標

PVOID InterfaceSpecificData

NULL

函式驅動程式會為 HDAUDIO_BUS_INTERFACE 結構配置儲存體,並在 IOCTL 中包含這個結構的指標。 在上表中, HDAUDIO_BUS_INTERFACE 結構的指標會轉換成 PINTERFACE類型,這是 INTERFACE類型的結構的指標。 前五個成員的名稱和類型 HDAUDIO_BUS_INTERFACE 符合 INTERFACE五個成員的名稱和類型。 HDAUDIO_BUS_INTERFACE 包含其他成員,這些成員是 DDI 常式的函式指標。 為了回應從函式驅動程式接收 IOCTL,HD 音訊匯流排驅動程式會填入整個 HDAUDIO_BUS_INTERFACE 結構。

下表顯示 HD 音訊匯流排驅動程式寫入 HDAUDIO_BUS_INTERFACE 結構前五個成員的值。

成員

USHORT 大小

sizeof (HDAUDIO_BUS_INTERFACE)

USHORT 版本

0x0100

PVOID 內容

必須當做第一個呼叫參數傳遞至每個 DDI 常式的內容資訊

PINTERFACE_REFERENCE InterfaceReference

遞增內容物件參考計數之常式的指標

PINTERFACE_DEREFERENCE InterfaceDereference

遞減內容物件參考計數之常式的指標

在上表中, CoNtext 成員指向內容物件,其中包含用戶端從 IOCTL 取得之基準 HD 音訊 DDI 特定實例的特定資訊。 在 DDI 中呼叫任何常式時,用戶端函式驅動程式必須一律將 CoNtext 指標值指定為第一個呼叫參數。 內容資訊對用戶端而言不透明。 HD 音訊匯流排驅動程式會為每個用戶端建立不同的內容物件。 當不再需要內容物件時,用戶端會呼叫上表所示的 InterfaceDereference 常式來釋放內容物件。 如有需要,用戶端可以藉由呼叫 InterfaceReference 常式來建立物件的其他參考,但用戶端會負責在不再需要這些參考時釋放這些參考。