iTunes COM for Windows SDK IITUserPlaylist::AddFile访问冲突

iTunes COM for Windows SDK IITUserPlaylist::AddFile访问冲突,c,com,itunes-sdk,C,Com,Itunes Sdk,我只是试着写一些简单的程序进行练习。但iTunes COM for Windows SDK给了我一个小小的惊喜。 我想创建播放列表并向其中添加文件,但当我调用IITUserPlaylist::AddFile时,程序会因访问冲突而崩溃。我可以使用所有其他方法,如删除等 项目(MSVC10): 我不明白为什么会发生这种情况。你不能用COM真的做到这一点: IITUserPlaylist* ownUserPlaylist = static_cast<IITUserPlaylist*>(ow

我只是试着写一些简单的程序进行练习。但iTunes COM for Windows SDK给了我一个小小的惊喜。 我想创建播放列表并向其中添加文件,但当我调用IITUserPlaylist::AddFile时,程序会因访问冲突而崩溃。我可以使用所有其他方法,如删除等

项目(MSVC10):


我不明白为什么会发生这种情况。

你不能用COM真的做到这一点:

IITUserPlaylist* ownUserPlaylist = static_cast<IITUserPlaylist*>(ownPlaylist);

你不能将一个接口指针强制转换成另一个接口指针(IITUserPlaylist*),你必须做一个查询接口。非常感谢!:)
iTunesApp itunes = new iTunesLib.iTunesApp();
IITUserPlaylist playlist = itunes.CreatePlaylist("C# playlist") as IITUserPlaylist;
IITOperationStatus status = playlist.AddFile("C:\\test.mp3");
IITUserPlaylist* ownUserPlaylist = static_cast<IITUserPlaylist*>(ownPlaylist);
HRESULT hr = ownPlaylist->QueryInterface(IID_IITUserPlaylist, (void**)&ownUserPlaylist);