код элемента управления 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