使用Nero SDK如何实现追加刻录
使用Nero sdk 6.6.0.1
使用空盘进行刻录,一切正常,但是如果要进行追加刻录就不行,使用的测试盘用DVD RW光盘,主要部分代码如下:
NERO_WRITE_CD writeCD;
writeCD.nwcdpCDStamp=NULL;
writeCD.nwcdArtist=NULL;
writeCD.nwcdTitle=NULL;
writeCD.nwcdCDExtra=FALSE;
writeCD.nwcdNumTracks=0;
writeCD.nwcdMediaType = MEDIA_DVD_ANY;
writeCD.nwcdIsoTrack = NeroCreateIsoTrackEx(niiTemp, "images", NCITEF_CREATE_ISO_FS|NCITEF_USE_JOLIET);
NeroBurn(ndhDeviceHandle, NERO_ISO_AUDIO_CD, &writeCD,NBF_WRITE ,0, &npProgress);//| NBF_CLOSE_SESSION | NBF_DETECT_NON_EMPTY_CDRW
//加与不加NBF_CLOSE_SESSION选项,在使用Nero刻录软件的Make Data DVD操作都可以追加刻录。但代码中就是实现不了
//在回调函数弹出“the disc is no empty”
UserDialog(void *pUserData, NeroUserDlgInOut type, void *data)
{
switch (type)
{
case DLG_WAITCD:
{
NERO_WAITCD_TYPE waitcdType = (NERO_WAITCD_TYPE) (int)data;
char *waitcdString = NeroGetLocalizedWaitCDTexts (waitcdType);
AfxMesssageBox(waitcdString);//the disc is no empty
NeroFreeMem(waitcdString);
return DLG_RETURN_EXIT;
break;
}
default:
break;
}
}
//之后在回调函数弹出“disc write error”
AddLogLine(void *pUserData, NERO_TEXT_TYPE type, const char *text)
{
AfxMesssageBox(text);//disc write error;
}