CBasePin.TryMediaTypes 方法
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
在给定媒体类型列表的情况下 TryMediaTypes
, 方法尝试使用其中一种类型完成连接。
语法
virtual HRESULT TryMediaTypes(
IPin *pReceivePin,
const CMediaType *pmt,
IEnumMediaTypes *pEnum
);
参数
-
pReceivePin
-
指向接收引脚的 IPin 接口的指针。
-
Pmt
-
指向限制可能媒体类型的 CMediaType 对象的指针,或 NULL。
-
pEnum
-
指向 IEnumMediaTypes 接口的 指针,用于枚举媒体类型列表。
返回值
返回 HRESULT 值。 可能的值包括下表中的值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
找不到可接受的媒体类型。 |
备注
对于 IEnumMediaTypes 接口返回的每个媒体类型,此方法通过调用 CBasePin::AttemptConnection 方法尝试连接。
如果 pmt 参数为非 NULL,则引脚将跳过与此类型不匹配的媒体类型。 pmt 参数可以指定部分媒体类型。 对于主类型、子类型或格式,分部媒体类型的值GUID_NULL。 GUID_NULL值与任何类型匹配,类似于“通配符”值。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|