在 Windows XP 中使用 .NET 刻录 DVD 需要哪些基本 COM 组件?

Posted

技术标签:

【中文标题】在 Windows XP 中使用 .NET 刻录 DVD 需要哪些基本 COM 组件?【英文标题】:What are the essential COM components required for burning DVD in Windows XP using .NET? 【发布时间】:2011-02-02 19:03:47 【问题描述】:

我正在尝试通过前端 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 中运行。

【问题讨论】:

你能显示整个程序代码吗???????? 你可以在 //www.codeproject.com/KB/miscctrl/imapi2.aspx 看到代码; 【参考方案1】:

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

【讨论】:

你能告诉我为什么会出现这个错误吗???您可以从这里下载示例项目:http://www.codeproject.com/KB/miscctrl/imapi2.aspx 并在 WindowsXP sp3 下运行它,如果您也遇到相同的错误,请告诉我解决方案。 【参考方案2】:

我对此很感兴趣,因为我正在启动一个类似的项目。无论如何,看起来答案就在您链接到的页面上。在“XP SP3 上的 BurnMedia 应用程序不工作?”的线程下,在 cmets 的第 2 页上,有人报告了完全相同的错误。另一位发帖人说他通过更改解决了这个问题:

[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,并且他正在研究解决方案(截至几天前)。

【讨论】:

以上是关于在 Windows XP 中使用 .NET 刻录 DVD 需要哪些基本 COM 组件?的主要内容,如果未能解决你的问题,请参考以下文章

windows xp正版iso怎么安装

Windows XP纯净版 系统安装文件下载!

谁能给个Windows XP Professional 版本2002 SP3 的iso镜像下载的地址?拜托了各位 谢谢

如何使用 Oracle、.Net、Winform、Windows Vista 和 XP

我可以在 Windows XP 或 7 上使用最新的 .NET 框架吗? [关闭]

如何让我的 VB.net 程序在 Windows XP 上运行?