KSFILTERFACTORY 結構 (ks.h)

KSFILTERFACTORY 結構代表篩選處理站。

語法

typedef struct _KSFILTERFACTORY {
  const KSFILTER_DESCRIPTOR *FilterDescriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
} KSFILTERFACTORY, *PKSFILTERFACTORY;

成員

FilterDescriptor

描述此處理站所建立之篩選特性 的KSFILTER_DESCRIPTOR 結構的指標。

Bag

這個成員指定與這個篩選處理站相關聯的類型 PVOID) 相等的KSOBJECT_BAG (。 物件包是用來將易失記憶體與特定AVStream對象產生關聯的結構。 篩選處理站物件包中的任何項目都會在刪除篩選處理站時自動清除。 如需詳細資訊,請參閱 物件包 的概念一節。

Context

用戶端可用來將內容資訊與篩選處理站產生關聯之內存位址的指標。 AVStream 不會以任何方式使用此成員。 請注意,與篩選處理站相關聯的任何動態記憶體都應該放在具有 KsAddItemToObjectBag 的物件包中。 內容會在建立處理站時初始化為父 KSDEVICE的內容成員值。 請參閱 AVStream物件階層

備註

篩選處理站明確表示裝置具現化指定類型的篩選功能,如篩選描述項所述。

硬體的驅動程式通常會使用此結構來管理公開為篩選類型之硬體的特定功能。 軟體篩選通常不需要在此層級管理裝置。

篩選處理站物件會以兩種方式建立。 您可以在 AddDevice 處理期間建立它們,如裝置描述元的篩選描述項清單所指示。 用戶端也可以在呼叫 KsCreateFilterFactory 時明確建立它們。 用戶端可以隨時建立篩選處理站,但當評估指派的資源指出裝置必須公開何種類型的篩選條件時,通常會在處理 PnP 啟動 IRP 期間完成。

為了進行同步處理,隱含建立的篩選處理站存留期會定義為從客戶端的裝置建立分派函式 (開始的間隔,) 或會在用戶端裝置 PnP 移除分派函式 (或呼叫) 之後呼叫和結束。 呼叫 KsCreateFilterFactory 以明確建立的篩選處理站存留期會在該呼叫傳回之後立即啟動。

另請參閱 物件包

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows XP 和更新版本的作業系統和 Microsoft DirectX 8.0 和更新版本中使用。
標頭 ks.h (包含 Ks.h)

另請參閱

KSFILTER_DESCRIPTOR

KsAddItemToObjectBag

KsCreateFilterFactory