Partager via


UiaDisconnectProvider, fonction (uiautomationcoreapi.h)

Libère toutes les références qu’un fournisseur particulier détient sur les objets Microsoft UI Automation.

Syntaxe

HRESULT UiaDisconnectProvider(
  [in] IRawElementProviderSimple *pProvider
);

Paramètres

[in] pProvider

Type : IRawElementProviderSimple*

Fournisseur à déconnecter.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Un fournisseur doit appeler cette fonction pour propre UI Automation ressources associées à un élément d’interface utilisateur qui a été détruit. La DLL associée à l’élément d’interface utilisateur peut être déchargée en toute sécurité après le retour de la fonction.

Une fois cette fonction retournée, toutes les demandes clientes associées au fournisseur déconnecté reçoivent le code d’erreur UIA_E_ELEMENTNOTAVAILABLE .

Cette fonction ne peut pas être appelée en réponse à un appel à la fonction SendMessage . Une application ne peut pas effectuer d’appels COM sortants en réponse à un appel à SendMessage, et la publication d’un fournisseur est généralement un appel COM sortant. La fonction UiaDisconnectProvider retourne RPC_E_CANTCALLOUT_ININPUTSYNCCALL si la fonction est appelée en réponse à un appel SendMessage . Vous pouvez utiliser la fonction InSendMessageEx pour déterminer si un message particulier est géré en réponse à un appel SendMessage .

Une application qui appelle UiaDisconnectProvider ne doit pas répondre à un message de WM_GETOBJECT entrant en retournant un pointeur vers le fournisseur qu’elle tente de déconnecter. Si l’application tente de déconnecter un fournisseur, mais appelle ensuite la fonction UiaReturnRawElementProvider avec ce même fournisseur pendant la tentative de déconnexion, il est possible que le fournisseur ne soit pas entièrement déconnecté.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête uiautomationcoreapi.h
Bibliothèque Uiautomationcore.lib
DLL Uiautomationcore.dll

Voir aussi

Fonctions pour les fournisseurs

UiaDisconnectAllProviders