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


код элемента управления SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS

Операция управления SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS сокета ввода-вывода позволяет клиенту Winsock указать запись перенаправления к новому сокету TCP, используемому для подключения к окончательному назначению.

Запись перенаправления МПП — это буфер непрозрачных данных, которые МПП должна установить на исходящем прокси-подключении, чтобы перенаправленное подключение и исходное соединение логически связаны.

Дополнительные сведения о перенаправлении см. в разделе Using Bind or Connect Redirection.

Чтобы задать запись перенаправления на новый сокет TCP, используемый для подключения к окончательному назначению, клиент Winsock вызывает функцию WskControlSocket со следующими параметрами.

Параметр Ценность

RequestType

WskIoctl

ControlCode

SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS

уровня

0

InputSize

Размер записи перенаправления, на которую указывает параметр InputBuffer.

InputBuffer

Указатель на запись перенаправления, связанную с сокетом.

OutputSize

0

OutputBuffer

НЕДЕЙСТВИТЕЛЬНЫЙ

OutputSizeReturned

НЕДЕЙСТВИТЕЛЬНЫЙ

Irp

Указатель на IRP.

Клиент Winsock должен выделить буфер и указать указатель на буфер и его размер в InputBuffer и InputSize.

Клиент Winsock должен указать указатель на IRP и подпрограмму завершения при вызове функции WskControlSocket для этого типа запроса. Клиент не должен освободить буфер, пока подсистема WSK завершит IRP. После завершения IRP подсистема вызывает подпрограмму завершения. В подпрограмме завершения клиент должен проверить состояние IRP и освободить все ресурсы, выделенные ранее для запроса.

Примечание Этот запрос также можно выполнить в приложении пользовательского режима с помощью SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS (SDK).

Дополнительные сведения об обработке WSK IRP см. в разделе Использование irPs с функциями ядра Winsock.

Клиент может получить состояние IRP, проверив Irp->IoStatus.Status. Irp->IoStatus.Status будет иметь значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае он будет содержать STATUS_INTEGER_OVERFLOWили STATUS_ACCESS_DENIED, если вызов не выполнен.

Требования

Минимальный поддерживаемый клиент

Windows 8

Минимальный поддерживаемый сервер

Windows Server 2012

Заголовок

Mstcpip.h

IRQL

PASSIVE_LEVEL

См. также

использование привязки или перенаправления подключения

использование IRPs с функциями ядра Winsock

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS

SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS (SDK)