如何实例化MsftRawCDImageCreator?

时间:2009-11-07 10:52:23

标签: c++ windows imapi cd-rom cd-burning

我正在尝试用C ++编写一个能够刻录音频CD的程序,而且轨道之间没有间隙。

从我发现的情况来看,最近才有可能使用IMAPI,但是应该可以使用Windows XP SP2和Vista SP1。

问题是我找不到任何关于如何执行此操作的示例代码。

我找到的是我需要使用IRawCDImageCreatorIDiscFormat2RawCD可以使用MsftDiscFormat2RawCD进行刻录,并公开AddTrack函数。

首先,我使用以下代码成功创建IDiscFormat2RawCD *rawCD; if (!SUCCEEDED(CoCreateInstance(__uuidof(MsftDiscFormat2RawCD), NULL, CLSCTX_INPROC_SERVER, __uuidof(IDiscFormat2RawCD), (LPVOID*)&rawCD))) return -1; 对象。

IRawCDImageCreator *imageCreator;
HRESULT res = CoCreateInstance(__uuidof(MsftRawCDImageCreator), NULL, CLSCTX_INPROC_SERVER, __uuidof(IRawCDImageCreator), (LPVOID*)&imageCreator);
if (!SUCCEEDED(res))
    return -2;

接下来我尝试创建IRawCDImageCreator:

E_NOINTERFACE

但是失败了,错误代码为E_NOINTERFACE

The IMAPI Interfaces页面似乎表明我正在使用正确的对象。

关于{{1}}我确实找到了this blog post,其中提到了有关公寓线程的内容,但我不确定如何更改此内容,以及为什么创建第一个对象可以毫无问题地工作。

1 个答案:

答案 0 :(得分:0)

This page表示您需要安装Windows Feature Pack for Storage才能使用IRawCDImageCreator界面。