我在用Nero SDK做一个将实时数据流直接写入DVD光盘的程序,尝试使用NeroBAOCreateHandle函数,可是不管怎样都返回NEROAPI_BURN_FAILED,哪位高人若能指点一二,本人将感激不尽。如果给出源程序,愿付人民币。
void CTestNeroDlg::Testcreatefile(NERO_SCSI_DEVICE_INFO* pnsdiDevice)
{
  CString csError;
  NERO_DEVICEHANDLE hDeviceHandle;
  hDeviceHandle = NeroOpenDevice(pnsdiDevice);
  if (!hDeviceHandle)
  {
    ShowString("Device could not be opened : "+(CString)pnsdiDevice->nsdiDeviceName);
    return;
  }  NERO_BAO_HANDLE hNERO_BAO_HANDLE = NULL;
  NERO_WRITE_BURN_AT_ONCE neroWriteBurnAtOnce;
  memset(&neroWriteBurnAtOnce,0,sizeof(NERO_WRITE_BURN_AT_ONCE));
  neroWriteBurnAtOnce.nwbaoSize = sizeof(NERO_WRITE_BURN_AT_ONCE);
  neroWriteBurnAtOnce.nwbaoFSContainer = NeroCreateFileSystemContainer(NULL);  NEROAPI_BURN_ERROR nErr = NeroBAOCreateHandle(hDeviceHandle,&neroWriteBurnAtOnce,
                               NBF_WRITE,//|NBF_CLOSE_SESSION|NBF_DISABLE_ABORT|NBF_DISABLE_EJECT|NBF_NO_BOOKTYPE_CHANGE,
                               0,NULL,
                               &hNERO_BAO_HANDLE,NULL);
  if(NEROAPI_BURN_OK != nErr)
  {
    csError.Format("NeroBAOCreateHandle Error(%d)",nErr);
    ShowString(csError);
  }
  else
  {
    nErr = NeroBAOCloseHandle(hNERO_BAO_HANDLE, NBAOF_CANCELED, NULL);
    if(NEROAPI_BURN_OK != nErr)
    {
      csError.Format("NeroBAOCloseHandle Error(%d)",nErr);
      gpCLtsNero->AppendString(csError);
    }
  }  NeroCloseDevice(hDeviceHandle);
}

解决方案 »

  1.   

    给你个网址,一样的问题
    http://club.cdfreaks.com/showthread.php?t=106906#post683077
      

  2.   

    谢谢 zzz3265(zzz) !
    但在那里并没有给出如何使用 NeroBAOCreateHandle 函数啊。
      

  3.   

    给出源码能让我在 DVD 光盘上自己生成一个文件,即付人民币500。
    [email protected]
      

  4.   

    500人民币哦~够一年网费了~
    不知道你用的是哪个版本的 Nero SDK
      

  5.   

    To:wjjssnew(手中无剑,心中有剑..脚趾甲被砸后长了才到一半)
      NeroSDK-1.07
    不好意思,回复迟了。