次の方法で共有


Windows 環境の APPC 拡張機能

このセクションでは、非同期通信を可能にする Windows Advanced Program-to-Program Communications (APPC) の API 拡張機能について説明します。 非同期通信は、要求が完了する前に関数が戻るときに発生します。 アプリケーションは、要求が完了すると後で通知されます。

Microsoft® Windows® では、APPC API を使用した非同期通信に 3 つのメソッドを使用できます。

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

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

  • Win32 I/O 完了ポートの使用。

    最初のメソッドは、ウィンドウ ハンドルに投稿されたメッセージを使用して、動詞の完了をアプリケーションに通知します。 ウィンドウ ハンドルとメッセージを使用するこのメソッドは、Microsoft Windows 3.x でサポートされていました。 会話の数に関係なく、APPC アプリケーションごとにこのようなウィンドウが 1 つあります。 各 APPC 会話では、いつでも 1 つの非同期動詞を未処理にすることができます。 動詞が完了すると、ウィンドウへのポストは、元の呼び出しによって返される非同期タスク ハンドルと、完了した動詞制御ブロックへのポインター (動詞のリターン コードを含む) をパラメーターとして受け取ります。

    このセクション (WinAsyncAPPC) で説明されているウィンドウ ハンドルとメッセージ投稿を使用する拡張機能は、バージョン 3.0 から最新バージョンの Windows までのすべての実装とバージョンの Microsoft Windows 向けに設計されています。 16 ビット Windows オペレーティング環境での Windows プログラミングと最適なアプリケーション パフォーマンスの互換性を提供しました。

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

    Windows では、通知に Win32 I/O 入力候補ポートを使用する 3 つ目の方法がサポートされています。 このセクションで説明する I/O 完了ポート (WinAsyncAPPCIOCP) を使用する拡張機能は Windows でのみ動作し、32 ビット Windows オペレーティング環境で最適なアプリケーション パフォーマンスを提供します。 CreateIoCompletionPort を使用して I/O 入力候補ポートが作成されている場合、アプリケーションは Win32 GetQueuedCompletionStatus 関数を呼び出して、動詞の完了の通知を受け取るのを待つことができます。

    Windows APPC では、マルチスレッドの Windows ベースのプロセスが許可されます。 プロセスには、1 つ以上の実行スレッドが含まれています。 このドキュメントのスレッドへのすべての参照は、マルチスレッド Windows 環境の実際のスレッドを参照します。

    このセクションでは、拡張機能ごとに、関数の定義、構文、戻り値、および関数の使用に関する注釈を提供します。

このセクションの内容