FWPS_FILTER1 구조체(fwpstypes.h)

FWPS_FILTER1 구조체는 필터 엔진에서 런타임 필터를 정의합니다. FWPS_FILTER0 사용할 수 있습니다.

구문

typedef struct FWPS_FILTER1_ {
  UINT64                 filterId;
  FWP_VALUE0             weight;
  UINT16                 subLayerWeight;
  UINT16                 flags;
  UINT32                 numFilterConditions;
  FWPS_FILTER_CONDITION0 *filterCondition;
  FWPS_ACTION0           action;
  UINT64                 context;
  FWPM_PROVIDER_CONTEXT1 *providerContext;
} FWPS_FILTER1;

멤버

filterId

필터 엔진에서 필터를 식별하는 런타임 식별자입니다.

weight

필터 엔진의 다른 필터와 관련하여 필터의 중요도를 지정하는 값을 포함하는 FWP_VALUE0 구조체입니다. 가중치 값이 더 높은 필터가 먼저 호출됩니다. FWP_VALUE0 구조에 지정된 데이터 형식은 FWP_UINT64 또는 FWP_EMPTY. FWP_VALUE0 구조에 지정된 데이터 형식이 FWP_EMPTY 필터 엔진은 필터 엔진의 다른 필터에 비해 필터가 데이터를 테스트하는 특정 방식에 따라 필터에 가중치를 자동으로 할당합니다.

subLayerWeight

필터 엔진의 다른 하위 계층과 관련하여 필터 하위 계층의 중요도를 지정하는 값입니다. subLayerWeight 값이 더 높은 하위 계층에 있는 필터가 먼저 호출됩니다.

flags

네트워크 데이터를 처리할 때 콜아웃의 classifyFn1 콜아웃 함수가 수행해야 하는 작업을 지정하는 플래그입니다. 가능한 플래그는 다음과 같습니다.

의미
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT 이 플래그는 제안된 작업에 대해 FWP_ACTION_BLOCK 또는 FWP_ACTION_PERMIT 반환할 때 항상 FWPS_RIGHT_ACTION_WRITE 플래그를 지워야 한다는 것을 콜아웃의 classifyFn1 콜아웃 함수에 나타냅니다. 이 플래그가 설정되지 않은 경우 콜아웃의 classifyFn1 콜아웃 함수는 제안된 작업에 대한 FWP_ACTION_BLOCK 반환할 때만 FWPS_RIGHT_ACTION_WRITE 플래그를 지워야 합니다.
FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED 이 플래그는 설명선의 classifyFn1 설명선 함수에 설명선이 등록되지 않은 경우 설명선이 허용 필터로 처리되어야 했음을 나타냅니다.

numFilterConditions

filterCondition 멤버가 가리키는 배열의 FWPS_FILTER_CONDITION0 구조체 수입니다. 이 멤버는 0일 수 있습니다.

filterCondition

FWPS_FILTER_CONDITION0 구조체 배열에 대한 포인터입니다. 이러한 구조체는 필터에 대한 런타임 필터링 조건을 정의합니다. numFilterConditions 멤버가 0이면 이 포인터는 NULL이 됩니다.

action

필터의 모든 필터링 조건이 true인 경우 필터에서 수행해야 하는 작업을 지정하는 FWPS_ACTION0 구조체입니다.

context

필터와 연결된 컨텍스트 값입니다. 필터가 필터 엔진에 추가되면 설명선 드라이버의 notifyFn1 설명선 함수 내에서 설명선 드라이버 제공 컨텍스트 구조를 가리키도록 이 멤버를 설정할 수 있습니다. 필터 엔진에 대해 불투명한 이 컨텍스트 구조는 설명선 드라이버의 classifyFn1 설명선 함수에서 필터 엔진이 호출한 호출 간의 드라이버별 데이터 또는 상태 정보를 설명선 드라이버의 classifyFn1 설명선 함수에 보존하는 데 사용할 수 있습니다.

providerContext

FWPM_PROVIDER_CONTEXT1 구조체로 형식이 지정된 공급자 컨텍스트에 대한 포인터입니다. 필터에서 설명선이 사용되고 설명선에 FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT 플래그가 설정된 경우 이 멤버는 해당 FWPM_FILTER0 구조체의 공급자 컨텍스트를 포함합니다. 그렇지 않으면 이 매개 변수는 NULL입니다.

설명

필터 엔진은 FWPS_FILTER1 구조체에 대한 포인터를 설명선의 notifyFn1classifyFn1 설명선 함수에 전달합니다.

필터의 작업은 필터의 모든 필터링 조건이 true인 경우에만 수행됩니다. 필터에 필터링 조건이 지정되지 않은 경우 지정된 작업이 항상 수행됩니다.

ProviderContext 멤버는 BFE(기본 필터링 엔진)를 호출하지 않고 설명선 드라이버가 공급자 컨텍스트를 검색하는 메커니즘을 제공합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7부터 사용할 수 있습니다.
머리글 fwpstypes.h(Fwpsk.h 포함)

추가 정보

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT1

FWPS_ACTION0

FWPS_FILTER0

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

classifyFn1

notifyFn1