# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Angelfire

# BadMFS -- Developer Guide

- 1
- 2
…
- 7
- 8
- 9
- 10
- 11
…
- 13
- 14

[in] DWORD dwBufferSize,
[out] DWORD* dwOutBytesRead
);
Parameters
fileHandle [in]
Valid handle to a file created by bmfsCreateFile().
outBuffer [out]
Buffer supplied by the caller which will data will be put into.
dwBufferSize [in]
Size, in bytes, of the supplied buffer.
dwOutBytesRead [out]
Number of bytes written to the supplied buffer.
Return Value
Upon successful return the supplied buffer will contain data from the file and
dwOutBytesRead
will contain the number of bytes written to the supplied buffer. The
NTSTATUS will be
STATUS_SUCCESS if completion was successful.
Remarks
If a file handle has not been created before this method is called, undefined
behavior could occur.
The caller is responsible for creating an appropriately sized buffer which will
be filled with data upon successful completion of the method. The exact
amount of bytes returned is specified by dwOutBytesRead. In the event that
fewer bytes are returned than the size of the buffer it is likely that the end of
the file was reached. The EOF character should be placed immediately after
the last byte which was read from disk, and STATUS_EOF will be returned.
bmfsFileSize
Calculates the size of the specified file.
NTSTATUS MexFileSize(
[in] BadMFS_HANDLE fileHandle,
[out] DWORD* dwFileSize,
);
Parameters
fileHandle [in]
Valid handle to a file created by bmfsCreateFile().
dwFileSize [out]

- 1
- 2
…
- 7
- 8
- 9
- 10
- 11
…
- 13
- 14