CBasePin.AgreeMediaType 方法
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 AgreeMediaType
搜索媒体类型以建立固定连接。
语法
virtual HRESULT AgreeMediaType(
IPin *pReceivePin,
const CMediaType *pmt
);
参数
-
pReceivePin
-
指向接收引脚的 IPin 接口的指针。
-
Pmt
-
指向指定媒体类型的 CMediaType 对象的指针,或 NULL。
返回值
返回 HRESULT 值。 可能的值包括下表中的值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
找不到可接受的媒体类型。 |
备注
如果 pmt 参数为非 NULL 且完全指定媒体类型,则此方法将尝试使用该媒体类型进行连接。 如果尝试失败,该方法将返回错误。
如果 pmt 参数为 NULL 或指定部分媒体类型,则此方法按以下顺序尝试媒体类型:
- 接收引脚的首选媒体类型。
- 此固定的首选媒体类型。
首选媒体类型使用 CBasePin::EnumMediaTypes 方法枚举,生成的枚举器将传递给 CBasePin::TryMediaTypes 方法。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|