структура FWPS_CONNECT_REQUEST0 (fwpsk.h)
Структура FWPS_CONNECT_REQUEST0 определяет изменяемые данные для слоев FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4 и FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6 . Драйвер выноски использует эти данные для проверки или изменения сведений о подключении.
Синтаксис
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;
Члены
localAddressAndPort
Локальный транспортный адрес запроса на подключение. Это IPV4 или IPV6-адрес и TCP-порт в формате SOCKADDR_STORAGE структуры.
remoteAddressAndPort
Адрес удаленного транспорта запроса на подключение. Это адрес IPV4 или IPV6 и порт TCP/UDP, отформатированный в виде SOCKADDR_STORAGE структуры.
portReservationToken
Маркер, используемый для резервирования соответствующего порта. Маркер получается при резервации порта путем вызова метода CreatePersistentTcpPortReservation или CreatePersistentUdpPortReservation.
localRedirectTargetPID
Идентификатор процесса локального хост-процесса, который будет обрабатывать трафик по адресу, указанному в localAddressAndPort. Это значение должно быть задано для того, чтобы изменения перенаправления на себя были приняты подсистемой.
previousVersion
Предыдущая версия данных запроса подключения. Это поле, доступное только для чтения, записывает журнал изменений запроса на подключение. Если данные запроса на подключение ранее не были изменены другим фильтром WFP, параметру previousVersion будет присвоено значение NULL.
modifierFilterId
Значение элемента FilterId параметра фильтра функции classifyFn. Дополнительные сведения об элементе FilterId см. в разделе FWPS_FILTER1.
localRedirectHandle
Дескриптор перенаправления, созданный драйвером выноски путем вызова функции FwpsRedirectHandleCreate0 .
localRedirectContext
Область контекста драйвера выноски, выделенная драйвером выноски путем вызова функции ExAllocatePoolWithTag .
localRedirectContextSize
Размер (в байтах) области контекста, предоставленной выноской.
Комментарии
Драйвер выноски получает эту структуру путем вызоваФункция FwpsAcquireWritableLayerDataPointer0, которая возвращает указатель на структуру FWPS_CONNECT_REQUEST0 с помощью параметра writableLayerData. Функция classifyFn может изменять параметры запроса на подключение, например перенаправлять локальный или удаленный транспортный адрес или порт на другой адрес или порт. Если он изменяет параметры запроса на подключение, функция classifyFn должна выполнить следующие действия:
- Внесите все изменения в структуру FWPS_CONNECT_REQUEST0 , возвращенную FwpsAcquireWritableLayerDataPointer0. Можно изменять только элементы remoteAddressAndPort, portReservationToken, localRedirectTargetPID, localRedirectHandle, localRedirectContext и localRedirectContextSize .
- Вызов FwpsApplyModifiedLayerData0 с параметром modifiedLayerData , заданным для адреса структуры FWPS_CONNECT_REQUEST0 , даже если драйвер выноски не изменил никаких данных. Это значение должно совпадать со значением параметра modifiedLayerData, возвращаемым через FwpsAcquireWritableLayerDataPointer0.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 7. |
Верхняя часть | fwpsk.h (включая Fwpsk.h) |