blob: bc5220e330241a90e7c142fa8b9606a7f6643412 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#pragma once
#include "./main.h"
#include "./eraseMedium.h"
#define ERASEMEDIUMUI_OK 0x000
#define ERASEMEDIUMUI_ERROR 0x001
#define ERASEMEDIUMUI_CANCELED 0x002
#define ERASEMEDIUMUI_PRIMOSDKERROR 0x101
#define ERASEMEDIUMUI_UNABLETOCREATEDIALOG 0x102
#define ERASEMEDIUMUI_MESSAGEPUMPERROR 0x103
#define ERASEMEDIUMUI_DRIVENOTSET 0x104
#define ERASEMEDIUMUI_PRIMOSDKNOTSET 0x105
#define ERASEMEDIUMUI_UNABLETOCREATEOBJECT 0x106
class EraseMediumUI
{
public:
BURNLIB_API EraseMediumUI(void);
BURNLIB_API ~EraseMediumUI(void);
public:
BURNLIB_API DWORD Erase(DWORD drive, BOOL discCheck, HWND ownerWnd);
BURNLIB_API DWORD SetEject(int ejectmode);
protected:
static LRESULT CALLBACK PrepareWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
static LRESULT CALLBACK EraseWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
void OnPrepareInit(HWND hwndDlg);
void OnPrepareOk();
void OnEraseInit(HWND hwndDlg);
void OnEraseTimerClock(void);
void OnEraseClose(DWORD exitCode);
static DWORD CALLBACK OnEraseNotify(void *sender, void *param, DWORD eraseCode, DWORD primoCode);
protected:
DWORD drive;
HWND prepareWnd;
HWND eraseWnd;
EraseMedium *eraseMedium;
DWORD eraseMode;
DWORD startTick;
unsigned int actualTime;
unsigned int estimateTime;
DWORD eraseCode;
DWORD primoCode;
BOOL discCheck;
};
|