次の方法で共有


IKsControl インターフェイス (ks.h)

IKsControl インターフェイスは、AVStream フィルターとピンに実装される COM スタイルのインターフェイスです。 これにより、カーネル モードのクライアントは AVStream オートメーション オブジェクト (プロパティ、メソッド、イベント) にアクセスできます。

このインターフェイスと同等のカーネル モードについては、 IKsControl (ksproxy.h) カーネル ストリーミング プロキシ COM インターフェイスを参照してください。

継承

IKsControl インターフェイスは、IUnknown インターフェイスから継承されます。

メソッド

IKsControl インターフェイスには、これらのメソッドがあります。

 
IKsControl::KsEvent

IKsControl::KsEvent メソッドは、イベント セットで使用できる他の定義されたサポート操作と共に、イベントを有効または無効にします。
IKsControl::KsMethod

IKsControl::KsMethod メソッドは、メソッド セットで使用できる他の定義されたサポート操作と共に、KS オブジェクトにメソッドを送信します。
IKsControl::KsProperty

IKsControl::KsProperty メソッドは、プロパティを設定するか、プロパティ情報を取得し、プロパティ セットで使用できる他の定義されたサポート操作と共に取得します。

注釈

メモ:IKsControl インターフェイスは、KSPROPERTYSETID_ExtendedCameraControl プロパティ セットのKSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTYプロパティと共に使用しないでください。IMFExtendedCameraController を使用してください。

ミニドライバーは通常、KsPinGetConnectedFilterInterface または KsPinGetConnectedPinInterface の呼び出しを通じて IKsControl インターフェイス取得します。 これは COM スタイルのインターフェイスであるため、このインターフェイスを取得する関数呼び出しは QueryInterface メソッドを呼び出し、次に AddRef メソッドを呼び出します。 そのため、ミニドライバーは、これらの手順を実行する必要はありません。

ただし、クライアントが IKsControl インターフェイスで終了するとすぐに、Release メソッドの呼び出しで IKsControl解放 する必要があります。

C で記述されたミニドライバーは、C++ 抽象基本クラスではなく、関数のテーブルへのポインターを含む構造体として IKsControl インターフェイスを操作します。

C++ で記述されたクライアントは、次の処理を行います。

IKsControl *Control;

if (NT_SUCCESS (
  KsPinGetConnectedPinInterface (
    Pin,
    IID_IKsControl,
    (PVOID *)&Control) )
) {
  Control -> KsProperty (...);
  Control -> Release ();
}

ただし、C で記述されたクライアントでは、代わりに次のコードが使用されます。

IKsControl *Control;

    If (NT_SUCCESS (
      KsPinGetConnectedPinInterface (
        Pin,
        IID_IKsControl,
        (PVOID *)&Control) )
    ) {
      Control -> lpVtbl -> KsProperty (...);
      Control -> lpVtbl -> Release ();
    }

詳細については、「 AVStream の概要」を参照してください。

要件

要件
対象プラットフォーム Windows
ヘッダー ks.h (Ks.h を含む)

こちらもご覧ください

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface