【发布时间】:2015-01-10 10:02:11
【问题描述】:
我正在开发一个小型应用程序。我想嵌入 ActiveX 控件并希望在 mfc 应用程序中远程控制它。因为我需要一个IServiceProvider COM 接口。 IServiceProvider 提供IWMPRemoteMediaAccess 接口的访问权限。
为此,我正在使用这个:
但它每次都返回E_INVALIDARG。谁能告诉我可能是什么问题。
IOleObject* oleObject;
CComPtr<IServiceProvider> m_spProvider;
CComPtr<IWMPRemoteMediaServices> m_spServices;
HRESULT hr = CoCreateInstance(__uuidof(WindowsMediaPlayer), 0, CLSCTX_INPROC_SERVER, IID_IOleObject, (void**)&oleObject);
hr = oleObject->QueryInterface(__uuidof(IServiceProvider), (void**)&m_spProvider);
if(SUCCEEDED(hr))
{
//Here It return E_INVALIDARG (hr = E_INVALID_ARG)
hr = m_spProvider->QueryService(__uuidof(IWMPRemoteMediaServices), IID_IServiceProvider, (void**)&m_spServices);
}
我无法理解哪个论点是错误的。我更确定第一个论点。谁能告诉我它可能是什么。
谢谢
【问题讨论】:
标签: com mfc activex activexobject