This commit is contained in:
Araq
2019-09-18 12:16:37 +02:00
parent 48537fec81
commit f8000d4ba1
2 changed files with 9 additions and 2 deletions

View File

@@ -60,7 +60,7 @@ proc mapMem*(m: var MemFile, mode: FileMode = fmRead,
if readonly: FILE_MAP_READ else: FILE_MAP_READ or FILE_MAP_WRITE,
int32(offset shr 32),
int32(offset and 0xffffffff),
if mappedSize == -1: 0 else: mappedSize,
WinSizeT(if mappedSize == -1: 0 else: mappedSize),
nil)
if result == nil:
raiseOSError(osLastError())

View File

@@ -745,9 +745,16 @@ proc setFilePointer*(hFile: Handle, lDistanceToMove: LONG,
proc getFileSize*(hFile: Handle, lpFileSizeHigh: ptr DWORD): DWORD{.stdcall,
dynlib: "kernel32", importc: "GetFileSize".}
when defined(cpu32):
type
WinSizeT* = uint32
else:
type
WinSizeT* = uint64
proc mapViewOfFileEx*(hFileMappingObject: Handle, dwDesiredAccess: DWORD,
dwFileOffsetHigh, dwFileOffsetLow: DWORD,
dwNumberOfBytesToMap: DWORD,
dwNumberOfBytesToMap: WinSizeT,
lpBaseAddress: pointer): pointer{.
stdcall, dynlib: "kernel32", importc: "MapViewOfFileEx".}