PrimoBurner(tm) for C++  4.6
CD, DVD and Blu-ray Software Development Kit
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
DataDisc Class Referenceabstract

The DataDisc interface provides methods for creating and burning data images to CD, DVD and Blu-ray Discs. More...

#include <PrimoBurnerAPI.h>

Inherits Reference.

Public Member Functions

virtual bool_t bootable () const =0
 Gets whether or not a bootable image will be created. More...
 
virtual BootPropsbootProps () const =0
 Gets an interface for setting Boot properties. More...
 
virtual CachePolicycachePolicy () const =0
 Gets an interface for setting cache properties. More...
 
virtual DataDiscCallbackcallback () const =0
 Gets the callback object to be used for notifications during the burning. More...
 
virtual bool_t cdRomXA () const =0
 Gets the current setting for recording a CD-ROM XA disc. More...
 
virtual bool_t closeDisc () const =0
 Gets whether the disc will be closed when the next session write ends. More...
 
virtual bool_t closeSession () const =0
 Indicates whether to close the session after the burning is completed. More...
 
virtual bool_t closeTrack () const =0
 Gets whether the CD/DVD data track should be closed after the burning.
 
virtual DataFilecopyImageLayout ()=0
 The copyImageLayout method extracts the DataDisc directory layout. More...
 
virtual DataOverwrite::Enum dataOverwrite () const =0
 Gets the file overwrite flags for DVD+RW, DVD-RAM and BD-RE discs. More...
 
virtual Devicedevice (void) const =0
 Gets the Device instance that DataDisc is using. More...
 
virtual bool_t dvdVideo () const =0
 Gets the current DVD-Video setting. More...
 
virtual const ErrorInfoerror () const =0
 Gets error information about the last operation. More...
 
virtual bool_t filenameTranslation () const =0
 Gets whether filenames are being translated. More...
 
virtual int32_t imageConstraints () const =0
 Returns the constraint flags set with the SetImageConstraints method. More...
 
virtual int32_t imageSizeInBlocks () const =0
 Gets the image layout size in blocks. More...
 
virtual int64_t imageSizeInBytes () const =0
 Gets the image layout size in bytes. More...
 
virtual int32_t imageType () const =0
 Gets the image file system type. More...
 
virtual IsoVolumePropsisoVolumeProps () const =0
 Gets an interface for setting and reading ISO9660 volume properties. More...
 
virtual JolietVolumePropsjolietVolumeProps () const =0
 Gets an interface for setting and reading Joliet volume properties. More...
 
virtual int32_t layoutLoadTrack () const =0
 Gets the track number set with setLayoutLoadTrack. More...
 
virtual int32_t loadedImageSizeInBlocks ()=0
 Gets the size in blocks, of a image which has been loaded with the LoadFromDisc method. More...
 
virtual bool_t loadFromDisc (int32_t trackNumber)=0
 Loads a file system from existing track on a CD/DVD. More...
 
virtual bool_t loadFromFile (const char_t *filename)=0
 Loads a data image from file. More...
 
virtual bool_t merge (DataDisc *source, MergeDirection::Enum direction=MergeDirection::Left)=0
 Merges the file trees of two DataDisc instances. More...
 
virtual int32_t sessionStartAddress () const =0
 Gets the address specified with the setSessionStartAddress method. More...
 
virtual void setBootable (bool_t bootable)=0
 Indicates whether or not a bootable image will be created. More...
 
virtual void setCallback (DataDiscCallback *callback)=0
 Sets a callback object to be used for notifications during the burning. More...
 
virtual void setCDRomXA (bool_t flag)=0
 Instructs the DataDisc to use Mode2 Form 1 XA sectors during the disc recording. More...
 
virtual void setCloseDisc (bool_t closeDisc)=0
 Instructs DataDisc to close the disc after the session is written to the disc. More...
 
virtual void setCloseSession (bool_t closeSession)=0
 Indicates whether to close the session after the burning is completed. More...
 
virtual void setCloseTrack (bool_t close)=0
 Indicates that the current track should be closed after the burning. More...
 
