共用方式為


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

唯一識別會話。

如果 GUID 在 FwpmFilterAdd0 的呼叫中初始化為零,基底篩選引擎 (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

FWPM_ACTION0 結構,指定所有篩選條件為 true 時所要執行的動作。

rawContext

當篩選沒有提供者內容資訊時,即 旗標 不包含 FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT。 如需內建值的清單,請參閱 篩選內容識別碼

rawContext 會放在對應FWPS_FILTER0結構的內容成員中,其記載於WDK中。

providerContextKey

當篩選具有提供者內容資訊時,即 旗標 包含 FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT。 如需預先定義的原則提供者內容清單,請參閱 內建提供者內容標識符

providerContextKey 所指定之提供者內容的 LUID 是用來填入對應FWPS_FILTER0結構的內容成員,其記載於 WDK 中。

reserved

保留供系統使用。

filterId

識別篩選條件的 LUID。 這也是 WDK 中記載之對應 FWPS_FILTER0 結構的 LUID。

effectiveWeight

包含指派給FWPS_FILTER0權數的FWP_VALUE0結構,記載於WDK中。

備註

這個結構的前十個成員包含新增物件時所提供的資訊。

取得/列舉物件時,最後一個成員 filterIdeffectiveWeight 會提供其他資訊。

FWPM_FILTER0 是FWPM_FILTER的特定實作。 如需詳細資訊 ,請參閱 Version-Independent 名稱和以特定版本的 Windows 為目標

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 fwpmtypes.h

另請參閱

FWPM_ACTION0

FWPM_DISPLAY_DATA0

FWPM_FILTER_CONDITION0

FWP_VALUE0

篩選器加權指派

篩選權數標識碼

Windows 篩選平臺 API 結構