共用方式為


IKsControl 介面 (ks.h)

IKsControl 介面是在 AVStream 篩選和針腳上實作的 COM 樣式介面。 它可讓核心模式中的用戶端存取AVStream自動化物件(屬性、方法和事件)。

如需與此介面同等的核心模式相關信息,請參閱 IKsControl (ksproxy.h) kernel-streaming Proxy 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

Minidrivers 通常會透過呼叫 KsPinGetConnectedFilterInterfaceKsPinGetConnectedPinInterface取得 IKsControl 介面。 因為這是 COM 樣式介面,因此取得此介面的函式呼叫會呼叫 QueryInterface 方法,進而呼叫 addRef 方法。 因此,迷你驅動程式不需要執行這些步驟。

不過,一旦用戶端使用 IKsControl 介面完成,它就必須釋放 IKsControl,並呼叫 Release 方法。

以 C 撰寫的 Minidrivers 會作 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 概觀

要求

要求 價值
目標平臺 窗戶
標頭 ks.h (包括 Ks.h)

另請參閱

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface