функция обратного вызова PFN_WSK_CONNECT (wsk.h)
Функция WskConnect подключает сокет, ориентированный на подключение или поток, к удаленному адресу транспорта.
Синтаксис
PFN_WSK_CONNECT PfnWskConnect;
NTSTATUS PfnWskConnect(
[in] PWSK_SOCKET Socket,
[in] PSOCKADDR RemoteAddress,
ULONG Flags,
[in, out] PIRP Irp
)
{...}
Параметры
[in] Socket
Указатель на структуру WSK_SOCKET , указывающую объект сокета для сокета, который подключается к удаленному транспортному адресу.
[in] RemoteAddress
Указатель на структуру , указывающую адрес удаленного транспорта, к которому подключается сокет. Этот указатель должен быть указателем на конкретный тип структуры SOCKADDR, соответствующий семейству адресов, которое приложение WSK указало при создании сокета.
Flags
Этот параметр зарезервирован для использования системой. Приложение WSK должно задать для этого параметра нулевое значение.
[in, out] Irp
Указатель на выделенный вызывающим объектом IRP, который подсистема WSK использует для асинхронного завершения операции подключения. Дополнительные сведения об использовании IRP с функциями WSK см. в разделе Использование IRP с функциями ядра Winsock.
Возвращаемое значение
WskConnect возвращает один из следующих кодов NTSTATUS:
Код возврата | Описание |
---|---|
|
Сокет успешно подключен к удаленному транспортному адресу. IRP будет завершена с состоянием успешного выполнения. |
|
Подсистеме WSK не удалось подключить сокет немедленно. Подсистема WSK завершит IRP после подключения сокета к удаленному транспортному адресу. Состояние операции подключения будет возвращено в поле IoStatus.Status IRP. |
|
Сокет больше не работает. IRP будет завершен с состоянием сбоя. Приложение WSK должно вызвать функцию WskCloseSocket , чтобы закрыть сокет как можно скорее. |
|
Произошла ошибка. IRP будет завершен с состоянием сбоя. |
Комментарии
Приложение WSK может вызывать функцию WskConnect только для подключения или потокового сокета, который приложение ранее привязывало к локальному транспортному адресу, вызвав функцию WskBind .
Для потоковых сокетов после успешного вызова WskConnect в сокете потока он фиксируется в потоке, ориентированном на подключение, и может больше не вызывать функции прослушивания сокетов.
Приложение WSK может создавать, привязывать и подключать сокет, ориентированный на подключение, в одном вызове функции, вызывая функцию WskSocketConnect , а не функцию WskSocket , функцию WskBind , а затем функцию WskConnect . Мы рекомендуем вызывать функцию WskSocketConnect , если приложению WSK не нужно задать параметр сокета или выполнить операцию управления вводом-выводом перед привязкой или подключением сокета.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wsk.h (включая Wsk.h) |
IRQL | <= DISPATCH_LEVEL |