AVIFileOpen

The AVIFileOpen function opens an AVI file and returns the address of a file interface used to access it. The AVIFile library maintains a count of the number of times a file is opened, but not the number of times it was released. Use the AVIFileRelease function to release the file and decrement the count.

STDAPI AVIFileOpen(
  PAVIFILE * ppfile,     
  LPCTSTR szFile,        
  UINT mode,             
  CLSID  pclsidHandler   
);

Parameters

ppfile

Pointer to a buffer that receives the new IAVIFile interface pointer.

szFile

Null-terminated string containing the name of the file to open.

mode

Access mode to use when opening the file. The default access mode is OF_READ. The following access modes can be specified with AVIFileOpen.

Value Meaning
OF_CREATE Creates a new file. If the file already exists, it is truncated to zero length.
OF_PARSE Skips time-consuming operations, such as building an index. Set this flag if you want the function to return as quickly as possible—for example, if you are going to query the file properties but not read the file.
OF_READ Opens the file for reading.
OF_READWRITE Opens the file for reading and writing.
OF_SHARE_DENY_NONE Opens the file nonexclusively. Other processes can open the file with read or write access. AVIFileOpen fails if another process has opened the file in compatibility mode.
OF_SHARE_DENY_READ Opens the file nonexclusively. Other processes can open the file with write access. AVIFileOpen fails if another process has opened the file in compatibility mode or has read access to it.
OF_SHARE_DENY_WRITE Opens the file nonexclusively. Other processes can open the file with read access. AVIFileOpen fails if another process has opened the file in compatibility mode or has write access to it.
OF_SHARE_EXCLUSIVE Opens the file and denies other processes any access to it. AVIFileOpen fails if any other process has opened the file.
OF_WRITE Opens the file for writing.

pclsidHandler

Pointer to a class identifier of the standard or custom handler you want to use. If the value is NULL, the system chooses a handler from the registry based on the file extension or the RIFF type specified in the file.

Return Values

Returns zero if successful or an error otherwise. Possible error values include the following.

Value Description
AVIERR_BADFORMAT The file couldn't be read, indicating a corrupt file or an unrecognized format.
AVIERR_MEMORY The file could not be opened because of insufficient memory.
AVIERR_FILEREAD A disk error occurred while reading the file.
AVIERR_FILEOPEN A disk error occurred while opening the file.
REGDB_E_CLASSNOTREG According to the registry, the type of file specified in AVIFileOpen does not have a handler to process it.

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Vfw.h.
**  Library:** Use Vfw32.lib.
**  Unicode:** Implemented as Unicode and ANSI versions on Windows NT/2000/XP.

See Also

AVIFile Functions and Macros, AVIFile Functions, AVIFileRelease