locked
DAO / TAO burn using IDiscFormat2Data RRS feed

  • Question

  • I am able to write some data to CD/DVD using IMAPI2.dll and its interface IDiscFormat2Data.

    The followings are some of the steps in my code.

    IFileSystemImge->put_FileSystemsToCreate( FsiFileSystemUDF );

    IFileSystemImge->CreateResultImage( &IImageResult );

    IImageResult->get_ImageStream( &IStream );

    IDiscFormat2Data->put_ForceMediaToBeClosed( VARIANT_TRUE );

    IDiscFormat2Data->Write( IStream );

     

    Now please let me know that whether IMAPI is writing in DAO (Disc At Once) mode or TAO (Track At Once) mode.

    Tuesday, December 14, 2010 5:14 AM

Answers

  • Hi,

    For data burning you need to burn everything in one session and close it. Use IFileSystemImage/IDiscFormat2Data. (to close the media use IDiscFormat2Data -> ForceMediaToBeClosed)

    For audio burning you need to master the image via IRawCDImageCreator and burn via IDiscFormat2RawCD.

    With Regards,
    Mikhail

    • Marked as answer by Cvaji Thursday, January 20, 2011 8:23 AM
    Wednesday, December 22, 2010 9:23 PM

All replies

  • IDiscFormat2Data writes CD-R and CD-RW discs in Session-At-Once (SAO), and DVD discs in Disc-At-Once (DAO) mode.

    Track-At-Once recording mode is applicable only for CD media. To write CD-R or CD-RW in TAO mode use IDiscFormat2TrackAtOnce interface.

     

    • Marked as answer by Cvaji Wednesday, December 15, 2010 5:03 AM
    • Unmarked as answer by Cvaji Wednesday, December 15, 2010 5:11 AM
    Tuesday, December 14, 2010 8:00 AM
  • To write in DAO mode you'll need to use IDiscFormat2RawCD & IRawCDImageCreator.

    Please refer to my blog @ http://blogs.msdn.com/b/opticalstorage/archive/2010/08/13/imapi2-data-audio-track-at-once-and-audio-disc-at-once.aspx

    • Proposed as answer by Mikhail PranovichMicrosoft employee Wednesday, December 15, 2010 1:27 AM
    • Marked as answer by Cvaji Wednesday, December 15, 2010 5:03 AM
    • Unmarked as answer by Cvaji Wednesday, December 15, 2010 5:03 AM
    • Unproposed as answer by Cvaji Monday, December 20, 2010 4:10 AM
    Wednesday, December 15, 2010 1:26 AM
  • Hope the interfaces IDiscFormat2RawCD & IRawCDImageCreator supports CD media only.Is any way to write DVD media in DAO mode??
    Wednesday, December 15, 2010 4:50 AM
  • Thank you for replying.

    In my understanding there are 3 types of write modes - TAO, SAO, DAO

    As per "CodeSnake", IDiscFormat2Data will burn CD in SAO mode and DVD in DAO mode.

    As per documentation of SAO and DAO, the only difference in between them is that in SAO mode, the media will not be finalized.

    .`. If I use IDiscFormat2Data to burn CD as given below

    IDiscFormat2Data->put_ForceMediaToBeClosed( VARIANT_TRUE ); // To finalize CD
    
    
    
    IDiscFormat2Data->Write( IStream );
    

    it is same as DAO. That means IDiscFormat2Data can be used to write CD/DVD in DAO mode.

    Please let me know whether my understanding is correct or not.

    Wednesday, December 15, 2010 5:22 AM
  • Hi Cvaji,

    There is a confusion about SAO/DAO mode for CD/DVD media types. Please refer to IMAPI Multisession Layout documentation.

    Basically, there are "sequential" and "random-write" types of the media. IMAPI does support both concepts via IMultisessionSequential and IMultisessionRandomWrite . I wouldn't call random-write behavior as DAO mode, since you are not actually doing disc-at-once, you are just updating and overwriting existing structure info on the media.

    The only behavior which needs to be clarified is the DVD-RW media, which could be both sequential and random-write, and here IMAPI goes for random-write behavior.

    Hth,
    Mikhail

    Monday, December 20, 2010 8:48 PM
  • Hi Mikhail,

    Thank you for your reply.

    Actually i dont want to bother more about multisession burn now. What i want is to burn media in single session close mode.

    Could you please tell me which are the IMAPI interfaces that supports for DAO mode burning for the following media.

    CD-R, CD-RW, DVD-R, DVD-RW

    -Cvaji

     

    Tuesday, December 21, 2010 6:55 AM
  • Hi,

    For data burning you need to burn everything in one session and close it. Use IFileSystemImage/IDiscFormat2Data. (to close the media use IDiscFormat2Data -> ForceMediaToBeClosed)

    For audio burning you need to master the image via IRawCDImageCreator and burn via IDiscFormat2RawCD.

    With Regards,
    Mikhail

    • Marked as answer by Cvaji Thursday, January 20, 2011 8:23 AM
    Wednesday, December 22, 2010 9:23 PM