diff options
Diffstat (limited to 'Src/burnlib/primosdk.h')
-rw-r--r-- | Src/burnlib/primosdk.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Src/burnlib/primosdk.h b/Src/burnlib/primosdk.h new file mode 100644 index 00000000..4ccc6654 --- /dev/null +++ b/Src/burnlib/primosdk.h @@ -0,0 +1,53 @@ +#ifndef NULLSOFT_PRIMOSDK_INTEGRATION_HEADER +#define NULLSOFT_PRIMOSDK_INTEGRATION_HEADER + +#include "./main.h" +// PrimoSDK wrapper + +#define PRIMOSDK_OK 0x0000 - declared in PRIMODSK.H + +#define PRIMOSDK_ERROR 0x0001 +#define PRIMOSDK_ALREADYLOADED 0x1000 +#define PRIMOSDK_LOAD_DLLFAILED 0x1001 +#define PRIMOSDK_LOAD_FUNCFAILED 0x1002 +#define PRIMOSDK_NOTLOADED 0x1003 +#define PRIMOSDK_FUNCNOTLOADED 0x1004 +#define PRIMOSDK_NULLHANDLE 0x1005 +#define PRIMOSDK_INTERR 0x1006 +#define PRIMOSDK_UNLOCK 0 +#define PRIMOSDK_WRITE 0 +#include "../primo/obj_primo.h" + + +// MAXDWORD - for not care +typedef struct _WAMEDIUMINFO +{ + DWORD medium; + DWORD mediumType; + DWORD tracks; + DWORD mediumFormat; + DWORD freeSectors; + DWORD usedSectors; + DWORD protectedDVD; + DWORD erasable; + DWORD recordable; + DWORD isCD; + DWORD isDCD; + DWORD isDVD; + DWORD isDLDVD; +}WAMEDIUMINFO; + + +typedef struct _WABURNSTRUCT +{ + obj_primo *primoSDK; // sdk object + DWORD drive; // working drive (filled by BeginBurn) + PBYTE blocker; // current blocker name (filled by BeginBurn) + int eject; // if set to TRUE - endBurn will eject disc otherwise just stop motor +} WABURNSTRUCT; // passed to the BeginBurn or EndBurn functions + +BURNLIB_API DWORD GetMediumInfo(obj_primo *primoSDK, DWORD *drive, WAMEDIUMINFO *info); +BURNLIB_API DWORD BeginBurn(obj_primo *primoSDK, DWORD drive, WABURNSTRUCT *burnstruct); +BURNLIB_API DWORD EndBurn(WABURNSTRUCT *burnstruct); + +#endif // NULLSOFT_PRIMOSDK_INTEGRATION_HEADER
\ No newline at end of file |