Win32 API 日本語リファレンス
ホーム › NetworkManagement.Rras › RASDIALFUNC1

RASDIALFUNC1

コールバック

シグネチャ

void RASDIALFUNC1(
    HRASCONN param0,
    DWORD param1,
    RASCONNSTATE param2,
    DWORD param3,
    DWORD param4
);

パラメーター

フィールド型説明
param0HRASCONN
param1DWORD
param2RASCONNSTATE
param3DWORD
param4DWORD

- dwError [in]

発生したエラーを指定します。エラーが発生していない場合、dwError は 0 です。

RasDial は、各接続状態に入る際に dwError を 0 に設定して RasDialFunc1 を呼び出します。状態内でエラーが発生した場合、 RasDial は 0 以外の dwError の値を指定して RasDialFunc1 を再度呼び出します。

一部のエラーでは、dwExtendedError パラメーターに拡張エラー情報が格納されます。

- dwExtendedError [in]

dwError が特定の 0 以外の値である場合に、拡張エラー情報を指定します。dwError がそれ以外のすべての値の場合、dwExtendedError は 0 です。

dwExtendedError の内容は、dwError の値に応じて次のように定義されます。

dwError 意味
ERROR_SERVER_NOT_RESPONDING
発生した NetBIOS エラーを示します。
ERROR_NETBIOS_ERROR
発生した NetBIOS エラーを示します。
ERROR_AUTH_INTERNAL
内部診断コードを示します。
ERROR_CANNOT_GET_LANA
RAS エラーであるルーティングエラーコードを示します。

- 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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)