Freigeben über


SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS Steuerelementcode

Mit dem SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS Socket-E/A-Steuerungsvorgang kann ein Winsock-Client den Umleitungsdatensatz an den neuen TCP-Socket angeben, der für die Verbindung mit dem endgültigen Ziel verwendet wird.

Ein WFP-Umleitungsdatensatz ist ein Puffer undurchsichtiger Daten, die WFP für eine ausgehende Proxyverbindung festlegen muss, sodass die umgeleitete Verbindung und die ursprüngliche Verbindung logisch miteinander verknüpft sind.

Weitere Informationen zur Umleitung finden Sie unter Using Bind or Connect Redirection.

Um den Umleitungsdatensatz auf den neuen TCP-Socket festzulegen, der für die Verbindung mit dem endgültigen Ziel verwendet wird, ruft ein Winsock-Client die WskControlSocket--Funktion mit den folgenden Parametern auf.

Parameter Wert

RequestType-

WskIoctl

ControlCode-

SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS

Level-

0

InputSize-

Die Größe des Umleitungsdatensatzes, auf den der InputBuffer-Parameter verweist.

InputBuffer-

Ein Zeiger auf den umleitungsdatensatz, der dem Socket zugeordnet ist.

OutputSize-

0

OutputBuffer-

NULL

OutputSizeReturned

NULL

Irp

Ein Zeiger auf ein IRP.

Der Winsock-Client muss einen Puffer zuweisen und einen Zeiger auf den Puffer und seine Größe in InputBuffer- und InputSize angeben.

Ein Winsock-Client muss einen Zeiger auf ein IRP und eine Abschlussroutine angeben, wenn die WskControlSocket--Funktion für diesen Anforderungstyp aufgerufen wird. Der Client darf den Puffer erst freigeben, wenn das WSK-Subsystem das IRP abgeschlossen hat. Nach Abschluss des IRP ruft das Subsystem die Abschlussroutine auf. In der Abschlussroutine muss der Client den IRP-Status überprüfen und alle Ressourcen freigeben, die er zuvor für die Anforderung zugewiesen hatte.

Hinweis Es ist auch möglich, diese Abfrage in einer Benutzermodusanwendung mithilfe SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS (SDK)auszuführen.

Weitere Informationen zur WSK IRP-Behandlung finden Sie unter Verwenden von IRPs mit Winsock Kernel Functions.

Der Client kann den Status des IRP abrufen, indem Irp->IoStatus.Statusüberprüft wird. Irp->IoStatus.Status wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist. Andernfalls enthält sie STATUS_INTEGER_OVERFLOWoder STATUS_ACCESS_DENIED, wenn der Anruf nicht erfolgreich ist.

Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Kopfball

Mstcpip.h

IRQL

PASSIVE_LEVEL

Siehe auch

Verwenden von Bind- oder Connect-Umleitungs-

Verwenden von IRPs mit Winsock-Kernelfunktionen

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS

SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS (SDK)-