KS 屬性、事件和方法
核心串流架構可透過 屬性、 事件和 方法,支援迷你驅動程式與使用者模式用戶端之間的互動。 使用這些建構,KS 物件的用戶端可以取得和設定物件狀態、註冊事件的通知回呼,以及執行物件方法。
用戶端會以標準化的方式要求這三個作業類別。 用戶端會在呼叫DeviceIoControl時提供KSIDENTIFIER的別名結構, (如 Microsoft Windows SDK 檔) 或KsSynchronousDeviceControl中所述。
別名結構為 KSPROPERTY、 KSEVENT和 KSMETHOD。 這三者都包含下列參數:
設定
功能上類似的作業會群組在集合中。 每個屬性、事件或方法集都是由 GUID 來識別。 Microsoft 會定義標準技術特定作業的 GUID。 迷你驅動程式可以定義自己的自訂作業 GUID。
識別碼
每個作業都是由集合內的識別碼所指定。
作業特定的識別資料
某些屬性要求需要額外的資料。 例如,音訊裝置上的釘選支援 KSPROPSETID_Audio 屬性集。 音訊釘選可能支援數個不同的音訊通道。 取得或設定特定KSPROPSETID_Audio屬性的用戶端必須指定要求所套用的音訊通道。 事件和方法要求不需要額外的資料。
一般用途作業的 Microsoft 定義集 GUID 和識別碼位於標頭 ks.h中。 在 ksmedia.h中找到特定類別多媒體技術的標準 GUID 和識別碼。
AVStream 迷你驅動程式藉由提供相關KSFILTER_DESCRIPTOR或KSPIN_DESCRIPTOR_EX中KSAUTOMATION_TABLE結構的指標,來支援屬性、事件和方法。 KSAUTOMATION_TABLE包含 KSPROPERTY_SET 物件的陣列指標。 若要深入瞭解,請參閱 定義自動化資料表。
這些章節包含迷你驅動程式如何支援三個作業類別的相關資訊: