DirectShow 错误和成功代码
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
本主题列出了为 DirectShow 定义的 HRESULT 返回代码。 请注意,DirectShow API 可以返回此处未显示的其他 HRESULT 值。 有关其他 HRESULT 值,请参阅 COM 错误代码。
下表按数字顺序包含特定于 DirectShow 的错误和成功代码。 以 VFW_S_ 开头的返回代码表示成功。 操作可能部分成功,但仍具有成功的返回值。 例如, VFW_S_SOME_DATA_IGNORED 指示文件是通过忽略其某些属性设置呈现的。 以 VFW_E_ 开头的返回代码指示错误。
这些值在头文件 Vfwmsgs.h 中定义。
常量/值 | 说明 |
---|---|
|
到达列表末尾;列表中不再有项目。 (筛选器开发人员: CBasePin::GetMediaType 方法应返回此值。) |
|
尝试添加具有重复名称的筛选器已成功,但名称已修改。 |
|
状态转换未完成。 |
|
某些流的格式不受支持。 |
|
该文件包含一些未使用的属性设置。 |
|
某些连接失败并已延迟。 |
|
不再需要指定的资源。 |
|
已成功加载 GraphEdit (.grf) 文件,但至少使用与 GraphEdit 文件中存储的媒体类型不同的媒体类型连接了两个引脚。 |
|
无法播放视频流:找不到合适的呈现器。 |
|
无法播放音频流:找不到合适的呈现器。 |
|
无法播放视频流:不支持格式“RPZA”。 |
|
必须估计返回的值。 无法保证其准确性。 |
|
此成功代码保留用于 DirectShow 中的内部目的。 |
|
该流已关闭。 |
|
筛选器处于活动状态,但无法传递数据。 请参阅 IMediaFilter::GetState。 |
|
示例具有开始时间,但没有停止时间。 在这种情况下,返回的停止时间设置为开始时间加 1。 |
|
预览是通过 Smart Tee 筛选器呈现的,因为捕获筛选器没有预览固定。 |
|
当前标题不是 PGC) (一组连续的章节,因此计时信息可能不是连续的。 |
|
音频流不包含足够的信息来确定每个通道的内容。 |
|
DVD 上的查找操作帧不准确。 |
|
指定的媒体类型无效。 |
|
指定的媒体子类型无效。 |
|
此对象只能创建为聚合对象。 |
|
枚举对象的状态已更改,现在与枚举器的状态不一致。 放弃以前调用枚举器时获取的任何数据,然后通过调用枚举器的 Reset 方法更新枚举器。 |
|
操作中涉及的至少一个引脚已连接。 |
|
无法执行此操作,因为筛选器处于活动状态。 |
|
其中一个指定的引脚不支持媒体类型。 |
|
这些引脚之间没有常见的媒体类型。 |
|
无法连接同一方向的两个引脚。 |
|
无法执行该操作,因为引脚未连接。 |
|
没有可用的示例缓冲区分配器。 |
|
发生运行时错误。 |
|
尚未设置缓冲区空间。 |
|
缓冲区不够大。 |
|
指定的对齐方式无效。 |
|
分配器未提交。 请参阅 IMemAllocator::Commit。 |
|
一个或多个缓冲区仍处于活动状态。 |
|
分配器未处于活动状态时无法分配示例。 |
|
无法分配内存,因为尚未设置任何大小。 |
|
无法锁定同步,因为尚未定义时钟。 |
|
无法发送质量消息,因为尚未定义质量接收器。 |
|
尚未实现所需的接口。 |
|
找不到对象或名称。 |
|
找不到中间筛选器的组合来建立连接。 |
|
找不到用于呈现流的筛选器组合。 |
|
无法动态更改格式。 |
|
尚未设置任何颜色键。 |
|
当前引脚连接未使用 IOverlay 传输。 |
|
当前引脚连接未使用 IMemInputPin 传输。 |
|
设置颜色键会与已设置的调色板冲突。 |
|
设置调色板会与已设置的颜色键冲突。 |
|
没有匹配的颜色键可用。 |
|
没有可用的调色板。 |
|
显示不使用调色板。 |
|
当前显示设置的颜色太多。 |
|
等待处理示例时状态已更改。 |
|
无法执行该操作,因为筛选器未停止。 |
|
无法执行该操作,因为筛选器未暂停。 |
|
无法执行该操作,因为筛选器未运行。 |
|
无法执行该操作,因为筛选器处于错误状态。 |
|
样本开始时间晚于样本结束时间。 |
|
提供的矩形无效。 |
|
此引脚不能使用提供的媒体类型。 |
|
无法呈现此示例。 |
|
无法呈现此示例,因为已到达流的末尾。 |
|
尝试添加具有重复名称的筛选器失败。 |
|
超时已过期。 |
|
文件格式无效。 |
|
该列表已用尽。 |
|
筛选器图为圆形。 |
|
在此状态下不允许汇报。 |
|
过去曾尝试将命令排队一段时间。 |
|
已取消排队的命令。 |
|
无法呈现文件,因为它已损坏。 |
|
IOverlay 建议链接已存在。 |
|
没有可用的全屏模式。 |
|
无法取消此建议,因为它未成功设置。 |
|
全屏模式不可用。 |
|
在全屏模式下无法调用 IVideoWindow 方法。 |
|
无法识别此文件的媒体类型。 |
|
无法加载此文件的源筛选器。 |
|
文件似乎不完整。 |
|
文件的版本号无效。 |
|
此文件已损坏:它包含无效的类标识符。 |
|
此文件已损坏:它包含无效的媒体类型。 |
|
尚未为此示例设置时间戳。 |
|
未为此示例设置媒体时间。 |
|
未选择媒体时间格式。 |
|
无法更改平衡,因为音频设备仅是单声设备。 |
|
无法播放视频流:找不到合适的解压缩器。 |
|
无法播放音频流:没有音频硬件可用,或者不支持硬件。 |
|
无法播放视频流:不支持格式“RPZA”。 |
|
DirectShow 无法在此处理器上播放 MPEG 电影。 |
|
无法播放音频流:不支持音频格式。 |
|
无法播放视频流:不支持视频格式。 |
|
DirectShow 无法播放此视频流,因为它超出了受约束的标准。 |
|
无法对不在筛选器图中的对象执行请求的函数。 |
|
无法访问 对象上的时间格式。 |
|
无法建立连接,因为流是只读的,并且筛选器会更改数据。 |
|
缓冲区不够满。 |
|
无法播放文件:不支持格式。 |
|
引脚无法连接,因为它们不支持相同的传输。 例如,上游筛选器可能需要 IAsyncReader 接口,而下游筛选器可能需要 IMemInputPin。 |
|
设备无法正确读取视频 CD 或数据已损坏。 |
|
此显示分辨率和颜色数量没有足够的视频内存。 降低分辨率可能会有所帮助。 |
|
视频端口连接协商过程失败。 |
|
未安装 DirectDraw 或视频卡功能不适用。 确保显示器未处于 16 色模式。 |
|
没有可用的视频端口硬件,或者硬件没有响应。 |
|
没有可用的捕获硬件,或者硬件没有响应。 |
|
此用户操作目前被 DVD 内容禁止。 |
|
当前域中不允许此操作。 |
|
请求的按钮不可用。 |
|
DVD-Video 播放图尚未生成。 |
|
DVD-Video 播放图生成失败。 |
|
DVD-Video 由于解码器不足而无法生成播放图。 |
|
DirectDraw 版本号不适用。 请确保安装 DirectX 5 或更高版本。 |
|
无法启用复制保护。 |
|
Seek 命令超时。 |
|
无法以当前播放速度执行操作。 |
|
指定的 DVD 菜单不存在。 |
|
指定的命令已取消或不再存在。 |
|
DVD 状态信息包含错误的版本号。 |
|
DVD 状态信息已损坏。 |
|
DVD 状态信息来自另一张光盘,而不是当前光盘。 |
|
该区域与驱动器不兼容。 |
|
请求的属性不存在。 |
|
无法执行该操作,因为没有 GoUp 程序链 (PGC) 可用。 |
|
禁止此操作,因为家长级别太低。 |
|
DVD 导航器不处于卡拉OK模式。 |
|
不支持帧单步执行。 |
|
请求的流被禁用。 |
|
该操作需要游戏编号,但没有当前游戏。 当 DVD 导航器不在游戏域或视频标题集菜单 (VTSM) 域中时,可能会发生此错误。 |
|
指定的路径不是有效的 DVD 光盘。 |
|
无法完成“恢复”操作,因为没有简历信息。 |
|
调用线程上已阻止 Pin。 |
|
固定已在另一个线程上被阻止。 |
|
此筛选器的使用受软件密钥的限制。 应用程序必须解锁筛选器。 |
|
视频混合呈现器 (VMR) 未处于混合模式。 调用 IVMRFilterConfig::SetNumberOfStreams (VMR-7) 或 IVMRFilterConfig9::SetNumberOfStreams (VMR-9) 。 |
|
应用程序尚未向 VMR 筛选器提供有效的分配器表示器对象。 |
|
VMR 在当前显示设备上找不到任何去交错硬件。 |
|
VMR 在当前显示设备上找不到任何支持 ProcAmp 控件的硬件。 |
|
硬件解码器使用视频端口扩展 (VPE) ,这与 VMR-9 筛选器不兼容。 |
|
当前显示设备不支持内容输出保护协议 (COPP) ;或 VMR 尚未连接到显示设备。 |
|
注册表项已损坏。 |
|
DVD 导航器无法完成请求的操作,因为另一个操作仍处于挂起状态。 |
|
DVD 导航器无法生成 DVD 播放图,因为该图包含多个视频呈现器。 |
|
DVD 导航器无法将增强的视频呈现器 (EVR) 筛选器添加到筛选器图,因为该图形已包含视频呈现器。 |
|
DVD 视频输出的分辨率不正确。 |
|
指定的编解码器参数具有线性范围,而不是枚举列表。 |
|
指定的编解码器参数具有枚举的值范围,而不是线性范围。 |
|
指定的编解码器参数没有默认值。 |
|
指定的编解码器参数没有当前值。 |
|
不支持指定的属性标识符。 |
|
不支持指定的属性集。 |
除了前面列出的值之外,DirectShow 编辑服务还定义了以下 HRESULT 值。
常量/值 | 说明 |
---|---|
|
已删除图形的呈现部分。 应用程序必须重新生成它。 |
|
对象不包含在时间线中。 |
|
操作失败,因为项目未成功呈现。 |
|
渲染引擎尚未初始化。 |
|
无法确定请求的值。 |
|
没有时间线 对象。 |
要求
要求 | 值 |
---|---|
标头 |
|