| 416 | //--------------------------------------------------- |
| 417 | |
| 418 | CVirtualFileReader::CVirtualFileReader(const char* cFileName) |
| 419 | { |
| 420 | Pos = 0; |
| 421 | |
| 422 | // Open the file |
| 423 | hSrcFile = CreateFile(cFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0); |
| 424 | R_ASSERT3(hSrcFile != INVALID_HANDLE_VALUE, cFileName, Debug.error2string(GetLastError())); |
| 425 | |
| 426 | LARGE_INTEGER sz; |
| 427 | GetFileSizeEx(hSrcFile, &sz); |
| 428 | Size = sz.QuadPart; |
| 429 | |
| 430 | if (Size == 0) |
| 431 | Msg("~~[%s] Found empty file: [%s]", __FUNCTION__, cFileName); |
| 432 | |
| 433 | hSrcMap = CreateFileMapping(hSrcFile, 0, PAGE_READONLY, 0, 0, 0); |
| 434 | R_ASSERT3(hSrcMap != INVALID_HANDLE_VALUE, cFileName, Debug.error2string(GetLastError())); |
| 435 | |
| 436 | data = (char*)MapViewOfFile(hSrcMap, FILE_MAP_READ, 0, 0, 0); |
| 437 | R_ASSERT3(!Size || data, cFileName, Debug.error2string(GetLastError())); |
| 438 | |
| 439 | #ifdef DEBUG |
| 440 | register_file_mapping(data, Size, cFileName); |
| 441 | #endif // DEBUG |
| 442 | } |
| 443 | |
| 444 | CVirtualFileReader::~CVirtualFileReader() |
| 445 | { |
nothing calls this directly
no test coverage detected