KS のプロパティ、イベント、メソッド

カーネル ストリーミング アーキテクチャでは、プロパティイベントメソッドを介したミニドライバーとユーザーモード クライアント間の対話式操作がサポートされています。 これらのコンストラクトを使用すると、KS オブジェクトのクライアントは、オブジェクトの状態の取得と設定、イベントの通知コールバックの登録、およびオブジェクト メソッドの実行を行うことができます。

クライアントは、標準化された方法で 3 つの操作クラスをすべて要求します。 クライアントは、DeviceIoControl (Microsoft Windows SDK ドキュメントで説明) または KsSynchronousDeviceControl の呼び出しで KSIDENTIFIER のエイリアス構造を提供します。

エイリアス構造体は KSPROPERTYKSEVENTKSMETHOD です。 これら 3 つすべてに、次のパラメーターが含まれます。

  • Set

    機能的に類似した操作は、セット内でグループ化されます。 各プロパティ、イベント、またはメソッド セットは GUID によって識別されます。 Microsoft では、標準的なテクノロジ固有の操作用の GUID を定義しています。 ミニドライバーは、カスタム操作用に独自の GUID を定義できます。

  • 識別子

    各操作は、セット内の ID 番号で指定されます。

  • 操作固有の識別データ

    特定のプロパティ要求には、追加のデータが必要です。 たとえば、オーディオ デバイス上のピンは、KSPROPSETID_Audio プロパティ セットをサポートします。 オーディオ ピンは、複数の異なるオーディオ チャンネルをサポートしている場合があります。 特定の KSPROPSETID_Audio プロパティを取得または設定するクライアントは、要求が適用されるオーディオ チャンネルを指定する必要があります。 イベント要求とメソッド要求では、追加のデータは必要ありません。

汎用操作用の Microsoft が定義したセット GUID と識別子は、ヘッダー ks.h にあります。 マルチメディア テクノロジの特定のクラスの標準 GUID と識別子は ksmedia.h にあります。

AVStream ミニドライバーは、関連する KSFILTER_DESCRIPTOR または KSPIN_DESCRIPTOR_EX 内の KSAUTOMATION_TABLE 構造体へのポインターを提供することで、プロパティ、イベント、およびメソッドをサポートします。 KSAUTOMATION_TABLEには、KSPROPERTY_SET オブジェクトの配列へのポインターが含まれています。 詳細については、「自動化テーブルの定義」を参照してください。

これらのセクションには、ミニドライバーが 3 つの操作クラスをサポートする方法に関する情報が含まれています。

KS のプロパティ

KS のイベント

KS のメソッド