(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 通常會透過呼叫 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概觀。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | ks.h (包含 Ks.h) |