/****************************************************************************** |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A |* PARTICULAR PURPOSE. |* |* Copyright 1995-2005 Nero AG. All Rights Reserved. |*----------------------------------------------------------------------------- |* NeroSDK / NeroAPI |* |* PROGRAM: NeroCopyAPI.h |* |* PURPOSE: interface for Nero Copy API ******************************************************************************/ #ifndef _NEROCOPYAPI_ #define _NEROCOPYAPI_ #ifdef __cplusplus extern "C" { #endif #include "NeroAPI.h" #if defined(__BORLANDC__) // NEROAPI expects structs to be 8byte aligned #pragma pack(push, 8) // tell Borland C++ Builder to treat enums as int #pragma option push -b #endif /* * To copy a disc with NeroAPI, fill in the structure * NERO_CD_COPY, pass it to NeroBurn as parameter pWriteCD * and set CDFormat to NERO_CD_COPY_TYPE. */ #define NERO_CD_COPY_TYPE ((NERO_CD_FORMAT)1000) typedef struct { NERO_DEVICEHANDLE sourceDrive; // The drive to read the data from BOOL onTheFly; // copy on-the-fly (without storing an image on the harddrive first) const char *imageFilePath; // for non on-the-fly copying, specify the temporary imagefile path here (mandatory) BOOL deleteImage; // should the temporary image deleted after burning or not int readSpeed; // Read speed in KB/s, 0 for maximum speed UINT tryNr; // number of tries, if read error appeared BOOL readErrOption; // for data tracks: 1: ignore read errors and continue; 0: abort on read errors // for NeroAPI 5.5 it was possible to select the readRaw mode for Mode1 and Mode2 separately. // up from NeroAPI 6, general read raw mode is enable if one of these options is set BOOL readRawMode1; // read raw mode 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 BOOL readRawMode2; // read raw mode 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 BOOL readSub; // For NeroAPI 6: ignored, for NeroAPI 5.5: read audio data with sub q code BOOL checkDA; // For NeroAPI 6: ignored, for NeroAPI 5.5: check for audio data 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 BOOL ignoreDAErr; // for audio tracks: ignore read errors and continue BOOL readIsrcAndMediaCatalogNo; // NeroAPI 5.5 and NeroAPI >= 6.3.1.24: TRUE if media catalog number and ISRC should be read and copied BOOL ignoreBadTOCType; // for NeroAPI 6: ignored, for NeroAPI 5.5: should be set to TRUE NERO_MEDIA_TYPE mediaType; // NeroAPI >= 6.3.1.24: which media type is to be copied } NERO_CD_COPY; #ifdef __cplusplus } #endif #if defined(__BORLANDC__) #pragma pack(pop) #pragma option pop #endif #endif // _NEROCOPYAPI_ //====================================================== // NeroCopyApi.h //======================================================