12345678910111213141516171819202122232425262728293031323334 |
- #include "ProgressiveProcessor.h"
- ProgressiveProcessor::ProgressiveProcessor()
- {
- tempFile[0]=0;
- writeCursor=INVALID_HANDLE_VALUE;
- wchar_t tempPath[MAX_PATH-14] = {0};
- GetTempPath(MAX_PATH-14, tempPath);
- GetTempFileName(tempPath, L"wfv", 0, tempFile);
- writeCursor=CreateFile(tempFile, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0);
- processedCursor=CreateFile(tempFile, GENERIC_READ, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
- readCursor=CreateFile(tempFile, GENERIC_READ, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
- }
- ProgressiveProcessor::~ProgressiveProcessor()
- {
- if (writeCursor != INVALID_HANDLE_VALUE)
- CloseHandle(writeCursor);
- if (tempFile[0])
- DeleteFile(tempFile);
- }
- int ProgressiveProcessor::Write(void *data, size_t datalen, size_t *written)
- {
- DWORD dw_written=0;
- WriteFile(writeCursor, data, (DWORD)datalen, &dw_written, NULL);
- *written=dw_written;
- writePosition+=dw_written;
- return 0;
- }
|