Share via


FWPM_FILTER0 구조체(fwpmtypes.h)

FWPM_FILTER0 구조체는 필터와 연결된 상태를 저장합니다.

구문

typedef struct FWPM_FILTER0_ {
  GUID                   filterKey;
  FWPM_DISPLAY_DATA0     displayData;
  UINT32                 flags;
  GUID                   *providerKey;
  FWP_BYTE_BLOB          providerData;
  GUID                   layerKey;
  GUID                   subLayerKey;
  FWP_VALUE0             weight;
  UINT32                 numFilterConditions;
  FWPM_FILTER_CONDITION0 *filterCondition;
  FWPM_ACTION0           action;
  union {
    UINT64 rawContext;
    GUID   providerContextKey;
  };
  GUID                   *reserved;
  UINT64                 filterId;
  FWP_VALUE0             effectiveWeight;
} FWPM_FILTER0;

멤버

filterKey

세션을 고유하게 식별합니다.

FwpmFilterAdd0 호출에서 GUID가 0으로 초기화되면 BFE(기본 필터링 엔진)가 생성됩니다.

displayData

필터와 연결된 사람이 읽을 수 있는 주석을 포함하는 FWPM_DISPLAY_DATA0 구조체입니다. FWPM_DISPLAY_DATA0 구조체의 이름 멤버가 필요합니다.

flags

다음 값의 조합입니다.

필터 플래그 의미
**FWPM_FILTER_FLAG_NONE**
기본값
**FWPM_FILTER_FLAG_PERSISTENT**
필터는 영구적입니다. 즉, BFE 중지/시작에서 유지됩니다.
**참고** 이 플래그는 **FWPM_FILTER_FLAG_BOOTTIME**와 함께 설정할 수 없습니다.
 
**FWPM_FILTER_FLAG_BOOTTIME**
필터는 BFE가 시작되기 전에 부팅 시 적용됩니다.
**참고** 이 플래그는 **FWPM_FILTER_FLAG_PERSISTENT**와 함께 설정할 수 없습니다.
 
**FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT**
필터는 공급자 컨텍스트를 참조합니다.
**FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT**
필터 작업을 오른쪽으로 지웁
**FWPM_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED**
설명선이 등록되지 않은 경우 필터는 허용 필터로 처리됩니다.
**참고** **action** 형식이 **FWP_ACTION_CALLOUT_TERMINATING** 또는 **FWP_ACTION_CALLOUT_UNKNOWN**인 경우에만 이 플래그를 설정할 수 있습니다.
 
**FWPM_FILTER_FLAG_DISABLED**
필터를 사용할 수 없습니다. 공급자에 연결된 Windows 서비스 이름이 없거나 연결된 서비스가 자동 시작으로 설정되지 않은 경우 BFE가 시작될 때 공급자의 필터가 비활성화됩니다.
**참고** 새 필터를 추가할 때 이 플래그를 설정할 수 없습니다. 필터를 가져오거나 열거할 때만 BFE에서 반환할 수 있습니다.
 
**FWPM_FILTER_FLAG_INDEXED**
필터는 분류 중에 더 빠르게 조회할 수 있도록 인덱싱됩니다.
**참고** Windows 8 및 Windows Server 2012만 사용할 수 있습니다.
 

providerKey

이 필터를 관리하는 정책 공급자의 선택적 GUID입니다. 미리 정의된 정책 공급자 목록은 기본 제공 공급자 식별자를 참조하세요.

providerData

공급자가 개체에 추가 컨텍스트 정보를 저장하는 데 사용하는 선택적 공급자별 데이터를 포함하는 FWP_BYTE_BLOB 구조체입니다.

layerKey

필터가 있는 계층의 GUID입니다. 가능한 값 목록은 레이어 식별자 필터링 을 참조하세요.

subLayerKey

필터가 있는 하위 계층의 GUID입니다. 기본 제공 하위 계층 목록은 Sub-Layer 식별자 필터링 을 참조하세요.

이 값이 IID_NULL 설정되면 필터가 기본 하위 계층에 추가됩니다.

weight

필터의 가중치를 지정하는 FWP_VALUE0 구조체입니다. 가중치는 필터의 우선 순위를 나타내며, 번호가 높은 가중치는 우선 순위가 더 높으며 가중치가 낮은 필터 전에 평가됩니다.

가중치에 대한 가능한 형식 값은 다음과 같습니다.

**weight** 형식 의미
**FWP_UINT64**
BFE는 제공된 값을 필터의 가중치로 사용합니다.
**FWP_UINT8**
0–15
BFE는 제공된 값을 가중치 범위 인덱스로 사용하고 해당 범위에서 필터의 가중치를 계산합니다. 자세한 내용은 필터 가중치 할당 을 참조하세요.
**FWP_EMPTY**
BFE는 필터 조건에 따라 가중치를 자동으로 할당합니다.

필터 가중치를 계산하는 데 사용할 수 있는 기본 제공 상수는 필터 가중치 식별자를 참조하세요.

numFilterConditions

필터 조건 수입니다.

filterCondition

모든 필터링 조건을 포함하는 FWPM_FILTER_CONDITION0 구조체의 배열입니다. 작업을 수행하려면 모두 true여야 합니다. 즉, 조건은 AND 연산자를 사용하여 평가됩니다. 조건이 지정되지 않으면 작업이 항상 수행됩니다.

**참고** Windows 7 및 Windows Server 2008 R2에서는 OR 연산자를 사용하여 동일한 fieldKey의 연속 조건이 평가됩니다.
 

action

모든 필터 조건이 true인 경우 수행할 작업을 지정하는 FWPM_ACTION0 구조체입니다.

rawContext

필터에 공급자 컨텍스트 정보가 없는 경우 사용할 수 있습니다. 즉, 플래그FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT 포함되지 않습니다. 가능한 기본 제공 값 목록은 컨텍스트 식별자 필터링 을 참조하세요.

rawContext는 WDK에 설명된 해당 FWPS_FILTER0 구조체의 컨텍스트 멤버에 '있는 그대로' 배치됩니다.

providerContextKey

필터에 공급자 컨텍스트 정보, 즉 플래그 에 FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT 포함된 경우 사용할 있습니다. 미리 정의된 정책 공급자 컨텍스트 목록은 기본 제공 공급자 컨텍스트 식별자를 참조하세요.

providerContextKey에 지정된 공급자 컨텍스트의 LUID는 WDK에 설명된 해당 FWPS_FILTER0 구조체의 컨텍스트 멤버를 채우는 데 사용됩니다.

reserved

시스템에서 사용하도록 예약되었습니다.

filterId

필터를 식별하는 LUID입니다. 이는 WDK에 문서화된 해당 FWPS_FILTER0 구조체의 LUID이기도 합니다.

effectiveWeight

WDK에 문서화된 FWPS_FILTER0 할당된 가중치가 포함된 FWP_VALUE0 구조체입니다.

설명

이 구조체의 처음 10개 멤버는 개체를 추가할 때 제공되는 정보를 포함합니다.

마지막 멤버인 filterIdeffectiveWeight는 개체를 가져오고 열거할 때 추가 정보를 제공합니다.

FWPM_FILTER0 FWPM_FILTER 특정 구현입니다. 자세한 내용은 WFP Version-Independent 이름 및 특정 버전의 Windows 대상 지정 을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 fwpmtypes.h

추가 정보

FWPM_ACTION0

FWPM_DISPLAY_DATA0

FWPM_FILTER_CONDITION0

FWP_VALUE0

필터 가중치 할당

필터 가중치 식별자

Windows 필터링 플랫폼 API 구조