virtual void setDataOverwrite (DataOverwrite::Enum dataOverwrite)=0
 Sets whether files from the image layout should physically overwrite files that already exist on the disc. More...
 
virtual void setDevice (Device *device)=0
 Sets Device instance that to be used when burning discs.
 
virtual void setDVDVideo (bool_t dvdVideo)=0
 Indicates that DataDisc should create a DVD-Video compatible image. More...
 
virtual void setFilenameTranslation (bool_t translate)=0
 Enables the default translation of the file names during the image creation. More...
 
virtual void setImageConstraints (int32_t imageConstraints)=0
 Call this method to set image validation constraints. More...
 
virtual bool_t setImageLayout (DataFile *imageLayout, bool_t sortByFilename=0)=0
 Sets the file tree of a data image. More...
 
virtual bool_t setImageLayoutFromFolder (const char_t *rootFolder, bool_t sortByFilename=0)=0
 Sets the logical layout of a data image from a folder. More...
 
virtual void setImageType (int32_t imageTypeFlags)=0
 Sets the image file system type. More...
 
virtual void setLayoutLoadTrack (int32_t trackNumber)=0
 The setLayoutLoadTrack method sets a track that should be loaded and merged with the new data layout. More...
 
virtual void setSessionStartAddress (int32_t address)=0
 Sets the start address of the data session in blocks. More...
 
virtual void setSimulateBurn (bool_t simulate)=0
 Indicates that burning should be simulated. More...
 
virtual bool_t setWriteMethod (WriteMethod::Enum writeMethod)=0
 Sets the disc write method. More...
 
virtual void setWriteStrategy (DataWriteStrategy::Enum writeStrategy)=0
 Sets the write attributes. More...
 
virtual bool_t simulateBurn () const =0
 Gets the current simulation setting. More...
 
virtual UdfVolumePropsudfVolumeProps () const =0
 Gets an interface for setting and reading UDF volume properties. More...
 
virtual bool_t writeImageToDisc (const char_t *imageFile, bool_t dismountVolume=0)=0
 Writes an image file to a CD/DVD/BD disc. More...
 
virtual bool_t writeImageToDiscEx (primo::Stream *stream, bool_t dismountVolume=0)=0
 The WriteImageToDiscEx method writes an image to a CD/DVD/BD disc. More...
 
virtual WriteMethod::Enum writeMethod () const =0
 Gets the current write method. More...
 
virtual DataWriteStrategy::Enum writeStrategy () const =0
 Gets the current data write strategy. More...
 
virtual bool_t writeToDisc (bool_t dismountVolume=0)=0
 The WriteToDisc method generates and writes a data image to a CD/DVD. More...
 
virtual bool_t writeToImageFile (const char_t *imageFile)=0
 Creates an ISO image file from the current image layout. More...
 
- Public Member Functions inherited from Reference
virtual int32_t release () const =0
 Releases the instance. More...
 
virtual int32_t retain () const =0
 Retains the instance. More...
 
virtual int32_t retainCount () const =0
 Returns the current reference count. More...
 

Detailed Description

The DataDisc interface provides methods for creating and burning data images to CD, DVD and Blu-ray Discs.

Member Function Documentation

virtual bool_t bootable ( ) const
pure virtual

Gets whether or not a bootable image will be created.

Returns
TRUE if a bootable image will be created, FALSE otherwise.
See Also
setBootable
virtual BootProps* bootProps ( ) const
pure virtual

Gets an interface for setting Boot properties.

Returns
A pointer to a BootProps object. The returned object is owned by DataDisc. It should not be used after the owning DataDisc object is released.
virtual CachePolicy* cachePolicy ( ) const
pure virtual

Gets an interface for setting cache properties.

Returns
A pointer to a CachePolicy object. The returned object is owned by DataDisc. It should not be used after the owning DataDisc object is released.
virtual DataDiscCallback* callback ( ) const
pure virtual

Gets the callback object to be used for notifications during the burning.

Returns
The callback previously set by setCallback or NULL if no callback is set.
virtual bool_t cdRomXA ( ) const
pure virtual

Gets the current setting for recording a CD-ROM XA disc.

