共用方式為


(ks.h) IKsControl 介面

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 介面完成,它就必須使用對 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概觀

規格需求

需求
目標平台 Windows
標頭 ks.h (包含 Ks.h)

另請參閱

IKsControl (ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface