primosdk.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef NULLSOFT_PRIMOSDK_INTEGRATION_HEADER
  2. #define NULLSOFT_PRIMOSDK_INTEGRATION_HEADER
  3. #include "./main.h"
  4. // PrimoSDK wrapper
  5. #define PRIMOSDK_OK 0x0000 - declared in PRIMODSK.H
  6. #define PRIMOSDK_ERROR 0x0001
  7. #define PRIMOSDK_ALREADYLOADED 0x1000
  8. #define PRIMOSDK_LOAD_DLLFAILED 0x1001
  9. #define PRIMOSDK_LOAD_FUNCFAILED 0x1002
  10. #define PRIMOSDK_NOTLOADED 0x1003
  11. #define PRIMOSDK_FUNCNOTLOADED 0x1004
  12. #define PRIMOSDK_NULLHANDLE 0x1005
  13. #define PRIMOSDK_INTERR 0x1006
  14. #define PRIMOSDK_UNLOCK 0
  15. #define PRIMOSDK_WRITE 0
  16. #include "../primo/obj_primo.h"
  17. // MAXDWORD - for not care
  18. typedef struct _WAMEDIUMINFO
  19. {
  20. DWORD medium;
  21. DWORD mediumType;
  22. DWORD tracks;
  23. DWORD mediumFormat;
  24. DWORD freeSectors;
  25. DWORD usedSectors;
  26. DWORD protectedDVD;
  27. DWORD erasable;
  28. DWORD recordable;
  29. DWORD isCD;
  30. DWORD isDCD;
  31. DWORD isDVD;
  32. DWORD isDLDVD;
  33. }WAMEDIUMINFO;
  34. typedef struct _WABURNSTRUCT
  35. {
  36. obj_primo *primoSDK; // sdk object
  37. DWORD drive; // working drive (filled by BeginBurn)
  38. PBYTE blocker; // current blocker name (filled by BeginBurn)
  39. int eject; // if set to TRUE - endBurn will eject disc otherwise just stop motor
  40. } WABURNSTRUCT; // passed to the BeginBurn or EndBurn functions
  41. BURNLIB_API DWORD GetMediumInfo(obj_primo *primoSDK, DWORD *drive, WAMEDIUMINFO *info);
  42. BURNLIB_API DWORD BeginBurn(obj_primo *primoSDK, DWORD drive, WABURNSTRUCT *burnstruct);
  43. BURNLIB_API DWORD EndBurn(WABURNSTRUCT *burnstruct);
  44. #endif // NULLSOFT_PRIMOSDK_INTEGRATION_HEADER