KsPinGetConnectedPinInterface 函数 (ks.h)

KsPinGetConnectedPinInterface 函数查询为 COM 样式接口连接的 Pin 的引脚。

语法

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 驱动程序,则会创建一个 thunk,它通过同步调用包含连接的引脚的驱动程序(使用 ioCallDriver)提供 IKsControl 支持。

KsPinGetConnectedPinInterface 最常见的用法是获取连接的引脚的控制接口。 此控制接口可用于对连接的引脚进行属性、方法或事件调用,也可以查询已聚合到连接的引脚上的接口。 如果连接的引脚为 AVStream 引脚,则为 AVStream 引脚;AVStream 仅针对非 AVStream 引脚的 IKsControlIUnknown 提供 thunking。

仅当 Pin 是源引脚时,才会创建 thunk;因此,仅当以下一个或多个为 true 时,调用才起作用:

  • 连接在 AVStream 内部(固定的已连接引脚为 AVStream 引脚)。
  • 固定 是源引脚。
否则,将返回STATUS_UNSUCCESSFUL。

要求

要求 价值
最低支持的客户端 Microsoft Windows XP 及更高版本的作系统以及 DirectX 8.0 及更高版本的 DirectX 版本中提供。
目标平台 普遍
标头 ks.h (包括 Ks.h)
Ks.lib
IRQL PASSIVE_LEVEL

另请参阅

IKsControl

IKsReferenceClock

KsFilterGetOuterUnknown

KsGetOuterUnknown

KsPinGetConnectedFilterInterface

KsPinGetReferenceClockInterface

KsRegisterAggregatedClientUnknown