次の方法で共有


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 テーブルで定義されているフィルターの Create メンバーに関連付けられます。 動的に割り当てられたコンテキスト情報は、 KsAddItemToObjectBag を使用してオブジェクト バッグに配置する必要があります。 コンテキストは、フィルターの作成時に親 KSFILTERFACTORYContext メンバーの値に初期化されます。 AVStream オブジェクト階層に関するページを参照してください。

注釈

ソフトウェア フィルターを実装するドライバーは、通常、フィルターの状態を KSFILTER 構造体に関連付けます。 ソフトウェア フィルターは、通常、対応するKSFILTER_DISPATCH構造体の Process メンバーによって指定されたコールバック内でデータ 処理します。

ハードウェア ドライバーの焦点はプラットフォームの切り替え (ホストと外部ハードウェア間のデータの移動) であるため、通常、ハードウェア フィルターでは KSFILTER は使用されません。 この遷移は、通常、AVStream キュー オブジェクトに関連付けられているコードによって処理されます。

オブジェクト バッグ」も参照してください。

要件

要件
サポートされている最小のクライアント Microsoft Windows XP 以降のオペレーティング システムおよび Microsoft DirectX 8.0 以降のバージョンで使用できます。
Header ks.h (Ks.h を含む)

こちらもご覧ください

KSFILTER_DESCRIPTOR

KSFILTER_DISPATCH

KsAddItemToObjectBag

KsCompletePendingRequest