取得 HDAUDIO_BUS_INTERFACE_V2 DDI 物件
下表顯示函式驅動程式寫入 IRP_MN_QUERY_INTERFACE IOCTL 中的輸入參數值,以取得此結構所定義之 HD Audio DDI 版本的 HDAUDIO_BUS_INTERFACE_V2 結構和內容物件。
參數 | 值 |
---|---|
CONST GUID *InterfaceType |
GUID_HDAUDIO_BUS_INTERFACE_V2 |
USHORT 大小 |
sizeof (HDAUDIO_BUS_INTERFACE_V2) |
USHORT 版本 |
0x0100 |
PINTERFACE 介面 |
|
PVOID InterfaceSpecificData |
NULL |
函式驅動程式會為 HDAUDIO_BUS_INTERFACE_V2 結構配置儲存體,並在 IOCTL 中包含這個結構的指標。 在上表中, HDAUDIO_BUS_INTERFACE_V2 結構的指標會轉換成 PINTERFACE類型,這是 INTERFACE類型的結構的指標。 HDAUDIO_BUS_INTERFACE_V2前五個成員的名稱和 類型符合INTERFACE五個成員的名稱和類型。 HDAUDIO_BUS_INTERFACE_V2 包含其他成員,這些成員是 DDI 常式的函式指標。 為了回應從函式驅動程式接收 IOCTL,HD 音訊匯流排驅動程式會填入 HDAUDIO_BUS_INTERFACE_V2 結構。
下表顯示 HD 音訊匯流排驅動程式寫入 HDAUDIO_BUS_INTERFACE_V2 結構前五個成員的值。
成員 | 值 |
---|---|
USHORT 大小 |
sizeof (HDAUDIO_BUS_INTERFACE_V2) |
USHORT 版本 |
0x0100 |
PVOID 內容 |
必須當做第一個呼叫參數傳遞至每個 DDI 常式的內容資訊。 |
PINTERFACE_REFERENCE InterfaceReference |
遞增內容物件參考計數之常式的指標。 |
PINTERFACE_DEREFERENCE InterfaceDereference |
遞減內容物件參考計數之常式的指標。 |
在上表中, CoNtext 成員會指向內容物件,其中包含基準 HD 音訊 DDI 特定實例的特定資訊。 用戶端會從 IOCTL 取得此基準 HD 音訊 DDI。 當用戶端函式驅動程式呼叫 DDI 中的任何常式時,它必須一律將 CoNtext 成員值指定為第一個呼叫參數。 內容資訊對用戶端而言不透明。 HD 音訊匯流排驅動程式會為每個用戶端建立不同的內容物件。 當不再需要內容物件時,用戶端會呼叫上表所示的 InterfaceDereference 常式來釋放內容物件。 如果需要的話,用戶端可以藉由呼叫 InterfaceDereference 常式來建立物件的其他參考,但用戶端會負責在不再需要這些參考時釋放這些參考。