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 通常會透過呼叫 KsPinGetConnectedFilterInterface 或 KsPinGetConnectedPinInterface取得 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) |