mirror of
https://github.com/love2d/megasource.git
synced 2026-08-21 05:02:11 +02:00
Add PhysFS 2.0.3.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
// Windows/FileMapping.h
|
||||
|
||||
#ifndef __WINDOWS_FILEMAPPING_H
|
||||
#define __WINDOWS_FILEMAPPING_H
|
||||
|
||||
#include "Windows/Handle.h"
|
||||
#include "Windows/Defs.h"
|
||||
|
||||
namespace NWindows {
|
||||
// namespace NFile {
|
||||
// namespace NMapping {
|
||||
|
||||
class CFileMapping: public CHandle
|
||||
{
|
||||
public:
|
||||
bool Create(HANDLE file, LPSECURITY_ATTRIBUTES attributes,
|
||||
DWORD protect, UINT64 maximumSize, LPCTSTR name)
|
||||
{
|
||||
_handle = ::CreateFileMapping(file, attributes,
|
||||
protect, DWORD(maximumSize >> 32), DWORD(maximumSize), name);
|
||||
return (_handle != NULL);
|
||||
}
|
||||
|
||||
bool Open(DWORD desiredAccess, bool inheritHandle, LPCTSTR name)
|
||||
{
|
||||
_handle = ::OpenFileMapping(desiredAccess, BoolToBOOL(inheritHandle), name);
|
||||
return (_handle != NULL);
|
||||
}
|
||||
|
||||
LPVOID MapViewOfFile(DWORD desiredAccess, UINT64 fileOffset,
|
||||
SIZE_T numberOfBytesToMap)
|
||||
{
|
||||
return ::MapViewOfFile(_handle, desiredAccess,
|
||||
DWORD(fileOffset >> 32), DWORD(fileOffset), numberOfBytesToMap);
|
||||
}
|
||||
|
||||
LPVOID MapViewOfFileEx(DWORD desiredAccess, UINT64 fileOffset,
|
||||
SIZE_T numberOfBytesToMap, LPVOID baseAddress)
|
||||
{
|
||||
return ::MapViewOfFileEx(_handle, desiredAccess,
|
||||
DWORD(fileOffset >> 32), DWORD(fileOffset),
|
||||
numberOfBytesToMap, baseAddress);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user