AVIFileOpen 函数 (vfw.h)

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

语法

HRESULT AVIFileOpen(
  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 中指定的文件类型没有处理程序来处理它。

要求

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

另请参阅

AVIFile 函数

AVIFile 函数和宏

AVIFileRelease