AVStream の記述子
AVStream ミニドライバーは、KsInitializeDriver の呼び出しで入れ子になった記述子構造体を提供することによって、それ自体とサポートするフィルターの種類を記述します。 各キー コンポーネント (デバイス、 フィルター ファクトリ、ピン ファクトリ) には、記述子が関連付けられています。
AVStream オブジェクト階層に示すように、AVStream ミニドライバーの最上位レベルの記述子は、デバイス記述子 KSDEVICE_DESCRIPTOR です。
デバイス記述子では、FilterDescriptors メンバー は、このデバイスで作成できるフィルターの種類を記述する KSFILTER_DESCRIPTOR 構造体の配列を指します。 AVStream クライアントは、KsCreateFilterFactory を呼び出してフィルター ファクトリを動的に追加できます。
KSFILTER_DESCRIPTOR は、フィルターがサポートするピンの種類の数、フィルターを登録する KS カテゴリ、およびフィルターのトポロジを示します。 各フィルター記述子内で、ミニドライバーは、KSPIN_DESCRIPTOR_EX 構造体の配列へのポインターを提供します。 これらの各ピン記述子は、このフィルターでインスタンス化できるピンの種類を記述します。 KsFilterCreatePinFactory を呼び出すことで、追加のピン ファクトリを作成できます。
通常、AVStream ミニドライバーはソースに静的記述子テーブルをレイアウトし、KsInitializeDriver を呼び出してセットアップ作業を実行します。 ドライバーの初期化の詳細については、「AVStream ミニドライバーの初期化」を参照してください。
特定のトポロジ ノードを記述するノード記述子 KSNODE_DESCRIPTOR など、他の種類の記述子もあります。
ディスパッチ テーブルは、3 種類のメイン記述子のそれぞれに共通です。 AVStream Dispatch Tables を参照してください。