iamStreamSelect::Info 方法 (strmif.h)

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 Info 检索有关给定流的信息。

语法

HRESULT Info(
  [in]  long          lIndex,
  [out] AM_MEDIA_TYPE **ppmt,
  [out] DWORD         *pdwFlags,
  [out] LCID          *plcid,
  [out] DWORD         *pdwGroup,
  [out] LPWSTR        *ppszName,
  [out] IUnknown      **ppObject,
  [out] IUnknown      **ppUnk
);

参数

[in] lIndex

流的从零开始的索引。

[out] ppmt

接收指向流媒体类型的指针的变量的地址。 此参数是可选的,可以为 NULL。 如果值为非 NULL,则该方法返回指向 AM_MEDIA_TYPE 结构的指针。 调用方必须删除 结构,包括格式块。 (可以使用 DirectShow 基类 library.)

[out] pdwFlags

指向接收以下值之一的变量的指针:

说明
零个 此流已禁用。
AMSTREAMSELECTINFO_ENABLED 该流已启用,并且可能也启用了此组中的其他流。
AMSTREAMSELECTINFO_EXCLUSIVE 此流是组中唯一启用的流。
 

此参数是可选的,可以为 NULL

[out] plcid

指向接收 LCID) 值的区域设置上下文 (变量的指针。 如果流与特定区域设置相关联,则 LCID 将在此变量中返回。 否则,变量接收值零。 此参数是可选的,可以为 NULL

[out] pdwGroup

指向接收与流关联的逻辑组的变量的指针。 此参数是可选的,可以为 NULL

[out] ppszName

接收指向流名称的指针的变量的地址。 调用方必须通过调用 CoTaskMemFree 函数来释放返回的字符串。 此参数是可选的,可以为 NULL

[out] ppObject

接收 IUnknown 接口指针的变量的地址。 方法可能会返回指向与流关联的固定或筛选器的指针,也可能 返回 NULL 值。 如果方法返回非 NULL 值,则调用方必须释放 IUnknown 指针。

调用 IAMStreamSelect::Enable 方法可能会使此方法返回的对象失效。

此参数是可选的,可以为 NULL

MPEG-1 Stream拆分器MPEG-2 拆分器和SAMI (CC) 分析器筛选器返回指向与所选流关联的引脚的指针。

[out] ppUnk

接收 IUnknown 接口指针的变量的地址。 方法可能会返回指向特定于流的接口的指针,也可能返回值 NULL。 如果方法返回非 NULL 值,则调用方必须释放 IUnknown 指针。 此参数是可选的,可以为 NULL

MPEG-1 Stream拆分器、MPEG-2 拆分器和 SAMI (CC) 分析器筛选器均返回值 NULL。 第三方筛选器可能会返回指向自定义筛选器接口的指针。

返回值

返回 HRESULT 值。 可能的值包括以下值。

返回代码 说明
E_FAIL
失败。
E_OUTOFMEMORY
内存不足。
S_FALSE
索引超出范围。
S_OK
成功。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

错误和成功代码

IAMStreamSelect 接口