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