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


функция TSPI_lineClose (tspi.h)

Функция TSPI_lineClose закрывает указанное устройство с открытой линией после завершения или прерывания всех невыполненных вызовов и асинхронных операций на устройстве.

Синтаксис

LONG TSPIAPI TSPI_lineClose(
  HDRVLINE hdLine
);

Параметры

hdLine

Дескриптор поставщика услуг к закрываемой строке. После успешного закрытия строки этот дескриптор становится недействительным.

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

Возвращает ноль, если функция выполнена успешно, или номер ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_NOMEM, LINEERR_OPERATIONFAILED, LINEERR_OPERATIONUNAVAIL LINEERR_RESOURCEUNAVAIL.

Комментарии

Поставщик служб должен сообщать о завершении каждой асинхронной операции. Если для строки, в которой есть невыполненные асинхронные операции, вызывается TSPI_lineClose, то перед возвратом этой процедуры эти операции завершаются с соответствующим результатом или кодом ошибки.

Аналогичное требование существует для активных вызовов в строке. Неоплаченные операции должны быть завершены с соответствующими кодами результатов или ошибок. Активные вызовы также должны быть удалены, если это поведение было указано LINEDEVCAPFLAGS_CLOSEDROP битом в структуре LINEDEVCAPS .

После возврата этой процедуры поставщик услуг должен сообщить об отсутствии дальнейших вызовов в строке или вызовах, которые были в ней. Дескрипторы поставщика услуг для линии и вызовов в строке становятся недопустимыми.

Поставщик услуг должен отказаться от ресурсов, не относящихся к совместному доступу, которые он резервирует, пока открыта строка. Например, закрытие строки, доступ к которым осуществляется через порт comm и модем, должно привести к закрытию порта comm, что снова сделает его доступным для использования другими приложениями.

Поставщик услуг не выдает сообщение LINE_LINEDEVSTATE в ответ на вызов этой функции, так как строка закрывается и ее состояние больше не заинтересовано.

Требования

Требование Значение
Целевая платформа Windows
Header tspi.h

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

LINEDEVCAPS

LINE_CLOSE

LINE_LINEDEVSTATE