通知ハンドラー

非同期 RasDial 呼び出しでは、通知ハンドラーを指定する必要があります。 非同期接続操作中、リモート アクセス 接続マネージャーは通知ハンドラーを使用して、接続状態が変化したりエラーが発生したりするたびに RAS クライアントに通知します。

通知ハンドラーによって実行されるアクションは、次のカテゴリに分けることができます。

  • エラーの処理
  • 接続操作がさまざまな接続状態に進むにつれて、ユーザーにフィードバックを提供します。 「 情報通知」を参照してください。
  • 一時停止状態の処理。
  • 接続操作が完了したときに RAS クライアント アプリケーションに通知します。 「 完了通知」を参照してください。

通知ハンドラーには 3 種類があり、それぞれが同じ基本情報を受け取ります。現在の接続状態と、エラーが発生した場合にのみ 0 以外のエラー コードです。

定義
RasDialFunc 現在の接続状態とエラー コード情報のみを受け取るコールバック関数プロトタイプ。
RasDialFunc1 基本的な情報に加えて 、HRASCONN 接続ハンドルと拡張エラー情報を受け取るコールバック関数プロトタイプ。 接続ハンドル パラメーターを使用すると、複数の同時接続操作をサポートするクライアント アプリケーションに RasDialFunc1 が役立ちます。 これにより、クライアントはすべての操作に対して同じコールバック関数を指定でき、コールバック関数は状態を変更している接続を判断できます。
RasDialFunc2 RasDialFunc1 に似たコールバック関数。 ただし、 RasDialFunc2 は、マルチリンク接続をサポートするように拡張されています。
ウィンドウ ハンドル RAS が現在の接続状態とエラー コード情報 WM_RASDIALEVENT 含むメッセージを送信するウィンドウ ハンドル。 16 ビット Windows ではどちらのコールバック関数もサポートされていないため、ソース コードが 16 ビット Windows と互換性がある必要がある場合は、このメソッドを使用します。

 

リモート アクセス 接続マネージャーは、通知ハンドラーが返されるまで接続操作を中断します。 このため、エラーが発生しない限り、ハンドラーはできるだけ早く を返す必要があります。

RasDial 関数は、通知ハンドラー内から呼び出さないでください。 他のリモート アクセス関数 ( RasGetConnectStatusRasEnumEntriesRasEnumConnectionsRasGetErrorStringおよび RasHangUp) は、ハンドラー内から呼び出すことができます。