Поделиться через


Функция 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

См. также раздел

Функции для поставщиков

UiaDisconnectProvider