aboutsummaryrefslogtreecommitdiff
path: root/Src/burnlib/uiCheckMedium.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/burnlib/uiCheckMedium.h')
-rw-r--r--Src/burnlib/uiCheckMedium.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/Src/burnlib/uiCheckMedium.h b/Src/burnlib/uiCheckMedium.h
new file mode 100644
index 00000000..118660fc
--- /dev/null
+++ b/Src/burnlib/uiCheckMedium.h
@@ -0,0 +1,55 @@
+#pragma once
+
+#include "./main.h"
+#include "./primosdk.h"
+#define CHECKMEDIUMUI_MATCH 0x000
+#define CHECKMEDIUMUI_NOMATCH 0x001
+#define CHECKMEDIUMUI_CANCELED 0x002
+
+#define CHECKMEDIUMUI_PRIMOSDKERROR 0x101
+#define CHECKMEDIUMUI_UNABLETOCREATEDIALOG 0x102
+#define CHECKMEDIUMUI_MESSAGEPUMPERROR 0x103
+#define CHECKMEDIUMUI_DRIVENOTSET 0x104
+#define CHECKMEDIUMUI_PRIMOSDKNOTSET 0x105
+#define CHECKMEDIUMUI_DISCNOTSET 0x106
+#define CHECKMEDIUMUI_DRIVENOTREADY 0x107
+#define CHECKMEDIUMUI_DEADLOOP 0x108
+
+
+
+class CheckMediumUI
+{
+
+public:
+ BURNLIB_API CheckMediumUI(void);
+ BURNLIB_API ~CheckMediumUI(void);
+
+public:
+ BURNLIB_API DWORD Check(obj_primo *primoSDK, DWORD *drive, WAMEDIUMINFO *medium, const wchar_t *description, BOOL disableAIN, BOOL showErase, HWND ownerWnd);
+
+
+ BURNLIB_API DWORD GetPrimoError(void) { return errPrimo; }
+
+protected:
+ DWORD Rescan(void);
+ static LRESULT CALLBACK WndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+ void OnInitDialog(HWND hwndDlg);
+ void OnCancel(void);
+ void OnDestroy(void);
+ void OnEraseClicked(void);
+ wchar_t* GetMediumInfoText(wchar_t *buffer, unsigned int cchBuffer, WAMEDIUMINFO *info);
+ wchar_t* GetSizeText(wchar_t *buffer, unsigned int cchBuffer, unsigned int sectors);
+
+protected:
+ HWND hwnd;
+ HWND ownerWnd;
+ WAMEDIUMINFO *desiredMedium;
+ DWORD *drive;
+ obj_primo *primoSDK;
+ DWORD errPrimo;
+ DWORD errReady;
+ BOOL disableAIN;
+ BOOL showErase;
+ DWORD deadLoop;
+ const wchar_t *description;
+}; \ No newline at end of file