uLib  User mode C/C++ extended API library for Win32 programmers.

Module Description

LoadAndMapFile and supplementary routines... (IoUtil.cpp)

Groups

 Mapped file utility functions
 

Macros

#define GetMappedPointer   GetMappedFilePointer
 
#define GetMappedSize   GetMappedFileSize
 

Typedefs

typedef HANDLE HMAPFILE
 

Functions

HMAPFILE LoadAndMapFile (CSTR FName, DWORD PageAccess, PBYTE *ppData)
 
BOOL UnloadMappedFile (HMAPFILE hMap)
 
PVOID GetMappedFilePointer (HMAPFILE hMap)
 
UINT64 GetMappedFileSize (HMAPFILE hMap)
 

Macro Definition Documentation

◆ GetMappedPointer

#define GetMappedPointer   GetMappedFilePointer

Definition at line 2765 of file UtilFunc.h.

◆ GetMappedSize

#define GetMappedSize   GetMappedFileSize

Definition at line 2766 of file UtilFunc.h.

Typedef Documentation

◆ HMAPFILE

typedef HANDLE HMAPFILE

Handle of a mapped file. See LoadAndMapFile().

Definition at line 2732 of file UtilFunc.h.

Function Documentation

◆ LoadAndMapFile()

HMAPFILE LoadAndMapFile ( CSTR  FName,
DWORD  PageAccess,
PBYTE ppData 
)

LoadAndMapFile loads a file and returns a mapped pointer to it.
Note: Executable mappings are (optionally) disallowed... (See the source)

Parameters
[in]FNameName of the file to map.
[in]PageAccessFlags for CreateFileMapping (see MSDN doc).
PAGE_READONLY is the expected minimum mode, since it is assumed
that read access will always be required. Hence the file handle
will always have at least GENERIC_READ, and the mapping FILE_MAP_READ.
[out]ppData[opt] Receives a pointer to the mapped data.
If need be, you can retrieve the pointer later with a call to GetMappedPointer().

Note: Used correctly, reading a HMAPFILE is a lot faster than reading a HANDLE.
Close the file with UnloadMappedFile() when done.

Definition at line 1152 of file IoUtil.cpp.

◆ UnloadMappedFile()

BOOL UnloadMappedFile ( HMAPFILE  hMap)

Unload and close a memory mapped file.
See LoadAndMapFile().

Definition at line 1234 of file IoUtil.cpp.

◆ GetMappedFilePointer()

PVOID GetMappedFilePointer ( HMAPFILE  hMap)

See LoadAndMapFile().

Definition at line 1254 of file IoUtil.cpp.

◆ GetMappedFileSize()

UINT64 GetMappedFileSize ( HMAPFILE  hMap)

See LoadAndMapFile().

Definition at line 1261 of file IoUtil.cpp.