NeroCopyAPI.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /******************************************************************************
  2. |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. |* PARTICULAR PURPOSE.
  6. |*
  7. |* Copyright 1995-2005 Nero AG. All Rights Reserved.
  8. |*-----------------------------------------------------------------------------
  9. |* NeroSDK / NeroAPI
  10. |*
  11. |* PROGRAM: NeroCopyAPI.h
  12. |*
  13. |* PURPOSE: interface for Nero Copy API
  14. ******************************************************************************/
  15. #ifndef _NEROCOPYAPI_
  16. #define _NEROCOPYAPI_
  17. #ifdef __cplusplus
  18. extern "C"
  19. {
  20. #endif
  21. #include "NeroAPI.h"
  22. #if defined(__BORLANDC__)
  23. // NEROAPI expects structs to be 8byte aligned
  24. #pragma pack(push, 8)
  25. // tell Borland C++ Builder to treat enums as int
  26. #pragma option push -b
  27. #endif
  28. /*
  29. * To copy a disc with NeroAPI, fill in the structure
  30. * NERO_CD_COPY, pass it to NeroBurn as parameter pWriteCD
  31. * and set CDFormat to NERO_CD_COPY_TYPE.
  32. */
  33. #define NERO_CD_COPY_TYPE ((NERO_CD_FORMAT)1000)
  34. typedef struct
  35. {
  36. NERO_DEVICEHANDLE sourceDrive; // The drive to read the data from
  37. BOOL onTheFly; // copy on-the-fly (without storing an image on the harddrive first)
  38. const char *imageFilePath; // for non on-the-fly copying, specify the temporary imagefile path here (mandatory)
  39. BOOL deleteImage; // should the temporary image deleted after burning or not
  40. int readSpeed; // Read speed in KB/s, 0 for maximum speed
  41. UINT tryNr; // number of tries, if read error appeared
  42. BOOL readErrOption; // for data tracks: 1: ignore read errors and continue; 0: abort on read errors
  43. // for NeroAPI 5.5 it was possible to select the readRaw mode for Mode1 and Mode2 separately.
  44. // up from NeroAPI 6, general read raw mode is enable if one of these options is set
  45. BOOL readRawMode1; // read raw mode
  46. int rawMode1Option; // for NeroAPI 6: ignored; for NeroAPI 5.5: 0: Repair EDC/ECC error for raw data, 1: Ignore EDC/ECC error for raw data
  47. BOOL readRawMode2; // read raw mode
  48. int rawMode2Option; // for NeroAPI 6: ignored; for NeroAPI 5.5: 0: Repair EDC/ECC error for raw data, 1: Ignore EDC/ECC error for raw data
  49. BOOL readSub; // For NeroAPI 6: ignored, for NeroAPI 5.5: read audio data with sub q code
  50. BOOL checkDA; // For NeroAPI 6: ignored, for NeroAPI 5.5: check for audio data
  51. int slowDown; // For NeroAPI 6: ignored, for NeroAPI 5.5 option for jitter correction in read audio track: 0: If correction failed rewind and read from beginning, 1: If correction failed slow down at once, 2: no jitter correction
  52. BOOL ignoreDAErr; // for audio tracks: ignore read errors and continue
  53. BOOL readIsrcAndMediaCatalogNo; // NeroAPI 5.5 and NeroAPI >= 6.3.1.24: TRUE if media catalog number and ISRC should be read and copied
  54. BOOL ignoreBadTOCType; // for NeroAPI 6: ignored, for NeroAPI 5.5: should be set to TRUE
  55. NERO_MEDIA_TYPE mediaType; // NeroAPI >= 6.3.1.24: which media type is to be copied
  56. } NERO_CD_COPY;
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60. #if defined(__BORLANDC__)
  61. #pragma pack(pop)
  62. #pragma option pop
  63. #endif
  64. #endif // _NEROCOPYAPI_
  65. //======================================================
  66. // NeroCopyApi.h
  67. //======================================================