預設Data-Intersection處理常式
配接器的專屬資料交集處理常式 (miniport 驅動程式物件的 IMiniport::D ataRangeIntersection 方法) 可以藉由傳回STATUS_NOT_IMPLEMENTED狀態碼來拒絕執行資料交集檢查。 在此情況下,埠驅動程式的預設資料交集處理常式會代表配接器執行檢查。
您可以將配接器驅動程式的最小資料交集處理常式實作為 DataRangeIntersection 方法,藉由傳回STATUS_NOT_IMPLEMENTED來拒絕所有資料交集要求。
埠驅動程式預設處理常式的目前實作受限於它可以處理的資料範圍類型:
僅限 PCM 資料格式
僅單聲道和身歷聲音訊串流
支援非 PCM 或多重通道格式的介面卡驅動程式應該實作專屬的資料交集處理常式,而不是依賴埠驅動程式來處理這些格式的資料交集。
此外,預設處理常式只支援 可由KSDATAFORMAT_DSOUND 或 KSDATAFORMAT_WAVEFORMATEX 結構指定的音訊格式。 它不支援任何格式,其中包含 包含一個以上的通道之格式 ,例如,為具有兩個以上通道的格式指定通道遮罩。
從兩個數據範圍之間的交集選擇通用格式時,埠驅動程式的預設處理常式一律會在每個參數的交集區域中選取最高值:
如果交集跨越多個有效的取樣頻率, (11、22 和 44 kHz,例如) ,則預設處理常式會挑選最高的頻率。
如果交集跨越多個有效的每個樣本值 (8、16 和 32 位,例如) ,則預設處理常式會挑選最大值。
如果交集同時跨越單聲道和身歷聲格式,則預設處理常式會挑選身歷聲。
如果預設處理常式選取不滿意的格式,則配接器驅動程式可以選擇拒絕格式的 NewStream 呼叫 (,例如,請參閱 SysAudio 嘗試建立格式的接收針腳時,請參閱 IMiniportWavePci::NewStream) 。 如果呼叫失敗,SysAudio 將不會繼續尋找資料交集。 相反地,它會嘗試逐一查看系統篩選器支援的 PCM 格式清單,例如 KMixer,直到找到介面卡的接收針腳也可以支援的 PCM 格式清單來建立連線。 清單會先以較高的品質格式排序。 如同之前,配接器會失敗 NewStream 呼叫這些格式,以拒絕清單中的不滿意格式。