Compartir a través de


Función UiaDisconnectProvider (uiautomationcoreapi.h)

Libera todas las referencias que un proveedor determinado contiene en los objetos de Microsoft Automatización de la interfaz de usuario.

Sintaxis

HRESULT UiaDisconnectProvider(
  [in] IRawElementProviderSimple *pProvider
);

Parámetros

[in] pProvider

Tipo: IRawElementProviderSimple*

Proveedor que se va a desconectar.

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Un proveedor debe llamar a esta función para limpiar Automatización de la interfaz de usuario recursos asociados a un elemento de interfaz de usuario que se destruyó. El archivo DLL asociado al elemento de la interfaz de usuario se puede descargar de forma segura después de que la función vuelva.

Una vez que se devuelve esta función, todas las solicitudes de cliente asociadas al proveedor desconectado reciben el código de error UIA_E_ELEMENTNOTAVAILABLE .

No se puede llamar a esta función en respuesta a una llamada a la función SendMessage . Una aplicación no puede realizar llamadas salientes al modelo de objetos componentes (COM) en respuesta a una llamada a SendMessage y liberar un proveedor suele ser una llamada COM saliente. La función UiaDisconnectProvider devuelve RPC_E_CANTCALLOUT_ININPUTSYNCCALL si se llama a la función en respuesta a una llamada SendMessage . Puede usar la función InSendMessageEx para determinar si un mensaje determinado se controla en respuesta a una llamada sendMessage .

Una aplicación que llama a UiaDisconnectProvider no debe responder a un mensaje de WM_GETOBJECT de reintento devolviendo un puntero al proveedor que está intentando desconectar. Si la aplicación intenta desconectar un proveedor, pero después llama a la función UiaReturnRawElementProvider con ese mismo proveedor durante el intento de desconexión, es posible que el proveedor no esté completamente desconectado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado uiautomationcoreapi.h
Library Uiautomationcore.lib
Archivo DLL Uiautomationcore.dll

Consulte también

Funciones para proveedores

UiaDisconnectAllProviders