Returns
TRUE if DataDisc is instructed to create a CD-ROM XA disc, FALSE otherwise.
virtual bool_t closeDisc ( ) const
pure virtual

Gets whether the disc will be closed when the next session write ends.

Returns
TRUE if the disc should be closed after burning, FALSE otherwise.
virtual bool_t closeSession ( ) const
pure virtual

Indicates whether to close the session after the burning is completed.

Returns
TRUE if the session should be closed after burning, FALSE otherwise.
virtual DataFile* copyImageLayout ( )
pure virtual

The copyImageLayout method extracts the DataDisc directory layout.

Use the loadFromDisc method to load the disc layout from a recorded disc.

Returns
A pointer to DataFile object that contains the data layout. May be NULL if the DataDisc layout cannot be copied. After using the DataFile object it must be released by calling DataFile::release.
See Also
Object Management
virtual DataOverwrite::Enum dataOverwrite ( ) const
pure virtual

Gets the file overwrite flags for DVD+RW, DVD-RAM and BD-RE discs.

See Also
setDataOverwrite
Returns
A constant from the DataOverwrite enumeration.
See Also
DataOverwrite::Enum
virtual Device* device ( void  ) const
pure virtual

Gets the Device instance that DataDisc is using.

Returns
A pointer to a Device object.
virtual bool_t dvdVideo ( ) const
pure virtual

Gets the current DVD-Video setting.

Returns
TRUE if the disc will be created as DVD-Video compatible disc, FALSE otherwise.
virtual const ErrorInfo* error ( ) const
pure virtual

Gets error information about the last operation.

Returns
A pointer to an ErrorInfo object.
virtual bool_t filenameTranslation ( ) const
pure virtual

Gets whether filenames are being translated.

Returns
TRUE if filename translation is enabled, FALSE otherwise.
See Also
setFilenameTranslation
setImageConstraints
virtual int32_t imageConstraints ( ) const
pure virtual

Returns the constraint flags set with the SetImageConstraints method.

Returns
A combination of one or more of the flags defined in the ImageConstraintFlags enumeration.
See Also
ImageConstraintFlags::Enum
setImageConstraints
virtual int32_t imageSizeInBlocks ( ) const
pure virtual

Gets the image layout size in blocks.

The size of a data block is 2048 bytes.

Returns
The size of the image layout in blocks.
See Also
setImageLayoutFromFolder
setImageLayout
virtual int64_t imageSizeInBytes ( ) const
pure virtual

Gets the image layout size in bytes.

Returns
The size of the image layout in bytes.
See Also
setImageLayoutFromFolder
setImageLayout
virtual int32_t imageType ( ) const
pure virtual

Gets the image file system type.

Returns
The image type. The supported image types are defined in the ImageTypeFlags enumeration.
See Also
ImageTypeFlags::Enum
setImageType
virtual IsoVolumeProps* isoVolumeProps ( ) const
pure virtual

Gets an interface for setting and reading ISO9660 volume properties.

Returns
A pointer to an IsoVolumeProps object. The returned object is owned by DataDisc. It should not be used after the owning DataDisc object is released.
virtual JolietVolumeProps* jolietVolumeProps ( ) const
pure virtual

Gets an interface for setting and reading Joliet volume properties.

Returns
A pointer to an IsoVolumeProps object. The returned object is owned by DataDisc. It should not be used after the owning DataDisc object is released.
virtual int32_t layoutLoadTrack ( ) const
pure virtual

Gets the track number set with setLayoutLoadTrack.

Returns
track number
See Also
setLayoutLoadTrack
virtual int32_t loadedImageSizeInBlocks ( )
pure virtual

Gets the size in blocks, of a image which has been loaded with the LoadFromDisc method.

The size of a data block is 2048 bytes.

Returns
The size of the loaded image in blocks.
See Also
LoadFromDisc
virtual bool_t loadFromDisc ( int32_t  trackNumber)
pure virtual

Loads a file system from existing track on a CD/DVD.

This method reads only the directory tables. The directory tables map filenames and directory names to physical sectors on the disc.

