我使用了IDiscFormat2Data接口刻录。大概的流程:
discFormat2Data->get_MultisessionInterfaces(&pSafeArrayMulSession);
if(pSafeArrayMulSession->rgsabound[0].cElements > 0)
{
IMultisession *pMultisession = NULL;
VARIANT *pV = NULL;
SafeArrayAccessData(pSafeArrayMulSession,(void**)&pV);
pMultisession = (IMultisession*)pV[0].pdispVal;
if(pMultisession)
{
hrTemp = pMultisession->put_InUse(VARIANT_TRUE);
}
}
discFormat2Data->get_MediaHeuristicallyBlank(vbBlank);
if(vbBlank == VARIANT_TRUE)
{
image->put_FileSystemsToCreate((FsiFileSystems)(FsiFileSystemJoliet|FsiFileSystemISO9660));
image->put_VolumeName(pThis->m_volumeLabel.AllocSysString());
image->ChooseImageDefaultsForMediaType(mediaType);
}
else
{
hr = image->put_MultisessionInterfaces(pSafeArrayMulSession);
hr = image->ChooseImageDefaultsForMediaType(mediaType);
if(SUCCEEDED(hr))
{
FsiFileSystems fileSystems ;
hr = image->ImportFileSystem(&fileSystems);
// fileSystems = FsiFileSystemJoliet|FsiFileSystemISO9660; // 当返回错误时
if(SUCCEEDED(hr))
{
hr = image->put_FileSystemsToCreate(fileSystems);
}
}
}
第一次每次肯定都是刻录成功的,第二次刻录的时候,hr = image->ImportFileSystem(&fileSystems);返回错误,错误代码是:IMAPI_E_NO_SUPPORTED_FILE_SYSTEM,然后刻录自然不成功了。当程序返回错误时,我手动将fileSystems手动赋值,结果刻录成功了,但是在光盘中看不见我新增刻录的文件了,不知道是否有高手能帮助我下。。。。
11 个解决方案
#1
不知道是否有高手能帮助我下。。。。
我不是高手,所以不会。
帮你顶帖子吧
我不是高手,所以不会。
帮你顶帖子吧
#2
else
{
hr = image->put_MultisessionInterfaces(pSafeArrayMulSession);
hr = image->ChooseImageDefaultsForMediaType(mediaType);
if(SUCCEEDED(hr))
{
FsiFileSystems fileSystems ;
hr = image->ImportFileSystem(&fileSystems);
// fileSystems = FsiFileSystemJoliet|FsiFileSystemISO9660; // 当返回错误时
if(SUCCEEDED(hr))
{
hr = image->put_FileSystemsToCreate(fileSystems);
}
}
}
我将其中的
if(SUCCEEDED(hr))
{
hr = image->put_FileSystemsToCreate(fileSystems);
}
删除掉,结果发现:可以刻录CD光盘,但是无法刻录DVD光盘。。。。。悲哀啊,我恰恰只要刻录DVD光盘的。。。。。。。
帮帮忙吧,高手们
#3
哎,看来是没人回复了,不过我自己弄好了,等过段时间我上传一个我写的Demo刻录程序,感兴趣的朋友可以下载参考下。
记得微软官方网站有篇文章,大大影响了我写刻录程序,不过最新的API貌似已经修复了这个问题,文章地址: http://support.microsoft.com/kb/888622。
如果大家对刻录这块有什么问题的话,欢迎同我一起探讨啊,也许我不一定能帮上什么忙,呵呵。
再次感谢那些回贴的同胞们.....
记得微软官方网站有篇文章,大大影响了我写刻录程序,不过最新的API貌似已经修复了这个问题,文章地址: http://support.microsoft.com/kb/888622。
如果大家对刻录这块有什么问题的话,欢迎同我一起探讨啊,也许我不一定能帮上什么忙,呵呵。
再次感谢那些回贴的同胞们.....
#4
楼主可不可以给小弟发一个demo.
jzljr@sina.com
jzljr@sina.com
#5
楼主 能发个demo吗,最近正在做这个
在获取光盘的总大小,可用大小上面老是不能解决
ynj@sinodata.com.cn
谢谢楼主了啊
在获取光盘的总大小,可用大小上面老是不能解决
ynj@sinodata.com.cn
谢谢楼主了啊
#6
楼主能回个demo吗,我的程序也是一直返回IMAPI_E_NO_SUPPORTED_FILE_SYSTEM,好久都没解决,我的邮箱为caolei3470@126.com ,非常感谢,我希望我们能多多交流
#7
楼主你上传个demo供大家学习吗?
刻录的资料确实很少。
楼主要是怕给别人源码,那能不能给点思路 步骤之类的
以免大家走弯路
刻录的资料确实很少。
楼主要是怕给别人源码,那能不能给点思路 步骤之类的
以免大家走弯路
#8
楼主,能否发个demo给小弟,我邮箱:853255884@qq.com,谢谢啦。。
#9
http://download.csdn.net/detail/zhangby629/2922346
#10
您好,我也遇到DVD不能多次刻录的问题,我使用Nero就可以对DVD+RW进行多次写入,我使用了在您帖子最后一个链接的例子的代码进行了测试,发现能进行CD的多次刻录,但DVD不行,恳请的你的帮助,我的邮箱是13817698901@139.com,感谢。
#11
您好,我也遇到DVD不能多次刻录的问题,我使用Nero就可以对DVD+RW进行多次写入,我使用了在您帖子最后一个链接的例子的代码进行了测试,发现能进行CD的多次刻录,但DVD不行,恳请的你的帮助,我的邮箱是13817698901@139.com,感谢。
#1
不知道是否有高手能帮助我下。。。。
我不是高手,所以不会。
帮你顶帖子吧
我不是高手,所以不会。
帮你顶帖子吧
#2
else
{
hr = image->put_MultisessionInterfaces(pSafeArrayMulSession);
hr = image->ChooseImageDefaultsForMediaType(mediaType);
if(SUCCEEDED(hr))
{
FsiFileSystems fileSystems ;
hr = image->ImportFileSystem(&fileSystems);
// fileSystems = FsiFileSystemJoliet|FsiFileSystemISO9660; // 当返回错误时
if(SUCCEEDED(hr))
{
hr = image->put_FileSystemsToCreate(fileSystems);
}
}
}
我将其中的
if(SUCCEEDED(hr))
{
hr = image->put_FileSystemsToCreate(fileSystems);
}
删除掉,结果发现:可以刻录CD光盘,但是无法刻录DVD光盘。。。。。悲哀啊,我恰恰只要刻录DVD光盘的。。。。。。。
帮帮忙吧,高手们
#3
哎,看来是没人回复了,不过我自己弄好了,等过段时间我上传一个我写的Demo刻录程序,感兴趣的朋友可以下载参考下。
记得微软官方网站有篇文章,大大影响了我写刻录程序,不过最新的API貌似已经修复了这个问题,文章地址: http://support.microsoft.com/kb/888622。
如果大家对刻录这块有什么问题的话,欢迎同我一起探讨啊,也许我不一定能帮上什么忙,呵呵。
再次感谢那些回贴的同胞们.....
记得微软官方网站有篇文章,大大影响了我写刻录程序,不过最新的API貌似已经修复了这个问题,文章地址: http://support.microsoft.com/kb/888622。
如果大家对刻录这块有什么问题的话,欢迎同我一起探讨啊,也许我不一定能帮上什么忙,呵呵。
再次感谢那些回贴的同胞们.....
#4
楼主可不可以给小弟发一个demo.
jzljr@sina.com
jzljr@sina.com
#5
楼主 能发个demo吗,最近正在做这个
在获取光盘的总大小,可用大小上面老是不能解决
ynj@sinodata.com.cn
谢谢楼主了啊
在获取光盘的总大小,可用大小上面老是不能解决
ynj@sinodata.com.cn
谢谢楼主了啊
#6
楼主能回个demo吗,我的程序也是一直返回IMAPI_E_NO_SUPPORTED_FILE_SYSTEM,好久都没解决,我的邮箱为caolei3470@126.com ,非常感谢,我希望我们能多多交流
#7
楼主你上传个demo供大家学习吗?
刻录的资料确实很少。
楼主要是怕给别人源码,那能不能给点思路 步骤之类的
以免大家走弯路
刻录的资料确实很少。
楼主要是怕给别人源码,那能不能给点思路 步骤之类的
以免大家走弯路
#8
楼主,能否发个demo给小弟,我邮箱:853255884@qq.com,谢谢啦。。
#9
http://download.csdn.net/detail/zhangby629/2922346
#10
您好,我也遇到DVD不能多次刻录的问题,我使用Nero就可以对DVD+RW进行多次写入,我使用了在您帖子最后一个链接的例子的代码进行了测试,发现能进行CD的多次刻录,但DVD不行,恳请的你的帮助,我的邮箱是13817698901@139.com,感谢。
#11
您好,我也遇到DVD不能多次刻录的问题,我使用Nero就可以对DVD+RW进行多次写入,我使用了在您帖子最后一个链接的例子的代码进行了测试,发现能进行CD的多次刻录,但DVD不行,恳请的你的帮助,我的邮箱是13817698901@139.com,感谢。