FWPS_BIND_REQUEST0 structure (fwpsk.h)
The FWPS_BIND_REQUEST0 structure defines modifiable data for the FWPM_LAYER_ALE_AUTH_BIND_REDIRECT_V4 and FWPM_LAYER_ALE_AUTH_BIND_REDIRECT_V6 layers. The callout driver uses this data to inspect or modify the connection information.
Syntax
typedef struct _FWPS_BIND_REQUEST0 {
SOCKADDR_STORAGE localAddressAndPort;
UINT64 portReservationToken;
struct _FWPS_BIND_REQUEST0 *previousVersion;
UINT64 modifierFilterId;
} FWPS_BIND_REQUEST0;
Members
localAddressAndPort
The local transport address of the bind request. This is an IPV4 or IPV6 address and TCP/UDP port formatted as a SOCKADDR_STORAGE structure.
portReservationToken
A token used to reserve the appropriate port. The token is obtained when a port is reserved by calling either CreatePersistentTcpPortReservation or CreatePersistentUdpPortReservation. Both reservation functions can be found in iphlpapi.h.
previousVersion
The previous version of the bind request data. This read-only field records the modification history of the bind request. This member is preinitialized with a pointer to a singly linked list with the index set to the record for the current FWPS_BIND_REQUEST0 data.
modifierFilterId
The value of the FilterId member of the classifyFn function's filter parameter. For more information about the FilterId member, see FWPS_FILTER1.
Remarks
The callout driver obtains this structure by calling the FwpsAcquireWritableLayerDataPointer0 function, which returns a pointer to a FWPS_BIND_REQUEST0 structure through the writableLayerData parameter.
The
classifyFn function can modify the bind
request's parameters, such as redirecting the local transport address or port to another address or port. If
it modifies the bind request's parameters, the
classifyFn function must do the following:
- Make all changes to the FWPS_BIND_REQUEST0 structure that was returned by FwpsAcquireWritableLayerDataPointer0. Only the localAddressAndPort and portReservationToken members can be modified.
- Call FwpsApplyModifiedLayerData0 with the modifiedLayerData parameter set to the address of the FWPS_BIND_REQUEST0 structure, even if the callout driver didn't modify any data. This value must be the same as the modifiedLayerData parameter value that was returned by FwpsAcquireWritableLayerDataPointer0.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 7. |
Header | fwpsk.h (include Fwpsk.h) |