Share via


SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS código de control

La operación de control de E/S de socket SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS permite a un cliente winsock recuperar el registro de redireccionamiento de una conexión redirigida.

Un registro de redireccionamiento de PMA es un búfer de datos opacos que EL PMA debe establecer en una conexión de proxy de salida para que la conexión redirigida y la conexión original estén relacionadas lógicamente.

Nota La consulta SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS solo se puede usar si un cliente DE PMA redirigió la conexión en la capa de FWPS_LAYER_ALE_CONNECT_REDIRECT_V4 o FWPS_LAYER_ALE_CONNECT_REDIRECT_V6 .

Para obtener más información sobre el redireccionamiento, consulte Uso del redireccionamiento de enlace o conexión.

Para consultar el registro de redireccionamiento de la conexión redirigida, un cliente winsock llama a la función WskControlSocket con los parámetros siguientes.

Parámetro Value

RequestType

WskIoctl

ControlCode

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS

Level

0

InputSize

0

InputBuffer

NULL

OutputSize

Tamaño, en bytes, del búfer al que apunta el parámetro OutputBuffer .

OutputBuffer

Puntero al búfer que recibe el registro de redireccionamiento para la conexión TCP aceptada. El tamaño del búfer se especifica en el parámetro OutputSize .

OutputSizeReturned

Puntero a una variable con tipo ULONG que recibe el número de bytes de datos que se copian en el búfer al que apunta el parámetro OutputBuffer .

Irp

Puntero a un IRP.

El autor de la llamada puede realizar esta consulta de cualquiera de las siguientes maneras:

  • Puede establecer OutputBuffer en un búfer grande de aproximadamente 1 KB de tamaño. Si el tamaño del búfer de salida no es lo suficientemente grande, WskControlSocket devolverá un STATUS_BUFFER_TOO_SMALL y OutputSizeReturned contendrá el tamaño necesario del búfer. A continuación, se puede asignar un búfer más grande y se puede llamar a WskControlSocket de nuevo con la solicitud de SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS y OutputBuffer establecida en el búfer más grande.
  • O bien, puede establecer el parámetro OutputSize en 0 y OutputBuffer en NULL y, a continuación, llamar a WskControlSocket. Al finalizar, la función WskControlSocket recupera el tamaño del búfer de salida, en bytes, en el parámetro OutputSizeReturned . A continuación, se puede asignar un búfer de tamaño adecuado y WskControlSocket llamar de nuevo con la solicitud SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS y OutputBuffer establecida en el búfer.

Nota También es posible realizar esta consulta en una aplicación en modo de usuario mediante SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS (SDK).

Para este tipo de solicitud, el cliente winsock debe especificar un puntero a un IRP y un puntero a su rutina de finalización. El IRP se puede pasar al cliente mediante un controlador superior o el cliente puede elegir asignar el IRP. Para especificar la rutina de finalización, el cliente debe llamar a IoSetCompletionRoutine. Para obtener más información, consulte Uso de IRP con funciones de kernel de Winsock.

El cliente winsock no debe liberar el búfer asignado hasta que el subsistema WSK complete el IRP. Cuando el subsistema WSK completa el IRP, notifica al cliente invocando la rutina de finalización. Una referencia a ese búfer se pasa al cliente por el subsistema WSK en el parámetro Context de la rutina de finalización. El tamaño del búfer se almacena en Irp-IoStatus.Information>.

El cliente puede obtener el estado del IRP comprobando Irp-IoStatus.Status>. Irp-> IoStatus.Status se establecerá en STATUS_SUCCESS si la solicitud se realiza correctamente. De lo contrario, contendrá STATUS_INTEGER_OVERFLOW, STATUS_NOT_FOUND, STATUS_BUFFER_TOO_SMALL o STATUS_ACCESS_DENIED si la llamada no se realiza correctamente.

Requisitos

Cliente mínimo compatible

Windows 8

Servidor mínimo compatible

Windows Server 2012

Encabezado

Mstcpip.h

IRQL

PASSIVE_LEVEL

Consulte también

Uso del redireccionamiento de enlace o conexión

Uso de IRP con funciones de kernel de Winsock

SIO_QUERY_WFP_CONNECTION_REDIRECT_CONTEXT

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS (SDK)

SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS