UiaDisconnectAllProviders 関数 (uiautomationcoreapi.h)
呼び出し元プロセスに関連付けられているすべてのプロバイダーによって保持されているすべての Microsoft UI オートメーション リソースを解放します。
構文
HRESULT UiaDisconnectAllProviders();
戻り値
型: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
プロバイダー アプリケーションでは、シャットダウンする前に、この関数を使用して UI オートメーション リソースを解放する必要があります。
SendMessage 関数の呼び出しに応答して、この関数を呼び出すことはできません。 アプリケーションは SendMessage の呼び出しに応答して送信コンポーネント オブジェクト モデル (COM) 呼び出しを行うことはできません。通常、プロバイダーの解放は送信 COM 呼び出しです。 関数が SendMessage 呼び出しに応答して呼び出された場合、UiaDisconnectAllProviders 関数はRPC_E_CANTCALLOUT_ININPUTSYNCCALLを返します。 InSendMessageEx 関数を使用して、SendMessage 呼び出しに応答して特定のメッセージが処理されているかどうかを判断できます。
UiaDisconnectAllProviders を呼び出すアプリケーションは、切断しようとしているプロバイダーへのポインターを返すことで、再入WM_GETOBJECTメッセージに応答しないようにする必要があります。 アプリケーションがプロバイダーの切断を試みたが、切断試行中に同じプロバイダーで UiaReturnRawElementProvider 関数を呼び出す場合、プロバイダーが完全に切断されていない可能性があります。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | uiautomationcoreapi.h |
Library | Uiautomationcore.lib |
[DLL] | Uiautomationcore.dll |