ICaptureGraphBuilder2::CopyCaptureFile 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 CopyCaptureFile
从捕获文件复制有效的媒体数据。
语法
HRESULT CopyCaptureFile(
[in] LPOLESTR lpwstrOld,
[in] LPOLESTR lpwstrNew,
[in] int fAllowEscAbort,
[in] IAMCopyCaptureFileProgress *pCallback
);
参数
[in] lpwstrOld
指向包含源文件名称的宽字符字符串的指针。
[in] lpwstrNew
指向包含目标文件名的宽字符字符串的指针。 将有效数据复制到此文件。
[in] fAllowEscAbort
指定按 ESC 键是否取消复制操作的布尔值。 如果值为 TRUE ,并且用户按 ESC 键,则操作将停止。 如果值为 FALSE,该方法将忽略 ESC 键。
[in] pCallback
指向用于显示进度信息的 IAMCopyCaptureFileProgress 接口的指针,或 为 NULL。 有关更多信息,请参见备注。
返回值
返回 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
用户在操作完成之前取消了该操作。 |
|
成功。 |
|
失败。 |
|
无法打开源文件或目标文件。 |
|
内存不足。 |
|
NULL 指针参数。 |
备注
通常,将首先捕获到预分配的大型文件。 此方法仅将有效数据复制到新文件。 因此,新文件可能比原始文件小得多。
源文件和目标文件必须是 AVI 文件。 不支持其他文件类型。
若要显示复制操作的进度,请实现 IAMCopyCaptureFileProgress 接口,并在 pCallback 参数中传递指向 接口的指针。 如果 pCallback 为非 NULL,此方法会定期调用 IAMCopyCaptureFileProgress::P rogress 方法,其整数介于 0 和 100 之间,指定完成百分比。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |