次の方法で共有


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

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 Overview」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム ウィンドウズ
ヘッダー ks.h (Ks.h を含む)

関連項目

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface