| 571 | } |
| 572 | |
| 573 | void SplitFile::Split() |
| 574 | { |
| 575 | HANDLE hInputFile = CreateFile(m_strFullFilename.c_str(), GENERIC_READ, FILE_SHARE_READ, |
| 576 | nullptr, OPEN_EXISTING, 0, nullptr); |
| 577 | |
| 578 | if (hInputFile == INVALID_HANDLE_VALUE) |
| 579 | { |
| 580 | PostMessage(m_hDlg, NSplitFileDialog::WM_APP_INPUTFILEINVALID, 0, 0); |
| 581 | return; |
| 582 | } |
| 583 | |
| 584 | LARGE_INTEGER lFileSize; |
| 585 | GetFileSizeEx(hInputFile, &lFileSize); |
| 586 | |
| 587 | LONGLONG nSplits = lFileSize.QuadPart / m_uSplitSize; |
| 588 | |
| 589 | if ((lFileSize.QuadPart % m_uSplitSize) != 0) |
| 590 | { |
| 591 | nSplits++; |
| 592 | } |
| 593 | |
| 594 | PostMessage( |
| 595 | m_hDlg, NSplitFileDialog::WM_APP_SETTOTALSPLITCOUNT, static_cast<WPARAM>(nSplits), 0); |
| 596 | |
| 597 | SplitInternal(hInputFile, lFileSize); |
| 598 | |
| 599 | CloseHandle(hInputFile); |
| 600 | |
| 601 | SendMessage(m_hDlg, NSplitFileDialog::WM_APP_SPLITFINISHED, 0, 0); |
| 602 | } |
| 603 | |
| 604 | void SplitFile::SplitInternal(HANDLE hInputFile, const LARGE_INTEGER &lFileSize) |
| 605 | { |
no test coverage detected