функция обратного вызова 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 для асинхронного завершения операции подключения. Дополнительные сведения об использовании irPs с функциями WSK см. в разделе Использование irPs с функциями ядра 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 (include Wsk.h) |
IRQL | <= DISPATCH_LEVEL |