When creating a multi-session data disc the calling application should merge the layouts of the new image and the last track on the CD/DVD.

Before using this method a device must be set with a call to the SetDevice method

Parameters
trackNumberThe track number where the image path table is read from. The track must exist on the disc.
Returns
TRUE if the operation is successful, FALSE otherwise.
See Also
merge
virtual bool_t loadFromFile ( const char_t *  filename)
pure virtual

Loads a data image from file.

The method works with Mode1 (2048 bytes/sector) data images created with the CreateImageFile method. This method loads only the image layout into memory. The actual data is read from the image file when needed.

Parameters
filenameISO image file the layout of which should be loaded into this instance of DataDisc. The file should be a ISO/Joliet/UDF data image that can be recorded in Mode1 (2048 bytes/sector).
Returns
TRUE if the operation is successful, FALSE otherwise.
See Also
copyImageLayout
virtual bool_t merge ( DataDisc source,
MergeDirection::Enum  direction = MergeDirection::Left 
)
pure virtual

Merges the file trees of two DataDisc instances.

This method is usually used together with the loadFromDisc method to create multi-session data discs.

Parameters
sourceA pointer to DataDisc instance, the layout of which should be merged into the layout of this object.
directionThis parameter affects the way files with same virtual path are handled:

MergeDirection::Left: If a file with the same virtual path exists both in source and in 'this', the file from pNew replaces the file from 'this'.

MergeDirection::Right: If a file with the same virtual path exists both in source and in 'this', the file from pNew is ignored.

Returns
TRUE if the operation is successful, FALSE otherwise.
See Also
loadFromDisc
virtual int32_t sessionStartAddress ( ) const
pure virtual

Gets the address specified with the setSessionStartAddress method.

Returns
LBA
See Also
setSessionStartAddress
virtual void setBootable ( bool_t  bootable)
pure virtual

Indicates whether or not a bootable image will be created.

If you do not call this method a non-bootable image is created by default.

Parameters
bootableSpecifies whether a bootable image will be created by DataDisc.
Remarks
The application should call this method and set the boot properties (bootProps) before using the writeToDisc or createImageFile methods.
See Also
bootProps
BootProps
bootable
virtual void setCallback ( DataDiscCallback callback)
pure virtual

Sets a callback object to be used for notifications during the burning.

Parameters
callbackA pointer to an object that implements the DataDiscCallback interface.
virtual void setCDRomXA ( bool_t  flag)
pure virtual

Instructs the DataDisc to use Mode2 Form 1 XA sectors during the disc recording.

After the burning the resulting CD will become CD-ROM XA disc.

In multi-session / multi-track discs XA (Mode2 Form 1 XA) and normal (Mode1) track types cannot be mixed together.

This property has effect only when the write method is set to Session-At-Once (WriteMethod::Sao).

Parameters
flag[in] Indicates whether to burn a Mode2 Form 1 XA track.
virtual void setCloseDisc ( bool_t  closeDisc)
pure virtual

Instructs DataDisc to close the disc after the session is written to the disc.

If you never use this method the disc will be closed by default. Calling setCloseDisc has no effect for DVD-RAM.

Parameters
closeDiscIndicates whether to close the disc after the session has been written.
virtual void setCloseSession ( bool_t  closeSession)
pure virtual

Indicates whether to close the session after the burning is completed.

This method has no effect for DVD-RAM.

Parameters
closeSessionIndicates whether to close the new session. If this parameter is TRUE, the session is closed. If this parameter is FALSE, the session is left open and additional tracks may be added to the session later. If you never call this method the session is always closed by default.
Remarks
This method has no effect if the burn mode is set to WriteMethod::Sao or if the calling application requested the disc to be closed by calling the setCloseDisc() method.
If you do not call this method the DataDisc will automatically close the session each time you use the writeToDisc method.
See Also
setCloseDisc
virtual void setCloseTrack ( bool_t  close)
pure virtual

Indicates that the current track should be closed after the burning.

This property has no effect for DVD-RAM.

