Поделиться через


структура FWPS_CONNECT_REQUEST0 (fwpsk.h)

Структура FWPS_CONNECT_REQUEST0 определяет изменяемые данные для FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V4 и FWPM_LAYER_ALE_AUTH_CONNECT_REDIRECT_V6 слоев. Драйвер выноски использует эти данные для проверки или изменения сведений о подключении.

ПримечаниеFWPS_CONNECT_REQUEST0 — это определенная версия FWPS_CONNECT_REQUEST. Дополнительные сведения см. в статье МПП Version-Independent имен и целевых версий Windows.
 

Синтаксис

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

Предыдущая версия данных запроса на подключение. Это поле только для чтения записывает журнал изменений запроса на подключение. Если данные запроса на подключение не были ранее изменены другим фильтром МПП, предыдущей версии будет задано значение NULL.

modifierFilterId

Значение элемента FilterId параметра classifyFn функции фильтра. Дополнительные сведения о элементе FilterId см. в разделе FWPS_FILTER1.

localRedirectHandle

Дескриптор перенаправления, созданный драйвером выноски, вызвав функцию FwpsRedirectHandleCreate0.

примечание начиная с Windows 8, localRedirectHandle должны быть заполнены для перенаправления.
 

localRedirectContext

Область контекста драйвера выноски, выделенная драйвером выноски путем вызова функции ExAllocatePoolWithTag.

Примечание начиная с Windows 8, память, выделенная для localRedirectContext, будет иметь свое владение МПП, и будет освобождена при удалении прокси-потока.
 

localRedirectContextSize

Размер области контекста, предоставленной выноской в байтах.

примечание поддерживается начиная с Windows 8.
 

Замечания

Драйвер выноски получает эту структуру путем вызова функция FwpsAcquireWritableLayerDataPointer0, которая возвращает указатель на структуру FWPS_CONNECT_REQUEST0 через параметр writableLayerData. Функция classifyFn может изменять параметры запроса подключения, например перенаправление локального или удаленного транспортного адреса или порта на другой адрес или порт. Если он изменяет параметры запроса подключения, функция classifyFn должна выполнять следующие действия:

  • Внесите все изменения в структуру FWPS_CONNECT_REQUEST0, возвращенную FwpsAcquireWritableLayerDataPointer0. Можно изменить только remoteAddressAndPort, portReservationToken, localRedirectTargetPID, localRedirectHandle, localRedirectContextи localRedirectContextSize.
  • Звать FwpsApplyModifiedLayerData0 с параметром modifiedLayerData задан адрес структуры FWPS_CONNECT_REQUEST0, даже если драйвер выноски не изменил никаких данных. Это значение должно совпадать со значением параметра modifiedLayerData, возвращаемым через FwpsAcquireWritableLayerDataPointer0.
Эта структура выступает в качестве связанного списка, содержащего запись всех изменений, внесенных другими драйверами выноски. Есть сведения о предыдущей версии, если элемент previousVersion не NULL. Чтобы проверить полную историю версий, драйвер выноски должен продолжать изучать предыдущей версии член каждой структуры в списке, пока не будет задано значение NULL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 7.
заголовка fwpsk.h (include Fwpsk.h)

См. также

ExAllocatePoolWithTag

FWPS_FILTER1

FwpsAcquireWritableLayerDataPointer0

FwpsApplyModifiedLayerData0

FwpsRedirectHandleCreate0

SOCKADDR_STORAGE

использование привязки или перенаправления подключения

классифицироватьFn