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