Audio 屬性要求

Microsoft Windows 驅動程式模型 (WDM) 音訊驅動程式的用戶端可以將 KS 屬性 的要求傳送至驅動程式已具現化的 KS 篩選器和釘選。 例如,使用者模式用戶端可以呼叫DeviceIoControl函式來傳送 KS 屬性要求, (請參閱Microsoft Windows SDK檔) 與 I/O 控制程式碼IOCTL_KS_PROPERTY。 此函式會將包含屬性要求的 IRP 傳送至指定的篩選或釘選物件。

音訊驅動程式支援在屬性 (KSPROPERTY_TYPE_GET、KSPROPERTY_TYPE_SET和KSPROPERTY_TYPE_BASICSUPPORT) 上取得、設定和基本支援要求。 如需詳細資訊,請參閱 音訊驅動程式屬性集

用戶端可以傳送三種屬性的要求:篩選屬性、釘選屬性和節點屬性。 如需詳細資訊,請參閱 篩選、釘選和節點屬性

將篩選屬性要求傳送至篩選物件時,用戶端會依其實例控制碼指定目標篩選, (請參閱 Filter Factory) 。 同樣地,將 pin 屬性要求傳送至 pin 物件時,目標針腳是由其實例控制碼所指定, (請參閱 Pin Factory) 。 任一類型的要求都包含指定下列專案的 KSPROPERTY 結構:

  • 識別屬性集的 GUID

  • 索引,識別指定之屬性集內的屬性專案

  • 旗標,指出取得、設定或基本支援 (屬性要求的類型)

相關屬性會收集在一起,以形成屬性集。 特定屬性是由其屬性集和索引識別,指定其在該集合內的位置。

節點屬性要求包含 KSNODEPROPERTY 結構,其結合了 KSPROPERTY 結構和節點識別碼。 視節點屬性而定,屬性要求的目標為篩選實例或釘選實例。

如果篩選準則可以建立一個以上的特定節點類型的實例,要求的目標是由釘選控制碼指定。 控制碼會識別節點實例所在資料路徑開頭或結尾的針腳實例。 如果篩選包含 SUM 或 MUX 節點 (請參閱 KSNODETYPE_SUMKSNODETYPE_MUX) ,則適用下列規則:

  • 如果屬性屬於位於接收下游的節點, (輸入) 針腳,並從 SUM 或 MUX 節點上游,屬性要求會傳送至接收針腳。

  • 如果屬性屬於位於 SUM 或 MUX 節點下游的節點,且從來源 (輸出上游) 針腳,則會將屬性要求傳送至來源針腳。 (此外,SUM 或 MUX 節點的屬性要求會傳送至來源 pin。)

使用這些慣例,可以唯一識別特定資料路徑上的特定節點。

如需使用混音器 API 周遊資料路徑中節點的相關資訊,請參閱 核心串流拓撲至音訊混音器 API 翻譯