Parameters
closeSpecifies whether to close the track.
Remarks
This setting is overridden by the setCloseSession and setCloseDisc methods. A track is always closed if the session is closed. A session is always closed if the disc is closed. The default value of this property is TRUE.
See Also
closeTrack
virtual void setDataOverwrite ( DataOverwrite::Enum  dataOverwrite)
pure virtual

Sets whether files from the image layout should physically overwrite files that already exist on the disc.

When a file is physically overwritten the new file data is written to the same disc address as the old file, effectively replacing the data but not increasing the image size.

Parameters
dataOverwriteSpecifies whether to overwrite files on DVD+RW, DVD-RAM and BD-RE discs.
Remarks
This property works only with DVD+RW, DVD-RAM and BD-RE discs and is ignored for all other media profiles. It must be set before calling DataDisc::writeToDisc or DataDisc::merge in order to have any effect.
See Also
DataOverwrite::Enum
virtual void setDVDVideo ( bool_t  dvdVideo)
pure virtual

Indicates that DataDisc should create a DVD-Video compatible image.

Parameters
dvdVideoTRUE if a DVD-Video image will be created, FALSE otherwise.
Remarks
When this property is set to TRUE the following property settings are implied:
imageType is ImageTypeFlags::UdfIso,
udfVolumeProps:
UdfVolumeProps::allocDescType is UdfAllocDescType::Short,
UdfVolumeProps::textEncoding is UdfTextEncoding::Ansi,
UdfVolumeProps::protectedContent = TRUE
See Also
udfVolumeProps
UdfVolumeProps
virtual void setFilenameTranslation ( bool_t  translate)
pure virtual

Enables the default translation of the file names during the image creation.

If set to true the engine will replace the long file names with shorter ones without reporting an error. If false the engine will report an error for any constraint that is violated. The default setting for this property is false.

Parameters
translateIf TRUE the engine will replace the long file names with shorter ones without reporting an error. If FALSE the engine will report an error for any constraint that is violated. The default setting for this property is FALSE.
    <p>The file names are translated according to the following rules:

      If there is an extension the first three characters of the extension are kept as extension for the short filename.

      The name part only (the part without the extension) is truncated so its length plus 4 (the length of the extension and the dot '.')
      equals the maximum filename length allowed for the image type that is to be created. 

This property is ignored if no constraints have been set.

See Also
filenameTranslation
setImageConstraints
virtual void setImageConstraints ( int32_t  imageConstraints)
pure virtual

Call this method to set image validation constraints.

The constraints are checked by setImageLayout and setImageLayoutFromFolder methods.

Parameters
imageConstraintsContains a combination of one or more of the flags defined in the ImageConstraintFlags enumeration. The default value of this property is ImageConstraintFlags::None (0) and no validation of the file names is performed.
See Also
setFilenameTranslation
imageConstraints
ImageConstraintFlags::Enum
virtual bool_t setImageLayout ( DataFile imageLayout,
bool_t  sortByFilename = 0 
)
pure virtual

Sets the file tree of a data image.

Parameters
imageLayoutThe file system of the image, a tree of files and directories that should be used as an image layout. The first DataFile item in the directory tree should be the root of the file system. The parameter imageLayout must not be NULL.
sortByFilenameIndicates whether to perform case sensitive ASCII sorting of the file entries based on the LongFilename value. For example assume that you have two files with names JOHNSTON and JOHN_HENRY. The string JOHN_HENRY will be greater than JOHNSTON because the "_" has a greater ASCII value than an uppercase S. The file entry for JOHN_HENRY will be placed physically on the CD after the file entry for JOHNSTON.
Returns
TRUE if the operation is successful, FALSE otherwise.
Remarks
A valid image type must be set with setImageType before calling this method. Otherwise this method will fail and the DataDisc error is DataDiscError::InvalidImageType.
See Also
DataFile
virtual bool_t setImageLayoutFromFolder ( const char_t *  rootFolder,
bool_t  sortByFilename = 0 
)
pure virtual

Sets the logical layout of a data image from a folder.

The logical directory and file layout of the image will be identical to the directory tree under the folder specified in lpRootFolder parameter.

