次の方法で共有


RasHangUpA 関数 (ras.h)

RasHangUp 関数は、リモート アクセス接続を終了します。 接続は RAS 接続ハンドルで指定されます。 この関数は、ハンドルに関連付けられているすべてのRASAPI32.DLLリソースを解放します。

構文

DWORD RasHangUpA(
  [in] HRASCONN unnamedParam1
);

パラメーター

[in] unnamedParam1

終了するリモート アクセス接続を指定します。 これは、RasDial または RasEnumConnections以前の呼び出しから返されたハンドルです。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS

関数が失敗した場合、戻り値は次のいずれかのエラー コード、または Routing と Remote Access Error Codes または Winerror.h からの値です。

価値 意味
ERROR_INVALID_HANDLE
hrasconn で指定されたハンドルが無効です。

備考

RasDial 呼び出しがまだ完了していない場合でも、接続は終了します。

この呼び出しの後、hrasconn ハンドルは使用できなくなります。

アプリケーションは RasHangUp 呼び出してすぐに終了しないでください。 接続ステート マシンが適切に終了するまでの時間が必要です。 システムがステート マシンを途中で終了すると、ステート マシンはポートを適切に閉じず、ポートが不整合な状態のままになる可能性があります。 また、同じ接続をすぐに使用しようとすると、接続が使用できなくなる可能性があります。 これらの問題を回避する簡単な方法は、RasHangUpから戻った後、スリープ(3000) を呼び出す方法です。その一時停止後、アプリケーションを終了できます。 これらの問題を回避するためのより応答性の高い方法は、RasHangUpから戻った後、rasGetConnectStatus(hrasconn) 呼び出し、ループ内でスリープ(0) を し、RasGetConnectStatus が ERROR_INVALID_HANDLEを返すまで します。

RasGetSubEntryHandle 返されたハンドル RasHangUp を呼び出して、マルチリンク接続の単一リンクを終了できます。 ただし、この場合は、RasGetConnectStatus を使用してリンクが終了したかどうかを判断することはできません。RasGetConnectStatus は、リンクが正常に終了した場合でも、ERROR_INVALID_HANDLE を返さない可能性があります。

手記

ras.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RasHangUp を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー ras.h
ライブラリ Rasapi32.lib
DLL Rasapi32.dll

関連項目

RASCONN を する

RasCustomHangUp

RasDial

RasEnumConnections

RasGetConnectStatus

リモート アクセス サービス (RAS) の概要

リモート アクセス サービス関数 の

スリープ