KSFILTER 構造体 (ks.h)
KSFILTER 構造体は、インスタンス化されたフィルターを記述します。
構文
typedef struct _KSFILTER {
const KSFILTER_DESCRIPTOR *Descriptor;
KSOBJECT_BAG Bag;
PVOID Context;
} KSFILTER, *PKSFILTER;
メンバーズ
Descriptor
この特定のフィルターの特性を記述する KSFILTER_DESCRIPTOR 構造体へのポインター。
Bag
このメンバーは、このフィルター インスタンスに関連付けられているKSOBJECT_BAG (PVOID 型と同等) を指定します。 オブジェクト バッグ は、動的メモリを特定の AVStream オブジェクトに関連付けるために使用される構造体です。 フィルターが削除されると、フィルター オブジェクト バッグ内のすべてのものが自動的にクリーンアップされます。
Context
コンテキスト情報を特定のフィルター インスタンスに関連付けるためにクライアントによって使用されるポインター。 通常、このようなコンテキスト情報は、このフィルター インスタンスのKSFILTER_DISPATCH テーブルで定義されているフィルターの メンバーの作成に関連付けられます。 動的に割り当てられたコンテキスト情報は、KsAddItemToObjectBagを使用してオブジェクト バッグに配置する必要があります。 コンテキスト は、フィルターの作成時に親 KSFILTERFACTORY の Context メンバーの値に初期化されます。 AVStream オブジェクト階層 を参照してください。
備考
ソフトウェア フィルターを実装するドライバーは、通常、フィルターの状態を KSFILTER 構造体に関連付けます。 ソフトウェア フィルターは、通常、対応する KSFILTER_DISPATCH 構造体の Process メンバーによって指定されたコールバック内でデータを処理します。
ハードウェア フィルターでは、ハードウェア ドライバーの焦点はプラットフォームの切り替え(ホストと外部ハードウェア間のデータの移動) であるため、通常は KSFILTER を使用しません。 この遷移は通常、AVStream キュー オブジェクトに関連付けられているコードによって処理されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Microsoft Windows XP 以降のオペレーティング システムおよび Microsoft DirectX 8.0 以降のバージョンで使用できます。 |
ヘッダー | ks.h (Ks.h を含む) |
関連項目
KsAddItemToObjectBag の