KSFILTERFACTORY 結構 (ks.h)
KSFILTERFACTORY 結構代表篩選處理站。
語法
typedef struct _KSFILTERFACTORY {
const KSFILTER_DESCRIPTOR *FilterDescriptor;
KSOBJECT_BAG Bag;
PVOID Context;
} KSFILTERFACTORY, *PKSFILTERFACTORY;
成員
FilterDescriptor
描述此處理站所建立篩選條件特性之 KSFILTER_DESCRIPTOR 結構的指標。
Bag
這個成員會指定與這個篩選處理站相關聯的KSOBJECT_BAG(相當於類型 PVOID)。 物件包是用來將易失記憶體與特定AVStream對象產生關聯的結構。 篩選處理站物件包中的任何項目都會在刪除篩選處理站時自動清除。 如需詳細資訊,請參閱 物件包 的概念一節。
Context
用戶端可用來將內容資訊與篩選處理站產生關聯的記憶體位址指標。 AVStream 不會以任何方式使用此成員。 請注意,與篩選處理站相關聯的任何動態記憶體都應該放在物件包中,KsAddItemToObjectBag。 Context 初始化為建立處理站時父系 KSDEVICE 之 Context 成員的值。 請參閱 AVStream 物件階層。
言論
篩選處理站明確表示裝置具現化指定篩選類型的能力,如篩選描述元所述。
硬體的驅動程式通常會使用此結構來管理公開為篩選類型之硬體的特定功能。 軟體篩選器通常不需要在此層級管理裝置。
篩選處理站物件會以兩種方式建立。 您可以在 AddDevice 處理期間建立它們,如裝置描述項的篩選描述項清單所指示。 用戶端也可以在呼叫 KsCreateFilterFactory中明確建立它們。 用戶端可以隨時建立篩選處理站,但在評估指派的資源時,通常會在處理 PnP 啟動 IRP 時完成,這表示裝置必須公開何種類型的篩選。
為了進行同步處理,以隱含方式建立的篩選處理站存留期定義為從用戶端裝置建立分派函式開始的間隔,並在用戶端的裝置 PnP 移除分派函式之後呼叫並結束。 呼叫 KsCreateFilterFactory 呼叫 KsCreateFilterFactory,以明確建立篩選處理站的存留期會在該呼叫傳回之後立即啟動。
請參閱 物件包。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Microsoft Windows XP 和更新版本的作系統,以及 Microsoft DirectX 8.0 和更新版本。 |
標頭 | ks.h (包括 Ks.h) |