RASDIALFUNC
コールバックシグネチャ
void RASDIALFUNC(
DWORD param0,
RASCONNSTATE param1,
DWORD param2
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| param0 | DWORD | |
| param1 | RASCONNSTATE | |
| param2 | DWORD | - dwError [in]発生したエラーを指定します。エラーが発生していない場合は 0 です。 RasDial は、各接続状態に入る時点で dwError に 0 を設定して RasDialFunc を呼び出します。ある状態の中でエラーが発生した場合は、0 以外の dwError 値を指定して RasDialFunc が再度呼び出されます。 - rasconnstate [in]RasDial のリモートアクセス接続処理がこれから入る状態を示す RASCONNSTATE 列挙値を指定します。 - unMsg [in]発生したイベントの種類を指定します。現在定義されているイベントは WM_RASDIALEVENT のみです。 |
公式ドキュメント
RasDialFunc コールバック関数は、RAS 接続処理中に状態の変化が発生したときに、 RasDial 関数によって呼び出されます。
解説(Remarks)
RasDialFunc コールバック関数の呼び出し中は、 RasDial の接続処理が中断されます。そのため、 RasDialFunc の実装は原則としてできるだけ速やかに制御を返す必要があります。ただし、これには 2 つの例外があります。モデムなどの非同期(低速)デバイスは、タイムアウト時間がミリ秒単位ではなく秒単位であることが多く、 RasDialFunc 関数からの復帰が遅くても通常は問題になりません。また、エラーが発生したことを示す dwError が 0 以外の場合にも、速やかに復帰するという要件は適用されません。たとえば、エラーダイアログボックスを表示してユーザーの入力を待つことができます。
RASCONNSTATE の各接続状態の順序や発生の有無はプラットフォームによって異なる可能性があるため、 RasDialFunc の実装がそれらに依存しないようにしてください。
RasDialFunc コールバック関数の中から RasDial 関数を呼び出さないでください。コールバック関数の中から呼び出せるのは、 RasGetConnectStatus、 RasEnumEntries、 RasEnumConnections、 RasGetErrorString、 RasHangUp の各関数です。たとえば、コールバック関数の中から RasGetConnectStatus を呼び出すと、接続中のデバイスの名前と種類を判別するのに役立ちます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)