IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL (sidebandaudio.h)
音訊驅動程式會發出 IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR 控制程式代碼,以取得透過側帶音訊裝置介面公開的音訊端點相關信息。
主要程序代碼
輸入緩衝區
以 0 為基礎的端點索引值,根據 IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR所報告的音訊端點數目。
這是從 0 到 (N-1) 的 ULONG 值,其中 N 是裝置的端點數目。
輸入緩衝區長度
ULONG 的大小。
輸出緩衝區
包含 SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 結構的緩衝區,後面接著 結構所參考的任何其他數據。 如果輸出緩衝區大小足夠且要求成功,則會傳回這個值。 特別是,緩衝區包含 FriendlyName 欄位所參考之字串的記憶體 SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 結構。
輸出緩衝區長度
SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 結構和參考數據的大小。
狀態區塊
如果例程成功,則 Status 會設定為 STATUS_SUCCESS,而 Information 成員是例程寫入輸出緩衝區的位元元組數目。
如果 Status 設定為STATUS_BUFFER_TOO_SMALL,則音訊驅動程式應該讀取 資訊 成員,以取得呼叫端應配置給此要求的緩衝區大小。
言論
此 IOCTL 只能從核心模式呼叫。
音訊驅動程式會傳送此要求,以取得已啟用音訊側帶端點的相關信息。 在啟用介面時,資訊不會變更,但可以在停用介面時變更。 因此,音訊驅動程式會在探索已啟用的裝置介面后不久傳送此要求,並使用資訊來建置適當的KSFILTER_DESCRIPTOR結構。
音訊驅動程式會以零 (0) 的輸出緩衝區大小傳送此要求一次,以判斷所需的輸出緩衝區大小。 在此情況下,要求會完成狀態STATUS_BUFFER_TOO_SMALL,並將 資訊 成員設定為所需的緩衝區大小。 接著,音訊驅動程式會配置必要的儲存空間,並再次傳送要求。
要求
要求 | 價值 |
---|---|
標頭 | sidebandaudio.h |