3

我正在尝试通过前端 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 一起使用。

4

2 回答 2

1

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

于 2010-03-31T06:27:24.647 回答
0

我对此感兴趣,因为我正在开始一个类似的项目。无论如何,看起来答案就在您链接到的页面上。在“XP SP3 上的 BurnMedia 应用程序不工作?”线程下,在评论的第 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-03-31T14:54:49.840 回答