IFile Interface

On this page:

Description

This interface is implemented by components that represent files within the plugin’s file system. It augments the properties and methods provided by the IFileSystemItem interface, which should also be implemented by the component.

Properties

Size read-only, IFile

The lower 32 bits of the file’s size.

IDL [propget] HRESULT Size([out, retval] unsigned long* pValue)
.NET UInt32 Size[get]

SizeHigh read-only, IFile

The upper 32 bits of the file’s size.

IDL [propget] HRESULT SizeHigh([out, retval] unsigned long* pValue)
.NET UInt32 SizeHigh[get]

Methods

Open IFile

This method should open the file with the specified access and return a stream that can be used to read from and/or write to the file. Merge assumes that the file is opened in binary mode and does not make any assumptions about line ending character transformations (if any) performed by the stream.

IDL HRESULT Open(
    [in] unsigned long dwDesiredAccess,
    [in] unsigned long dwCreationDisposition,
    [out, retval] IFileStream** pValue)
.NET IFileStream Open(
    UInt32 dwDesiredAccess,
    UInt32 dwCreationDisposition)
Value Meaning
GENERIC_READ (0x80000000L) Specifies read access to the file. Can be combined (bitwise OR) with GENERIC_WRITE to obtain read/write access.
GENERIC_WRITE (0x40000000L) Specifies write access to the file. Can be combined (bitwise OR) with GENERIC_READ to obtain read/write access.
* `dwCreationDisposition` Specifies how a file should be created or trunctated if it is being opened for write access. Valid values are those listed for the `dwCreationDisposition` argument to the Win32 `CreateFile` API:
Value Meaning
CREATE_NEW (1) Specifies that the file is to be created and the operation should fail if the file already exists.
CREATE_ALWAYS (2) Specifies that the file is to be created and any existing file should be replaced with an empty file ready for writing.
OPEN_EXISTING (3) Specifies that the file is to be opened and that the operation should fail if the file does not exist.
OPEN_ALWAYS (4) Specifies that the file is to be opened for writing at the start of the file. If the file does not already exist, a new empty file should be created as for CREATE_NEW.
TRUNCATE_EXISTING (5) Specifies that the file is to be opened for writing and truncated to zero length. The operation should fail if the file does not already exist.