FWPS_VSWITCH_POLICY_EVENT_CALLBACK0回呼函式 (fwpsk.h)
篩選引擎會呼叫 vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) 圖說函式,以通知圖說文字驅動程式虛擬交換器原則事件。
語法
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 FwpsVswitchPolicyEventCallback0;
NTSTATUS FwpsVswitchPolicyEventCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_PARAMETERS *vSwitchPortProperty,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS *vSwitchPortPropertyDelete
)
{...}
參數
[in, optional] notifyContext
圖說文字驅動程式所提供之內容的指標。 驅動程式將此指標傳遞至 FwpsvSwitchEventsSubscribe0 函式的 notifyContext 參數。 這個參數是選擇性的,而且可以是 NULL。
[in] completionContext
圖說文字驅動程式所提供之完成內容的指標。 這個參數是選擇性的,而且可以是 NULL。
[in] eventType
指定為其中一個 FWPS_VSWITCH_EVENT_TYPE 列舉值的虛擬交換器事件類型。 如需詳細資訊,請參閱。
[in] vSwitch
包含虛擬交換器相關信息之 NDIS_SWITCH_PARAMETERS 結構的指標。
[in, optional] vSwitchPortProperty
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 結構的指標。 虛擬交換器埠屬性。
[in, optional] vSwitchPortPropertyDelete
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 結構的指標。 虛擬交換器埠屬性。
傳回值
圖說文字的
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 函式會傳回下列其中一個NTSTATUS代碼。
傳回碼 | 描述 |
---|---|
|
圖說文字驅動程式接受來自篩選引擎的通知。 |
|
作業擱置中,稍後將會完成。 圖說驅動程式會呼叫 FwpsvSwitchNotifyComplete0 函式來完成暫止作業。 |
|
發生錯誤。 |
言論
圖說文字驅動程式會藉由呼叫 FwpsvSwitchEventsSubscribe0 函式來註冊 vSwitchPolicyEventNotifyFn 函式。
如果註冊 vSwitchPolicyEventNotifyFn 回呼,則會在即時移轉期間通知目標主機上針對虛擬交換器埠所設定的原則,以及在移轉 VM 可在新主機上執行之前收到通知。
如果沒有即時移轉,vSwitchPolicyEventNotifyFn 也會針對 VM 儲存作業叫用。
透過 VMMS WMI 介面設定的廠商篩選原則變更會透過 OID 要求傳遞至 WFP 虛擬交換器擴充功能。 這些 OID 會攜帶一個 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 結構,並將 PropertyType 成員設定為 NdisSwitchPortPropertyTypeCustom 類型。
WFP 篩選驅動程式會將 OID_SWITCH_PORT_PROPERTY_ADD OID 要求中的資訊傳遞至 vSwitchPolicyEventNotifyFn,並在 eventType 參數中設定FWPS_VSWITCH_EVENT_POLICY_ADD類型,以通知圖說文字驅動程式新增虛擬交換器埠的原則屬性。
WFP 篩選驅動程式會將 OID_SWITCH_PORT_PROPERTY_UPDATE OID 要求中的資訊傳遞給 vSwitchPolicyEventNotifyFn,並在 eventType 參數中設定FWPS_VSWITCH_EVENT_POLICY_UPDATE類型,以通知圖說篩選器驅動程式虛擬交換器埠原則的屬性更新。
這些 OID 也包含屬性識別碼 GUID,可唯一識別原則所屬的 WFP 提供者。 當廠商透過 VMMS 設定其原則時,會提供屬性識別碼 GUID,而且廠商用來向 WFP 註冊其提供者的 GUID 必須是相同的 GUID。
WFP 會嘗試比對屬性標識碼 GUID 與從 FwpsvSwitchEventsSubscribe0 函式指定的提供者 GUID。 如果有相符專案,WFP 會叫用對應的 vSwitchPolicyEventNotifyFn,並將 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 結構傳遞至圖說文字。
WFP 篩選驅動程式會將 OID_SWITCH_PORT_PROPERTY_DELETE OID 要求中的資訊傳遞至 vSwitchPolicyEventNotifyFn,並在 eventType 參數中設定FWPS_VSWITCH_EVENT_POLICY_DELETE類型,以通知圖說篩選器驅動程式刪除虛擬交換器埠的原則屬性。 刪除屬性是在 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 結構中指定。
如果圖說文字從 vSwitchPolicyEventNotifyFn傳回STATUS_PENDING,則 WFP 會將STATUS_PENDING傳回 FilterOidRequest 處理程式。 圖說驅動程式會呼叫 FwpsvSwitchNotifyComplete0 函式來完成暫止作業。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平臺 | 窗戶 |
標頭 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
另請參閱
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS