【问题标题】:What are the essential COM components required for burning DVD in Windows XP using .NET?在 Windows XP 中使用 .NET 刻录 DVD 需要哪些基本 COM 组件?
【发布时间】: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 看到代码;

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


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

【讨论】:

    猜你喜欢
    • 2010-09-07
    • 1970-01-01
    • 2011-05-29
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多