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 概述。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | ks.h (包括 Ks.h) |