UiaDisconnectProvider 函数 (uiautomationcoreapi.h)

释放特定提供程序保留给 Microsoft UI 自动化 对象的所有引用。

语法

HRESULT UiaDisconnectProvider(
  [in] IRawElementProviderSimple *pProvider
);

参数

[in] pProvider

类型: IRawElementProviderSimple*

要断开连接的提供程序。

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

提供程序应调用此函数来清理UI 自动化与被销毁的 UI 元素关联的资源。 函数返回后,可以安全地卸载与 UI 元素关联的 DLL。

此函数返回后,与断开连接的提供程序关联的所有客户端请求都会收到 UIA_E_ELEMENTNOTAVAILABLE 错误代码。

无法调用此函数以响应对 SendMessage 函数的调用。 应用程序无法使出站组件对象模型 (COM) 调用以响应对 SendMessage 的调用,而释放提供程序通常是出站 COM 调用。 如果调用函数以响应 SendMessage 调用,则 UiaDisconnectProvider 函数将返回RPC_E_CANTCALLOUT_ININPUTSYNCCALL。 可以使用 InSendMessageEx 函数来确定是否正在处理特定消息以响应 SendMessage 调用。

调用 UiaDisconnectProvider 的应用程序不应通过返回指向其尝试断开连接的提供程序的指针来响应重新进入 WM_GETOBJECT 消息。 如果应用程序尝试断开提供程序的连接,但在断开连接尝试期间使用同一提供程序调用 UiaReturnRawElementProvider 函数,则提供程序可能不会完全断开连接。

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 uiautomationcoreapi.h
Library Uiautomationcore.lib
DLL Uiautomationcore.dll

另请参阅

提供程序的函数

UiaDisconnectAllProviders