Cannot mount the written CD

vbimport

#1

I use NeroCOM 1.3 and Nero Burning ROM v.6.6 and v.6.3.
My application burnes DVD-R successfully on usually drives for desktop computers.

But customers begin use notebook with drives which can not load tray (it can eject only). So I turn on NERO_BURN_FLAG_VERIFY flag in BurnIsoAudioCD() for file verification w/o eject/load tray. DVD-R writes successfully anywhere, but very Strange error occures in Nero verification:

16:22:24 DVD Burning\Reading directories
16:22:25 DVD Burning\Creating directories
16:22:25 DVD Burning\Checking discs
16:22:25 DVD Burning\Writing to cache
16:22:25 DVD Caching of files started
16:22:25 DVD Caching of files completed
16:22:25 DVD Burning\Writing to disc
16:22:25 DVD Burn process started at 4x (5.540 KB/s)
16:22:25 DVD Burning\Writing Lead-in
16:23:15 DVD Burning\Writing tracks
16:38:46 DVD Burning\Writing Lead-out
16:38:46 DVD Writing short lead-out
16:41:41 DVD Burn process completed successfully at 4x (5.540 KB/s)
16:41:41 DVD Burning\Verifying disc
16:41:41 DVD Data verification started
16:41:44 DVD Burning\Data verification started
16:41:44 DVD Cannot mount the written CD
“QSI DVD±RW SDW-082S” (H:1, T:0)
16:41:44 DVD Status summary
16:41:44 DVD Data verification failed
16:41:45 DVD Burning\Image burned with status 0x0
16:41:46 DVD D: burned with status Success. Burned and verified successfully

Questions:

  1. What’s this error means?
  2. Why I receive Nero BurnStatus == NERO_BURN_OK? But verification failed! How I can receive verification error code in this case?

Burn C++ source code:


        DWORD burnFlags = NERO_BURN_FLAG_DAO |
            NERO_BURN_FLAG_DISABLE_EJECT |
            ( bSimulate ? NERO_BURN_FLAG_SIMULATE :
            NERO_BURN_FLAG_WRITE ) |
        ( bFinalize ? 0 : NERO_BURN_FLAG_CLOSE_SESSION ) |
        // verify by Nero for notebook drives
        ( bVerify && !m_bLoadSupport ? NERO_BURN_FLAG_VERIFY : 0 );

        // buffer underrun protection
        NERO_CAPABILITIES capabilities;
        NEROCHECK2 ( m_pNeroDrive, get_Capabilities ( &capabilities ));
        if ( capabilities & NERO_CAP_BUF_UNDERRUN_PROT )
            burnFlags |= NERO_BURN_FLAG_BUF_UNDERRUN_PROT;

        CComBSTR bstrEmpty ( L"" );
        NEROCHECK2 ( m_pNeroDrive, BurnIsoAudioCD ( bstrEmpty, bstrEmpty, false,
            m_pISOTrack, 0, m_pCDStamp, NERO_BURN_FLAGS ( burnFlags ), 0,
            m_iMediaMask ));
        OLECHECK ( _WaitEvent ( m_hNeroEvent ));

        if ( m_iBurnStatus != NERO_BURN_OK )
               ...

Help please!