次の方法で共有


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

関連項目

プロバイダーの関数

UiaDisconnectProvider