RasHangUpA 関数 (ras.h)
RasHangUp 関数は、リモート アクセス接続を終了します。 接続は RAS 接続ハンドルで指定されます。 関数は、ハンドルに関連付けられているすべての RASAPI32.DLL リソースを解放します。
構文
DWORD RasHangUpA(
[in] HRASCONN unnamedParam1
);
パラメーター
[in] unnamedParam1
終了するリモート アクセス接続を指定します。 これは、 RasDial または RasEnumConnections の以前の呼び出しから返されたハンドルです。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS。
関数が失敗した場合、戻り値は次のいずれかのエラー コードか、 ルーティングおよびリモート アクセス エラー コード または Winerror.h からの値です。
値 | 意味 |
---|---|
|
hrasconn で指定されたハンドルが無効です。 |
注釈
RasDial 呼び出しがまだ完了していない場合でも、接続は終了します。
この呼び出しの後、 hrasconn ハンドルは使用できなくなります。
アプリケーションは RasHangUp を呼び出さず、すぐに終了する必要があります。 接続ステート マシンは、適切に終了するまでの時間が必要です。 システムがステート マシンを途中で終了すると、ステート マシンがポートを適切に閉じず、ポートが不整合な状態のままになる可能性があります。 また、同じ接続をすぐに使用しようとすると、接続が使用できなくなる可能性があります。 これらの問題を回避する簡単な方法は、RasHangUp から戻った後に Sleep(3000) を呼び出す方法です。その一時停止後、アプリケーションを終了できます。 これらの問題を回避するより応答性の高い方法は、RasHangUp から返された後、RasGetConnectStatus がERROR_INVALID_HANDLEを返すまでループ内で RasGetConnectStatus(hrasconn) と Sleep(0) を呼び出す方法です。
RasGetSubEntryHandle によって返されるハンドルで RasHangUp を呼び出して、マルチリンク接続の 1 つのリンクを終了できます。 ただし、この場合、 RasGetConnectStatus を使用してリンクが終了したかどうかを判断することはできません。 RasGetConnectStatus は、リンクが正常に終了した場合でも 、ERROR_INVALID_HANDLE を返さない場合があります。
注意
ras.h ヘッダーは RasHangUp をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ras.h |
Library | Rasapi32.lib |
[DLL] | Rasapi32.dll |