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 类型从注册表中选择处理程序。
返回值
如果成功,则返回零,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
无法读取文件,指示文件已损坏或无法识别的格式。 |
|
由于内存不足,无法打开该文件。 |
|
读取文件时出现磁盘错误。 |
|
打开文件时出现磁盘错误。 |
|
根据注册表, AVIFileOpen 中指定的文件类型没有处理程序来处理它。 |
注解
注意
vfw.h 标头将 AVIFileOpen 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | vfw.h |
Library | Vfw32.lib |
DLL | Avifil32.dll |