Parameters
rootFolderThe folder name that should be used to create the image layout. The name must specify the full path to the folder.
sortByFilenameIndicates whether to perform case sensitive ASCII sorting of the file entries based on the LongFilename value. For example assume that you have two files with names JOHNSTON and JOHN_HENRY. The string JOHN_HENRY will be greater than JOHNSTON because the "_" has a greater ASCII value than an uppercase S. The file entry for JOHN_HENRY will be placed physically on the CD after the file entry for JOHNSTON.
Returns
1 Success
0 Failure
virtual void setImageType ( int32_t  imageTypeFlags)
pure virtual

Sets the image file system type.

The possible values are defined in the EImageType enumeration

Parameters
imageTypeFlagsThe image type.
See Also
ImageTypeFlags::Enum
imageType
virtual void setLayoutLoadTrack ( int32_t  trackNumber)
pure virtual

The setLayoutLoadTrack method sets a track that should be loaded and merged with the new data layout.

This method must be called before the setImageLayoutFromFolder or setImageLayout methods.

Parameters
trackNumber[in] track number from the CD/DVD. The track should be a valid data track. To disable track merging set this parameter to 0.
Remarks
If trackNumber is an incomplete track DataDisc will attempt to locate UDF file system descriptors in the recorded part of the track. This approach allows burning of single UDF tracks in increments (a.k.a. packets). That is currently possible only when UDF file system is used.
See Also
layoutLoadTrack
virtual void setSessionStartAddress ( int32_t  address)
pure virtual

Sets the start address of the data session in blocks.

The start address is saved in the image structures before it is burnt. The OS uses that information to find the data on multi-session discs.

Parameters
addressThe start address of the new session in blocks. Call Device::newSessionStartAddress to get the correct start address for the next session.
See Also
Device::newSessionStartAddress
sessionStartAddress
virtual void setSimulateBurn ( bool_t  simulate)
pure virtual

Indicates that burning should be simulated.

The simulation is a good test of a disc recorder, because most of the operations are performed as in a real recording.

Parameters
simulateIf TRUE the device is instructed to write in simulation mode.

Simulation is only supported for CD-R/RW and DVD-R/RW media. On CD-R/RW media simulation is possible only for Track-At-Once or Session-At-Once recording. On DVD-R/RW media, simulation is possible for Disc-At-Once recording.

virtual bool_t setWriteMethod ( WriteMethod::Enum  writeMethod)
pure virtual

Sets the disc write method.

Parameters
writeMethodThe write method that should be used to burn next disc session. See the EWriteMethod enumeration.

The following write methods are currently supported:

CD Media: WriteMethod::Packet, WriteMethod::Tao, WriteMethod::Sao, WriteMethod::RawDao

DVD Media: WriteMethod::DVDIncremental, WriteMethod::DVDDao

The WriteMethod::DVDIncremental method works with all DVD profiles. The burning is done in sessions and fragments (tracks) with one exception for DVD+RW media: DVD+RW disc needs to be formatted before any burning could be done and once formatted the disc contains one session and one track and the whole track could be written and rewritten randomly with no overwrite restrictions.

The WriteMethod::DVDDao can be used only with DVD-RW formatted for sequential writing and DVD-R media. With WriteMethod::DVDDao the disc will contain one session with one track. No sessions could be added after the burning is completed. It is recommended to use the WriteMethod::DVDDao and DVD-R media to burn DVD movies to ensure best compatibility with the consumer DVD players.

BD Media: WriteMethod::BluRay

Returns
1 if a valid write method is specified, 0 otherwise.
virtual void setWriteStrategy ( DataWriteStrategy::Enum  writeStrategy)
pure virtual

Sets the write attributes.

The write attributes affect the way writeToDisc method works and should be used only for burning of multi-track sessions.

Parameters
writeStrategy[in] Write attributes. See the DataWriteStrategy enumeration for details about different attributes.
Remarks
The write strategy works only when the write method is set to WriteMethod::Packet or WriteMethod::DVDIncremental and when the image type is set to ImageTypeFlags::Udf. Attributes are ignored in all other cases.
virtual bool_t simulateBurn ( ) const
pure virtual

