IOCTL_SBAUD_GET_MUTEPROPERTYVALUES IOCTL (sidebandaudio.h)
音訊驅動程式可以呼叫 IOCTL_SBAUD_GET_MUTEPROPERTYVALUES IOCTL 來查詢所有通道的靜音階梯式數據範圍和最小值/最大值。 然後應該針對基本支持傳回這些值 KSPROPERTY_AUDIO_MUTE。
主要程序代碼
輸入緩衝區
以 0 為基礎的端點索引值,根據 IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR所報告的音訊端點數目。 這是從 0 到 (N-1) 的 ULONG 值,其中 N 是裝置的端點數目。
輸入緩衝區長度
ULONG 的大小。
輸出緩衝區
KSPROPERTY_DESCRIPTION後面接著 KSPROPERTY_MEMBERSHEADER 和 Mute 階梯狀數據範圍,如 KSPROPERTY_DESCRIPTION 和 KSPROPERTY_MEMBERSHEADER中所述。
如果為 NULL,Irp->IoStatus.Information 將會設定為輸出緩衝區所需的位元組數目。
輸出緩衝區長度
除了所有KSPROPERTY_MEMBERSHEADER和步驟範圍之外,KSPROPERTY_DESCRIPTION的大小。 此大小會在 SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR中傳回。MutePropertyValuesSize。
狀態區塊
Irp->IoStatus.Status 設定為 STATUS_SUCCESS如果要求成功,否則,狀態為適當的錯誤條件作為 NTSTATUS 程式代碼。
如果輸出緩衝區為 NULL,Irp->IoStatus.Status 會設定為 STATUS_BUFFER_TOO_SMALL,而 Irp->IoStatus.Information 會設定為輸出緩衝區所需的位元組數目。
如果提供適當大小的輸出緩衝區,Irp->IoStatus.Information 會設定為寫入輸出緩衝區的位元元組數目。
如需詳細資訊,請參閱 NTSTATUS 值。
言論
此 IOCTL 只能從核心模式呼叫。
實作側帶音訊的音訊驅動程式應該透過 KS 篩選或音訊引擎節點中的靜音節點公告端點靜音。 這兩種方法都可以利用這個 IOCTL 所提供的基本支持資訊。
要求
要求 | 價值 |
---|---|
標頭 | sidebandaudio.h |