IServiceProvider::QueryService завершается с ошибкой -2147024809 на Windows Server 2008 R2 с IE11
- Получение указателя IAccessible на элемент на странице или в доступное окно документа для класса Windows Internet Explorer_Server успешно использует код (где hwnd - дескриптор Internet_Explorer_server)
AccessibleObjectFromWindow(hwnd, OBJID_WINDOW, IID_IAccessible, (void**)&pAcc)
- Получение указателя интерфейса IServiceProvider для доступного объекта, полученного на шаге 1, также успешно использует код
HRESULT hr;
hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pSP)
,
Однако при попытке использовать вызов QueryService на полученном IServiceProvider с использованием кода HRESULT hr = pServiceProvider->QueryService(IID_IHTMLWindow2, IID_IHTMLWindow2, (void**)&pWindow)
он завершается неудачно с возвратом -2147024809, который равен 0x80070057. Не уверен, почему это происходит, просто интересуюсь, существуют ли какие-либо конкретные настройки на сервере (Windows Server 2008 R2), которые препятствуют успешному выполнению этого вызова.
Кроме того, описанный выше шаг успешно выполняется в среде Windows 7.
Примечание: версия установленного Internet Explorer - 10