How to use the DVD Burner to burn ISO files and DVD images

The DVD burner functionality makes it possible to burn ISO and DVD images or regular data folders on recordable and writable media.

To begin burning, follow the steps:

  1. Create an instance of the LTDVDBurner object.

C Source

ILTDVDBurner * pBurner;   
CoCreateInstance   
 (CLSID_LTDVDBurner, NULL, LSCTX_INPROC_SERVER, IID_ILTDVDBurner, (void**) & pBurner);  

C++ Source

ILTDVDBurner * pBurner;    
CoCreateInstance   
 (CLSID_LTDVDBurner, NULL, LSCTX_INPROC_SERVER, IID_ILTDVDBurner, (void**) & pBurner); 

  1. The burner object can burn an ISO/DVD image or regular data folder (for example, a DVD at C:\DVDImage or an ISO file at "C:\ISOFile\Image.iso").

  2. To burn a DVD image, use an empty writable or rewritable DVD. To burn ISO files, use either an empty writeable or rewritable CD or DVD.

  3. Eject the drive tray and insert the empty disc:

C Source

ILTDVDBurner_EjectDisc (pBurner); 

C++ Source

pBurner->EjectDisc (); 

  1. Load the tray:

C Source

ILTDVDBurner_LoadDisc (pBurner); 

C++ Source

pBurner->LoadDisc (); 

  1. Associate the DVD image path, ISO file or regular data folder to the burner object:

C Source

//For the DVD image   
ILTDVDBurner_put_InputPath (pBurner ,L" C:\\DVDImage");    
//For the ISO file   
ILTDVDBurner_put_InputPath (pBurner ,L"C:\\ISOFile\\Image.iso"); 

C++ Source

//For the DVD Image   
pBurner->put_InputPath (L" C:\\DVDImage");    
//For the ISO file   
pBurner->put_InputPath (L"C:\\ISOFile\\Image.iso"); 

  1. Set the Volume name for the disc:

C Source

ILTDVDBurner_put_VolumeName (pBurner,L"DRIVE-1"); 

C++ Source

pBurner->put_VolumeName (L"DRIVE-1"); 

  1. Retrieve the available speeds for the drive and the empty target disk:

C Source

Long lCount = 0 ; 
BSTR bstr = NULL; 
ILTDVDBurner_RefreshSpeedList (pBurner); 
// Get the number of available speeds 
ILTDVDBurner_get_SpeedCount (pBurner, & lCount); 
// For each index value, retrieve the name of the speed 
// Use this feature to display the names of the available speeds. 
For(long i = 0; i < lCount ; i++) 
{ 
   ILTDVDBurner_GetSpeedName (pBurner, i, &bstr); 
   // Do something with the name. 
   // Free the name after you finish using it 
   SysFreeString(bstr); 
} 

C++ Source

Long lCount = 0 ; 
BSTR bstr = NULL; 
pBurner ->RefreshSpeedList (); 
// Get the number of available speeds 
pBurner ->get_SpeedCount (& lCount); 
// For each index value, retrieve the name of the speed 
// Use this feature to display the names of the available speeds. 
For(long i = 0 ; i <lCount ; i++) 
{ 
   pBurner ->GetSpeedName (i, &bstr); 
   // Do something with the name 
   // Free the name after you finish using it 
   SysFreeString(bstr); 
} 

  1. Select the burning speed:

C Source

//Select the speed that you want   
ILTDVDBurner_put_CurrentSpeed (pBurner, lCount - 1); 

C++ Source

//Select the speed that you want   
pBurner ->put_CurrentSpeed (lCount - 1); 

  1. Erase the disc if it is required and if the disc is an erasable type:

C Source

VARIANT_BOOL eraseable;    
ILTDVDBurner_get_Eraseable (pBurner, &eraseable);    
If (eraseable == VARIANT_TRUE)    
   ILTDVDBurner_Erase (pBurner); 

C++ Source

VARIANT_BOOL eraseable;    
pBurner ->get_Eraseable ( &eraseable);    
If (eraseable == VARIANT_TRUE)    
   pBurner ->Erase (); 

  1. Test the burning process, if it is required. Testing the burning process is a simulation of the burning process but without a real burning of the disc. It is much safer when you use a high speed with certain types of discs:

C Source

VARIANT_BOOL testwriteable;    
ILTDVDBurner_get_TestWriteable (pBurner, & testwriteable);    
If (testwriteable== VARIANT_TRUE)    
   ILTDVDBurner_TestWrite (pBurner); 

C++ Source

VARIANT_BOOL testwriteable;    
pBurner ->get_TestWriteable ( & testwriteable);    
If (testwriteable== VARIANT_TRUE)    
   pBurner ->TestWrite (); 

  1. Now, start burning:

C Source

ILTDVDBurner_Write (pBurner); 

C++ Source

pBurner ->Write (); 

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help