使用.NET在Windows XP中刻录DVD所需的基本COM组件是什么?

时间:2010-03-31 05:55:04

标签: c# .net com components dvd-burning

我正在尝试通过前端C#代码刻录DVD / CD ......

我已经使用IMAPI2在Windows XP中刻录CD / DVD ..但它给了我未处理的异常......如: -

System.InvalidCastException:无法将类型为“IMAPI2.Interop.MsftFileSystemImageClass”的COM对象强制转换为接口类型“IMAPI2.Interop.MsftFileSystemImage”。此操作失败,因为对于具有IID“{7CFF842C-7E97-4807-8304-910DD8F7C051}”的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(来自HRESULT的异常:0x80004002(E_NOINTERFACE))

任何人都可以帮我解决这个问题。我无法解决此错误。这个项目在Windows7中工作正常但无法使用XP。

2 个答案:

答案 0 :(得分:1)

IMAPI2随Vista或更高版本一起发布,XP附带IMAPI,其中不支持DVD。您可以下载IMAPI2 for XP here

答案 1 :(得分:0)

我对此感兴趣,因为我正在开始一个类似的项目。无论如何,看起来答案就在您链接的页面上。在评论的第2页上的“XP SP3上的BurnMedia应用程序无法正常工作?”下,有人报告完全相同的错误。另一张海报说他通过改变来解决它:

[ComImport]
[CoClass(typeof(MsftFileSystemImageClass))]
[Guid("7CFF842C-7E97-4807-8304-910DD8F7C051")]
public interface MsftFileSystemImage : IFileSystemImage3, DFileSystemImage_Event
{
}

[ComImport]
[Guid("2C941FE1-975B-59BE-A960-9A2A262853A5")]
[CoClass(typeof(MsftFileSystemImageClass))]
public interface MsftFileSystemImage : IFileSystemImage, DFileSystemImage_Event
{
}

在其中一个互操作文件中。

然而,在一个更新的主题上,作者认为这一变化(据报道可以在Windows 7和XP SP3上运行)打破了Vista,他正在研究一种解决方案(截至几天前)。