Windows 環境の拡張機能

このセクションでは、非ブロッキングまたは非同期動詞補完を可能にする Microsoft® Windows® Common Programming Interface for Communications (CPI-C) の API 拡張機能について説明します。 非同期動詞は、完全な実行を待たずに、すぐにプログラムに制御を返し、動詞が完了したときに後でアプリケーションに通知する必要があります。 アプリケーションは、 Wait_For_Conversation 呼び出しの完了に応答して通知も受け取ります。 これに対し、同期動詞ブロック、つまり関数呼び出しは呼び出しが完了するまで戻りません。

Microsoft® Windows Server では、非同期動詞補完を処理するために次の 2 つのメソッドを使用できます。

  • ウィンドウ ハンドルを使用したメッセージの投稿。

  • Win32® イベントを待機しています。

    最初のメソッドは、ウィンドウ ハンドルにポストされたメッセージを使用して、動詞の完了をアプリケーションに通知します。 CPI-C アプリケーションごとに、このようなウィンドウが 1 つあります。 CPI-C の各会話には、いつでも 1 つの非同期動詞を未処理にすることができます。 動詞が完了すると、ウィンドウへのポストは、完了した動詞の CPI-C 会話識別子と動詞の戻りコードをパラメーターとして受け取ります。

Note

このセクションで説明するウィンドウ ハンドルとメッセージ投稿を使用する拡張機能は、Microsoft Windows のすべての実装とバージョン用に設計されています。 Windows でのみサポートされるようになりました。

通知に Win32 イベントを使用する 2 つ目の方法は、Microsoft® Host Integration Server でサポートされています。 このセクションで説明する Win32 イベント (WinCPICSetEvent と WinCPICExtractEvent) を使用する拡張機能は、Windows Server でのみ動作し、32 ビットのオペレーティング環境で最適なアプリケーション パフォーマンスを提供します。 イベントがメッセージ交換に登録されている場合、アプリケーションは Win32 WaitForSingleObject または WaitForMultipleObjects 関数を呼び出して、動詞の完了の通知を受け取るのを待機できます。

Windows CPI-C では、マルチスレッドの Windows ベースのプロセスを使用できます。 マルチスレッドは、1 つのプログラム内で複数のプロセスを迅速に実行することです。 プロセスには、1 つ以上の実行スレッドが含まれています。

このセクションの拡張機能の説明では、CPI-C プログラムでこれらの Windows 拡張機能を使用するための関数、構文、戻り値、および備考の定義を示します。

このセクションの内容