Функция UiaDisconnectProvider (uiautomationcoreapi.h)
Освобождает все ссылки, которые конкретный поставщик хранит на объекты Microsoft модель автоматизации пользовательского интерфейса.
Синтаксис
HRESULT UiaDisconnectProvider(
[in] IRawElementProviderSimple *pProvider
);
Параметры
[in] pProvider
Тип: IRawElementProviderSimple*
Поставщик, который должен быть отключен.
Возвращаемое значение
Тип: HRESULT
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Поставщик должен вызывать эту функцию для очистки модель автоматизации пользовательского интерфейса ресурсов, связанных с элементом пользовательского интерфейса, который был уничтожен. Библиотеку DLL, связанную с элементом пользовательского интерфейса, можно безопасно выгрузить после возврата функции.
После возврата этой функции все клиентские запросы, связанные с отключенным поставщиком, получают код ошибки UIA_E_ELEMENTNOTAVAILABLE .
Эту функцию нельзя вызвать в ответ на вызов функции SendMessage . Приложение не может выполнять исходящие вызовы модели COM в ответ на вызов SendMessage, а освобождение поставщика обычно является исходящим вызовом COM. Функция UiaDisconnectProvider возвращает RPC_E_CANTCALLOUT_ININPUTSYNCCALL, если функция вызывается в ответ на вызов SendMessage . Функцию InSendMessageEx можно использовать, чтобы определить, обрабатывается ли определенное сообщение в ответ на вызов SendMessage .
Приложение, вызывающее UiaDisconnectProvider , не должно отвечать на сообщение WM_GETOBJECT повторного входа, возвращая указатель на поставщика, который пытается отключить. Если приложение пытается отключить поставщик, но затем вызывает функцию UiaReturnRawElementProvider с тем же поставщиком во время попытки отключения, поставщик может быть отключен не полностью.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | uiautomationcoreapi.h |
Библиотека | Uiautomationcore.lib |
DLL | Uiautomationcore.dll |