ICaptureGraphBuilder::SetOutputFileName 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
语法
HRESULT SetOutputFileName(
[in] const GUID *pType,
[in] LPCOLESTR lpstrFile,
[out] IBaseFilter **ppf,
[out] IFileSinkFilter **ppSink
);
参数
[in] pType
指向表示媒体子类型的 GUID 的指针。 必须是 &MEDIASUBTYPE_Avi
。
[in] lpstrFile
指向包含输出文件名的宽字符字符串的指针。
[out] ppf
指向表示多路复用器筛选器的 IBaseFilter 接口的指针的地址。 此方法递增 IBaseFilter 接口上的引用计数,因此在使用筛选器完成后,必须使用此参数上的 Release 方法递减引用计数。
[out] ppSink
指向表示文件编写器的 IFileSinkFilter 接口的指针的地址。 此方法递增 IFileSinkFilter 接口上的引用计数,因此在使用筛选器完成后,必须使用 Release 递减引用计数。
返回值
返回 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
失败。 |
|
无效的参数。 Audio-Video 交错 (AVI) 是唯一支持的输出格式。 |
|
内存不足。 |
|
NULL 指针参数。 |
|
出现了意外错误。 |
|
成功。 |
|
已成功创建 AVI 多路复用器筛选器的实例。 |
注解
此方法将多路复用器和文件编写器插入筛选器图,并调用 IFileSinkFilter::SetFileName 来设置输出文件名。
在调用 RenderStream 时,可以使用此方法返回的 ppf 参数作为 pfRenderer 参数。
可以在调用 SetFileName 时使用此方法中的 pSink 参数来更改由 设置的ICaptureGraphBuilder::SetOutputFileName
文件名。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Reference:_Dshowh |
目标平台 | Windows |
标头 | strmif.h |
DLL | Quartz.dll |