AVIFileOpenA 函数 (vfw.h)

AVIFileOpen 函数打开一个 AVI 文件,并返回用于访问它的文件接口的地址。 AVIFile 库维护文件打开的次数计数,但不会维护释放文件的次数。 使用 AVIFileRelease 函数释放文件并递减计数。

语法

HRESULT AVIFileOpenA(
  PAVIFILE *ppfile,
  LPCSTR   szFile,
  UINT     uMode,
  LPCLSID  lpHandler
);

参数

ppfile

指向接收新 IAVIFile 接口指针的缓冲区的指针。

szFile

包含要打开的文件的名称的以 Null 结尾的字符串。

uMode

打开文件时要使用的访问模式。 默认访问模式OF_READ。 可以使用 AVIFileOpen指定以下访问模式。

价值 意义
OF_CREATE 创建新文件。 如果文件已存在,则会将其截断为零长度。
OF_PARSE 跳过耗时的操作,例如生成索引。 如果希望函数尽快返回,请设置此标志,例如,如果要查询文件属性但不读取文件。
OF_READ 打开要读取的文件。
OF_READWRITE 打开用于读取和写入的文件。
OF_SHARE_DENY_NONE 以非公开方式打开文件。 其他进程可以打开具有读取或写入访问权限的文件。 如果另一个进程在兼容模式下打开文件,AVIFileOpen 失败。
OF_SHARE_DENY_READ 以非公开方式打开文件。 其他进程可以打开具有写入访问权限的文件。 如果另一个进程以兼容模式打开文件或具有读取访问权限,则 AVIFileOpen 失败。
OF_SHARE_DENY_WRITE 以非公开方式打开文件。 其他进程可以打开具有读取访问权限的文件。 如果另一个进程以兼容模式打开文件或具有对文件的写入访问权限,则 AVIFileOpen 失败。
OF_SHARE_EXCLUSIVE 打开该文件并拒绝其他进程对此的任何访问。 如果任何其他进程已打开该文件,AVIFileOpen 将失败。
OF_WRITE 打开要写入的文件。

lpHandler

指向要使用的标准或自定义处理程序的类标识符的指针。 如果该值 NULL,系统会根据文件中指定的文件扩展名或 RIFF 类型从注册表中选择处理程序。

返回值

如果成功或错误,则返回零。 可能的错误值包括以下内容。

返回代码 描述
AVIERR_BADFORMAT
无法读取该文件,表示文件已损坏或无法识别的格式。
AVIERR_MEMORY
由于内存不足,无法打开该文件。
AVIERR_FILEREAD
读取文件时出现磁盘错误。
AVIERR_FILEOPEN
打开文件时出现磁盘错误。
REGDB_E_CLASSNOTREG
根据注册表,AVIFileOpen 中指定的文件类型没有处理它的处理程序。

言论

备注

vfw.h 标头将 AVIFileOpen 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 vfw.h
Vfw32.lib
DLL Avifil32.dll

另请参阅

AVIFile 函数

AVIFile 函数和宏

AVIFileRelease