gpt4 book ai didi

c++ - 如何实例化MsftRawCDImageCreator?

转载 作者:太空宇宙 更新时间:2023-11-04 14:28:17 24 4
gpt4 key购买 nike

我正在尝试用C ++编写一个程序,该程序能够刻录音频CD,而不会在音轨之间留下间隙。

根据我的发现,这只是最近才使用IMAPI实现的,但是自Windows XP SP2和Vista SP1起应该可以实现。

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

我确实发现我需要使用IRawCDImageCreator,可以使用IDiscFormat2RawCD对其进行刻录,并且可以使用AddTrack函数。

首先,我使用以下成功的代码来创建MsftDiscFormat2RawCD对象。

IDiscFormat2RawCD *rawCD;
if (!SUCCEEDED(CoCreateInstance(__uuidof(MsftDiscFormat2RawCD), NULL, CLSCTX_INPROC_SERVER, __uuidof(IDiscFormat2RawCD), (LPVOID*)&rawCD)))
return -1;


接下来,我尝试创建IRawCDImageCreator:

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


但是,此操作失败,错误代码为 E_NOINTERFACE

出现 The IMAPI Interfaces页,表明我正在使用正确的对象。

关于 E_NOINTERFACE我确实找到了 this blog post,它说明了单元线程,但是我不确定如何更改它,以及为什么创建第一个对象没有问题。

最佳答案

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

关于c++ - 如何实例化MsftRawCDImageCreator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1692683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com