| 1316 | | mode=0; |
| 1317 | | if ((protection & PROT_WRITE) != 0) |
| 1318 | | { |
| 1319 | | mode=PAGE_READWRITE; |
| 1320 | | if ((flags & MAP_PRIVATE) != 0) |
| 1321 | | mode=PAGE_WRITECOPY; |
| | 1319 | access_mode=0; |
| | 1320 | file_handle=INVALID_HANDLE_VALUE; |
| | 1321 | low_length=(DWORD) (length & 0xFFFFFFFFUL); |
| | 1322 | high_length=(DWORD) ((((magick_off_t) length) >> 32) & 0xFFFFFFFFUL); |
| | 1323 | map_handle=INVALID_HANDLE_VALUE; |
| | 1324 | map=(void *) NULL; |
| | 1325 | low_offset=(DWORD) (offset & 0xFFFFFFFFUL); |
| | 1326 | high_offset=(DWORD) ((offset >> 32) & 0xFFFFFFFFUL); |
| | 1327 | protection_mode=0; |
| | 1328 | if (protection & PROT_WRITE) |
| | 1329 | { |
| | 1330 | access_mode=FILE_MAP_WRITE; |
| | 1331 | if (!(flags & MAP_PRIVATE)) |
| | 1332 | protection_mode=PAGE_READWRITE; |
| | 1333 | else |
| | 1334 | { |
| | 1335 | access_mode=FILE_MAP_COPY; |
| | 1336 | protection_mode=PAGE_WRITECOPY; |
| | 1337 | } |
| 1329 | | low=(DWORD) (length & 0xffffffffUL); |
| 1330 | | high=(DWORD) ((((MagickOffsetType) length) >> 32) & 0xffffffffUL); |
| 1331 | | file_map=CreateFileMapping(file_handle,0,mode,high,low,0); |
| 1332 | | map=(void *) NULL; |
| 1333 | | if (file_map != (HANDLE) NULL) |
| 1334 | | { |
| 1335 | | mode=0; |
| 1336 | | if ((protection & PROT_WRITE) != 0) |
| 1337 | | { |
| 1338 | | mode=FILE_MAP_WRITE; |
| 1339 | | if ((flags & MAP_PRIVATE) != 0) |
| 1340 | | mode=FILE_MAP_COPY; |
| 1341 | | } |
| 1342 | | else |
| 1343 | | if ((protection & PROT_READ) != 0) |
| 1344 | | mode=FILE_MAP_READ; |
| 1345 | | low=(DWORD) (offset & 0xffffffffUL); |
| 1346 | | high=(DWORD) ((offset >> 32) & 0xffffffffUL); |
| 1347 | | map=(void *) MapViewOfFile(file_map,mode,high,low,length); |
| 1348 | | CloseHandle(file_map); |
| | 1349 | map_handle=CreateFileMapping(file_handle,0,protection_mode,high_length, |
| | 1350 | low_length,0); |
| | 1351 | if (map_handle) |
| | 1352 | { |
| | 1353 | map=(void *) MapViewOfFile(map_handle,access_mode,high_offset,low_offset, |
| | 1354 | length); |
| | 1355 | CloseHandle(map_handle); |