Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
68
Src/burnlib/eraseMedium.h
Normal file
68
Src/burnlib/eraseMedium.h
Normal file
|
@ -0,0 +1,68 @@
|
|||
#ifndef NULLSOFT_ERASEMEDIUM_HEADER
|
||||
#define NULLSOFT_ERASEMEDIUM_HEADER
|
||||
|
||||
#include "./main.h"
|
||||
#include "./primosdk.h"
|
||||
|
||||
#define ERASEMEDIUM_STATUS 0x0000
|
||||
#define ERASEMEDIUM_ERROR 0x1000
|
||||
|
||||
// status messages
|
||||
#define ERASEMEDIUM_READY ((ERASEMEDIUM_STATUS) + 0x0001)
|
||||
#define ERASEMEDIUM_INITIALIZING ((ERASEMEDIUM_STATUS) + 0x0002)
|
||||
#define ERASEMEDIUM_ERASING ((ERASEMEDIUM_STATUS) + 0x0003)
|
||||
#define ERASEMEDIUM_FINISHING ((ERASEMEDIUM_STATUS) + 0x0004)
|
||||
#define ERASEMEDIUM_CANCELING ((ERASEMEDIUM_STATUS) + 0x0005)
|
||||
#define ERASEMEDIUM_COMPLETED ((ERASEMEDIUM_STATUS) + 0x0006)
|
||||
#define ERASEMEDIUM_ABORTED ((ERASEMEDIUM_STATUS) + 0x0007)
|
||||
|
||||
|
||||
// error messages
|
||||
#define ERASEMEDIUM_ALREADYSTARTED ((ERASEMEDIUM_ERROR) + 0x0001)
|
||||
#define ERASEMEDIUM_UNABLEINITPRIMO ((ERASEMEDIUM_ERROR) + 0x0002)
|
||||
#define ERASEMEDIUM_DEVICENOTREADY ((ERASEMEDIUM_ERROR) + 0x0003)
|
||||
#define ERASEMEDIUM_DISCINFOERROR ((ERASEMEDIUM_ERROR) + 0x0004)
|
||||
#define ERASEMEDIUM_DISCNOTERASABLE ((ERASEMEDIUM_ERROR) + 0x0005)
|
||||
#define ERASEMEDIUM_BEGINBURNFAILED ((ERASEMEDIUM_ERROR) + 0x0006)
|
||||
#define ERASEMEDIUM_ENDBURNFAILED ((ERASEMEDIUM_ERROR) + 0x0007)
|
||||
#define ERASEMEDIUM_ERASEMEDIUMFAILED ((ERASEMEDIUM_ERROR) + 0x0008)
|
||||
|
||||
// callback returns
|
||||
#define ERASEMEDIUM_CONTINUE 0
|
||||
#define ERASEMEDIUM_STOP 1
|
||||
|
||||
|
||||
typedef DWORD (WINAPI *ERASEMEDIUMCALLBACK)(void*, void*, DWORD, DWORD);
|
||||
|
||||
class EraseMedium
|
||||
{
|
||||
public:
|
||||
BURNLIB_API EraseMedium(void);
|
||||
BURNLIB_API ~EraseMedium(void);
|
||||
|
||||
public:
|
||||
BURNLIB_API DWORD Start(DWORD drive, DWORD eraseMode, ERASEMEDIUMCALLBACK notifyCB, void *userParam, int block);
|
||||
BURNLIB_API void Stop(void);
|
||||
BURNLIB_API DWORD GetErrorCode(void) { return errorCode; }
|
||||
BURNLIB_API BOOL IsRunning(void) { return (NULL != hThread); }
|
||||
|
||||
public:
|
||||
BURNLIB_API DWORD SetEject(DWORD eject);
|
||||
protected:
|
||||
DWORD OnNotify(DWORD eraseCode, DWORD primoCode);
|
||||
static DWORD WINAPI StatusThread(void* parameter);
|
||||
|
||||
protected:
|
||||
WABURNSTRUCT bs;
|
||||
obj_primo *primoSDK;
|
||||
unsigned int eject;
|
||||
HANDLE hThread;
|
||||
HANDLE evntStop;
|
||||
HANDLE evntThreadExit;
|
||||
DWORD errorCode;
|
||||
void* userparam;
|
||||
|
||||
ERASEMEDIUMCALLBACK notifyCB;
|
||||
};
|
||||
|
||||
#endif //NULLSOFT_ERASEMEDIUM_HEADER
|
Loading…
Add table
Add a link
Reference in a new issue