釘選Data-Range和交集屬性
數個屬性要求會提供音訊裝置能夠在其輸入和輸出針腳上處理之音訊資料流程之資料格式的相關資訊。
針腳能夠支援的音訊資料流程資料格式會以KSDATARANGE衍生結構的KSMULTIPLE_ITEM陣列表示。 釘選資料範圍支援會透過篩選準則上的下列三 個KSPROPSETID_Pin 屬性來公開:
KSPROPERTY_PIN_DATARANGES 此屬性會報告靜態的資料範圍,並代表支援的所有可能格式。 一般而言,資料範圍包含在配接器驅動程式的靜態陣列中。 KSPROPERTY_PIN_CONSTRAINEDDATARANGES 此屬性會報告動態的資料範圍,並代表屬性要求時支援的格式子集。 屬性處理常式應該包含邏輯,以決定針腳在執行時間支援的格式。 例如,硬體實作可能有 DMA 條件約束,不允許在特定格式組合中支援全雙工。 KSPROPERTY_PIN_DATAINTERSECTION 此屬性會從資料範圍清單中選取資料格式。 選取是以動態功能為基礎,而格式取自驅動程式在屬性要求時可支援的格式子集。 若要使用這個屬性,呼叫端會提供資料範圍的陣列。 從第一個專案開始,屬性處理常式會搜尋陣列,直到它找到目前能夠支援的資料範圍為止。 如果成功,處理常式會輸出從該資料範圍取得的資料格式,並傳回STATUS_SUCCESS。 否則,處理常式會傳回STATUS_NO_MATCH。 音訊系統元件會使用 KSPROPERTY_PIN_DATARANGES 和 KSPROPERTY_PIN_DATAINTERSECTION 屬性。 迷你埠驅動程式應該支援這些屬性。 KSPROPERTY_PIN_CONSTRAINEDDATARANGES支援是選擇性的。
如需詳細資訊,請參閱 音訊資料格式和資料範圍。
注意 每個KSPROPERTY_PIN_DATARANGES和KSPROPERTY_PIN_CONSTRAINEDDATARANGES都是以 8 位元組對齊的位址開始。