RASDIALFUNC1
コールバックシグネチャ
void RASDIALFUNC1(
HRASCONN param0,
DWORD param1,
RASCONNSTATE param2,
DWORD param3,
DWORD param4
);パラメーター
| フィールド | 型 | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| param0 | HRASCONN | |||||||||||
| param1 | DWORD | |||||||||||
| param2 | RASCONNSTATE | |||||||||||
| param3 | DWORD | |||||||||||
| param4 | DWORD | - dwError [in]発生したエラーを指定します。エラーが発生していない場合、dwError は 0 です。 RasDial は、各接続状態に入る際に dwError を 0 に設定して RasDialFunc1 を呼び出します。状態内でエラーが発生した場合、 RasDial は 0 以外の dwError の値を指定して RasDialFunc1 を再度呼び出します。 一部のエラーでは、dwExtendedError パラメーターに拡張エラー情報が格納されます。 - dwExtendedError [in]dwError が特定の 0 以外の値である場合に、拡張エラー情報を指定します。dwError がそれ以外のすべての値の場合、dwExtendedError は 0 です。 dwExtendedError の内容は、dwError の値に応じて次のように定義されます。
- hrasconn [in]RasDial が返した RAS 接続のハンドルです。 - rascs [in]RasDial のリモートアクセス接続処理がこれから移行する状態を示す RASCONNSTATE 列挙子の値を指定します。 - unMsg [in]発生したイベントの種類を指定します。現在定義されているイベントは WM_RASDIALEVENT のみです。 |
公式ドキュメント
RasDialFunc1 関数は、リモートアクセス接続処理中に状態の変化が発生したときに RasDial 関数によって呼び出されます。 RasDialFunc1 関数は RasDialFunc 関数に相当しますが、RAS 接続のハンドルと拡張エラーコードという 2 つのパラメーターが追加されて拡張されています。
解説(Remarks)
RasDial の接続操作は、 RasDialFunc1 コールバック関数の呼び出し中は中断されます。そのため、 RasDialFunc1 の実装は通常、できるだけ速やかに制御を返す必要があります。この原則には 2 つの例外があります。モデムなどの非同期 (低速) デバイスでは、タイムアウト時間がミリ秒ではなく秒単位であることが多く、 RasDialFunc1 関数からの復帰が遅くても通常は問題になりません。また、dwError が 0 以外でエラーが発生していることを示す場合にも、速やかに復帰するという要件は適用されません。たとえば、エラーダイアログボックスを表示してユーザーの入力を待っても問題ありません。
RasDialFunc1 の実装は、特定の RASCONNSTATE 接続状態の順序や発生を前提にしないでください。これらはプラットフォームによって異なる場合があるためです。
RasDialFunc1 コールバック関数の中から RasDial 関数を呼び出さないでください。コールバック関数の中からは、 RasGetConnectStatus、 RasEnumEntries、 RasEnumConnections、 RasGetErrorString、 RasHangUp の各関数を呼び出してください。たとえば、コールバック関数の中から RasGetConnectStatus を呼び出すと、接続中のデバイスの名前と種類を判別するのに役立ちます。
なお、利便性のため、 RasHangUp は RasDialFunc1 コールバック関数の中から呼び出すことができます。ただし、切断処理の大部分は RasDialFunc1 コールバック関数が制御を返した後に実行されます。
RasDialFunc1 は、アプリケーション定義またはライブラリ定義の関数名のプレースホルダーです。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)