我尝试使用WRL(工具包v140)在Visual C ++中使用SystemMediaTransportControls,但我遇到以下问题:
Microsoft::WRL::ComPtr<ABI::Windows::Media::ISystemMediaTransportControls> controls;
HRESULT hResult = ABI::Windows::Foundation::GetActivationFactory(Microsoft::WRL::Wrappers::HStringReference(RuntimeClass_Windows_Media_SystemMediaTransportControls).Get(), &controls);
上面的代码正在返回E_NOINTERFACE,但如果我按照MSDN教程并激活IUriRuntimeClassFactory,它就能正常工作。
编辑:我在调用这些函数之前已经初始化了它。
答案 0 :(得分:0)
ISystemMediaTransportControls
是在SystemMediaTransportControls
类上实现的接口,而不是其激活工厂。您是否打算将控件变量改为Microsoft::WRL::ComPtr<ABI::Windows::Media:ISystemMediaTransportControlsStatics>
?