KsPinGetConnectedPinInterface 函数 (ks.h)
KsPinGetConnectedPinInterface 函数查询 PIN 连接到 COM 样式接口的引脚。
语法
KSDDKAPI NTSTATUS KsPinGetConnectedPinInterface(
[in] PKSPIN Pin,
[in] const GUID *InterfaceId,
[out] PVOID *Interface
);
参数
[in] Pin
指向 KSPIN 结构的指针。 AVStream 查询连接到 Pin 的引脚 以获取请求的接口。
[in] InterfaceId
指向 GUID 的指针,指定要获取的接口类型。 会自动为此接口执行 QueryInterface 调用。
[out] Interface
指向 AVStream 设置为 COM 接口位置的指针的指针。
返回值
KsPinGetConnectedPinInterface 返回STATUS_SUCCESS或STATUS_NOINTERFACE。 请查看下面的详细信息。
注解
接口 具有相应的引用计数, 并且必须由 调用方释放,如 COM 中所示。
如果接口存在于连接的引脚上或 AVStream thunk 中,此例程将返回STATUS_SUCCESS。 如果返回STATUS_SUCCESS,AVStream 会将接口指针放入 *Interface。 否则,例程返回STATUS_NOINTERFACE。 这对应于 COM HRESULT E_NOINTERFACE。
默认情况下,对象支持 IUnknown 接口和 IKsControl 接口。 如果连接的引脚是 AVStream 引脚,则查询和返回的接口指针是直接调用其他驱动程序。 另一方面,如果连接的引脚不属于 AVStream 驱动程序,则会使用 IoCallDriver 创建一个 thunk,通过同步调用包含已连接引脚的驱动程序来提供 IKsControl 支持。
KsPinGetConnectedPinInterface 最常见的用法是获取连接的引脚的控制接口。 此控制接口可用于对连接的引脚进行属性、方法或事件调用,也可以查询已聚合到连接引脚上的接口。 如果连接的引脚是 AVStream 引脚;AVStream 仅为非 AVStream 引脚的 IKsControl 和 IUnknown 提供 thunking。
仅当 Pin 是源引脚时,才会创建 thunk;因此,仅当以下一项或多项为 true 时,调用才起作用:
- 连接是 AVStream 内部 (Pin 的连接引脚是 AVStream 引脚) 。
- Pin 是源引脚。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Microsoft Windows XP 及更高版本的操作系统以及 DirectX 8.0 及更高版本的 DirectX 中可用。 |
目标平台 | 通用 |
标头 | ks.h (包括 Ks.h) |
Library | Ks.lib |
IRQL | PASSIVE_LEVEL |
另请参阅
KsPinGetConnectedFilterInterface