estructura FWPS_CONNECT_REQUEST0 (fwpsk.h)

La estructura de FWPS_CONNECT_REQUEST0 define datos modificables para las capas de FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4 y FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6 . El controlador de llamada usa estos datos para inspeccionar o modificar la información de conexión.

NotaFWPS_CONNECT_REQUEST0 es una versión específica de FWPS_CONNECT_REQUEST. Para obtener más información, vea NOMBRES DE Version-Independent DE PMA y versiones específicas de Windows dirigidas a destinatarios.
 

Sintaxis

typedef struct _FWPS_CONNECT_REQUEST0 {
  SOCKADDR_STORAGE              localAddressAndPort;
  SOCKADDR_STORAGE              remoteAddressAndPort;
  UINT64                        portReservationToken;
  DWORD                         localRedirectTargetPID;
  struct _FWPS_CONNECT_REQUEST0 *previousVersion;
  UINT64                        modifierFilterId;
  HANDLE                        localRedirectHandle;
  void                          *localRedirectContext;
  SIZE_T                        localRedirectContextSize;
} FWPS_CONNECT_REQUEST0;

Miembros

localAddressAndPort

Dirección de transporte local de la solicitud de conexión. Se trata de una dirección IPV4 o IPV6 y un puerto TCP con formato de estructura SOCKADDR_STORAGE .

remoteAddressAndPort

Dirección de transporte remota de la solicitud de conexión. Se trata de una dirección IPV4 o IPV6 y un puerto TCP/UDP con formato de estructura SOCKADDR_STORAGE .

portReservationToken

Un token que se usa para reservar el puerto adecuado. El token se obtiene cuando se reserva un puerto mediante una llamada a CreatePersistentTcpPortReservation o CreatePersistentUdpPortReservation.

localRedirectTargetPID

Identificador de proceso del proceso de host local que controlará el tráfico a la dirección especificada en localAddressAndPort. Este valor debe establecerse para que el motor acepte los cambios de redirección de bucle invertido.

previousVersion

La versión anterior de los datos de solicitud de conexión. Este campo de solo lectura registra el historial de modificaciones de la solicitud de conexión. Si otro filtro DE PMA no ha modificado previamente los datos de la solicitud de conexión, previousVersion se establecerá en NULL.

modifierFilterId

Valor del miembro FilterIddel parámetro filter de la función classifyFn. Para obtener más información sobre el miembro FilterId , vea FWPS_FILTER1.

localRedirectHandle

Identificador de redirección que creó el controlador de llamada mediante una llamada a la función FwpsRedirectHandleCreate0 .

Nota A partir de Windows 8, el localRedirectHandle debe rellenarse para que el redireccionamiento funcione.
 

localRedirectContext

Área de contexto del controlador de llamada que el controlador de llamada asignó mediante una llamada a la función ExAllocatePoolWithTag .

Nota A partir de Windows 8, la memoria asignada para localRedirectContext tendrá su propiedad tomada por EL PMA y se liberará cuando se quite el flujo proxy.
 

localRedirectContextSize

Tamaño, en bytes, del área de contexto proporcionada por la llamada.

Nota Se admite a partir de Windows 8.
 

Comentarios

El controlador de llamada obtiene esta estructura mediante una llamada a . Función FwpsAcquireWritableLayerDataPointer0 , que devuelve un puntero a una estructura FWPS_CONNECT_REQUEST0 a través del parámetro writableLayerData . La función classifyFn puede modificar los parámetros de la solicitud de conexión, como redirigir la dirección de transporte local o remota o el puerto a otra dirección o puerto. Si modifica los parámetros de la solicitud de conexión, la función classifyFn debe hacer lo siguiente:

  • Realice todos los cambios en la estructura FWPS_CONNECT_REQUEST0 devuelta por FwpsAcquireWritableLayerDataPointer0. Solo se pueden modificar los miembros remoteAddressAndPort, portReservationToken, localRedirectTargetPID, localRedirectHandle, localRedirectContext y localRedirectContextSize .
  • Call FwpsApplyModifiedLayerData0 con el parámetro modifiedLayerData establecido en la dirección de la estructura FWPS_CONNECT_REQUEST0 , incluso si el controlador de llamada no modificó ningún dato. Este valor debe ser el mismo que el valor del parámetro modifiedLayerData devuelto a través de FwpsAcquireWritableLayerDataPointer0.
Esta estructura actúa como una lista vinculada que contiene un registro de todos los cambios realizados por otros controladores de llamada. Hay información de versión anterior si el miembro previousVersion no es NULL. Para examinar el historial de versiones completo, el controlador de llamada debe continuar examinando el miembro previousVersion de cada estructura de la lista hasta que se establezca en NULL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 7.
Encabezado fwpsk.h (incluya Fwpsk.h)

Consulte también

ExAllocatePoolWithTag

FWPS_FILTER1

FwpsAcquireWritableLayerDataPointer0

FwpsApplyModifiedLayerData0

FwpsRedirectHandleCreate0

SOCKADDR_STORAGE

Uso del redireccionamiento bind o Connect

classifyFn