Gets the current simulation setting.

Returns
TRUE if simulation is enabled, FALSE otherwise.
virtual UdfVolumeProps* udfVolumeProps ( ) const
pure virtual

Gets an interface for setting and reading UDF volume properties.

Returns
A pointer to a UdfVolumeProps object. The returned object is owned by DataDisc. It should not be used after the owning DataDisc object is released.
virtual bool_t writeImageToDisc ( const char_t *  imageFile,
bool_t  dismountVolume = 0 
)
pure virtual

Writes an image file to a CD/DVD/BD disc.

The recording progress is reported through the DataDiscCallback interface.

No check is performed for the available space on the disc. Use the Device::mediaFreeSpace method to get the disc free space.

Parameters
imageFile[in] The full path to the data image file.
dismountVolumeIndicates whether to dismount the volume after the burning. The default value of this parameter is FALSE.

The operating system tries to mount an unmounted volume as soon as an attempt is made to access it. For example, a call to GetLogicalDrives triggers the operating system to mount unmounted volumes.

Dismounting a volume is useful when a volume needs to disappear for a while. For example, when an application changes a volume file system it needs to dismount it to clear the volume information cache.

Returns
1 The write operation has been successful.
0 The write operation failed for some reason.
See Also
setImageLayoutFromFolder
setImageLayout
writeToImageFile
DataDiscCallback
virtual bool_t writeImageToDiscEx ( primo::Stream stream,
bool_t  dismountVolume = 0 
)
pure virtual

The WriteImageToDiscEx method writes an image to a CD/DVD/BD disc.

This method uses primo::Stream to read the image data. The recording progress is reported through the DataDiscCallback interface.

Parameters
stream[in] Pointer to an object that implements the primo::Stream interface.
dismountVolumeIndicates whether to dismount the volume after the burning. The default value of this parameter is FALSE.

The operating system tries to mount an unmounted volume as soon as an attempt is made to access it. For example, a call to GetLogicalDrives triggers the operating system to mount unmounted volumes.

Dismounting a volume is useful when a volume needs to disappear for a while. For example, when an application changes a volume file system it needs to dismount it to clear the volume information cache.

Returns
1 The write operation has been successful.
0 The write operation failed.
See Also
DataDiscCallback
primo::Stream
virtual WriteMethod::Enum writeMethod ( ) const
pure virtual

Gets the current write method.

Returns
A constant from the WriteMethod enumeration.
virtual DataWriteStrategy::Enum writeStrategy ( ) const
pure virtual

Gets the current data write strategy.

Returns
A constant from the DataWriteStrategy enumeration.
virtual bool_t writeToDisc ( bool_t  dismountVolume = 0)
pure virtual

The WriteToDisc method generates and writes a data image to a CD/DVD.

The current layout must be set with the SetImageLayoutFromFolder or SetImageLayout methods before this method can be called. The recording progress is reported through the DataDiscCallback interface. This method works with both CD and DVD media.

No check is performed for the available space on the disc. Use the Device::mediaFreeSpace method to get the disc free space. Use the GetImageSizeInBlocks method to get the size of the data image in blocks.

Parameters
dismountVolumeIndicates whether to dismount the volume after the burning. The default value of this parameter is FALSE.

The operating system tries to mount an unmounted volume as soon as an attempt is made to access it. For example, a call to GetLogicalDrives triggers the operating system to mount unmounted volumes.

Dismounting a volume is useful when a volume needs to disappear for a while. For example, when an application changes a volume file system it needs to dismount it to clear the volume information cache.

Returns
1 The write operation has been successful.
0 The write operation failed for some reason.
See Also
setImageLayoutFromFolder
setImageLayout
DataDiscCallback
virtual bool_t writeToImageFile ( const char_t *  imageFile)
pure virtual

Creates an ISO image file from the current image layout.

The data of all the files from the layout is written to the image file. After the image file is created it can be written to CD or DVD with the writeImageToDisc method.

Parameters
imageFileFull path to the output image file. If the file exists it will be destroyed.
Returns
1 Success.
0 Failure.