Поделиться через


Функция RasHangUpA (ras.h)

Функция RasHangUp завершает подключение удаленного доступа. Соединение указывается с помощью дескриптора подключения RAS. Функция освобождает все RASAPI32.DLL ресурсы, связанные с дескриптором.

Синтаксис

DWORD RasHangUpA(
  [in] HRASCONN unnamedParam1
);

Параметры

[in] unnamedParam1

Указывает подключение удаленного доступа, которое необходимо завершить. Это дескриптор, возвращенный при предыдущем вызове RasDial или RasEnumConnections.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается ошибкой, возвращается один из следующих кодов ошибок или значение из кода ошибок маршрутизации и удаленного доступа или Winerror.h.

Значение Значение
ERROR_INVALID_HANDLE
Дескриптор, указанный в hrasconn, недопустим.

Комментарии

Подключение завершается, даже если вызов RasDial еще не завершен.

После этого вызова дескриптор hrasconn больше не может использоваться.

Приложение не должно вызывать RasHangUp , а затем немедленно выйти. Для правильного завершения работы конечного автомата подключения требуется время. Если система преждевременно завершает работу конечного автомата, конечный автомат может не закрыть порт должным образом, оставив порт в несогласованном состоянии. Кроме того, при немедленной попытке использовать то же самое подключение может завершиться ошибкой. Простой способ избежать этих проблем — вызвать sleep(3000) после возвращения из RasHangUp; После этой паузы приложение может завершить работу. Более быстрый способ избежать этих проблем — после возвращения из RasHangUp вызвать RasGetConnectStatus(hrasconn) и Sleep(0) в цикле, пока RasGetConnectStatus не вернет ERROR_INVALID_HANDLE.

Вы можете вызвать RasHangUp для дескриптора, возвращенного RasGetSubEntryHandle , чтобы завершить одну ссылку в многоканательном соединении. Однако в этом случае нельзя использовать RasGetConnectStatus , чтобы определить, завершена ли связь. RasGetConnectStatus может не возвращать ERROR_INVALID_HANDLE даже если связь успешно завершена.

Примечание

Заголовок ras.h определяет RasHangUp как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ras.h
Библиотека Rasapi32.lib
DLL Rasapi32.dll

См. также раздел

RASCONN

RasCustomHangUp

Rasdial

RasEnumConnections

RasGetConnectStatus

Обзор службы удаленного доступа (RAS)

Функции службы удаленного доступа

Sleep