FWPS_VSWITCH_POLICY_EVENT_CALLBACK0回呼函式 (fwpsk.h)

篩選引擎會呼叫 vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) 圖說文字函式,以通知圖說文字驅動程式虛擬交換器原則事件。

注意FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 是特定版本的 FWPS_VSWITCH_POLICY_EVENT_CALLBACK。 如需詳細資訊 ,請參閱 Version-Independent 名稱和以特定版本的 Windows 為目標
 

語法

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 結構的指標。

注意NDIS_SWITCH_PARAMETERS 結構中的資訊會反映虛擬交換器的初始狀態,不一定是其目前狀態。 特別是,除非已觸發虛擬交換器 PnP 事件, 否則 NumSwitchPortsIsActive 成員可能仍然有其初始值為零。 您可以在這個回呼函式的其他參數中找到目前的狀態資訊。
 

[in, optional] vSwitchPortProperty

NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 結構的指標。 虛擬交換器埠屬性。

[in, optional] vSwitchPortPropertyDelete

NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 結構的指標。 虛擬交換器埠屬性。

傳回值

圖說文字的

FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 函式會傳回下列其中一個NTSTATUS代碼。

傳回碼 Description
STATUS_SUCCESS
圖說文字驅動程式會接受來自篩選引擎的通知。
STATUS_PENDING
作業擱置中,稍後將會完成。 圖說文字驅動程式會呼叫 FwpsvSwitchNotifyComplete0 函式,以完成擱置的作業。
其他狀態代碼
發生錯誤。

備註

圖說文字驅動程式會藉由呼叫 FwpsvSwitchEventsSubscribe0 函式來註冊 vSwitchPolicyEventNotifyFn 函式。

如果 已註冊 vSwitchPolicyEventNotifyFn 回呼,則目標主機上的圖說文字將會收到有關在即時移轉期間針對虛擬交換器埠所設定的原則,以及在移轉 VM 可以在新主機上執行之前收到通知。

如果沒有即時移轉,也會針對 VM 儲存作業叫用 vSwitchPolicyEventNotifyFn

透過 VMMS WMI 介面設定之廠商篩選原則的變更,會透過 OID 要求傳遞至一個有 OID 要求的至一個與一起的至一個其虛擬交換器擴充功能。 這些 OID 具有屬性類型成員設定為 NdisSwitchPortPropertyTypeCustom 類型的 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 結構。

eventType 參數中設定的 FWPS_VSWITCH_EVENT_POLICY_ADD 類型,將 OID_SWITCH_PORT_PROPERTY_ADD OID 要求中的資訊傳遞至 vSwitchPolicyEventNotifyFn,以通知圖說文字驅動程式新增虛擬交換器埠的原則屬性。

PUBLISHER 篩選驅動程式會將 OID_SWITCH_PORT_PROPERTY_UPDATE OID 要求中的資訊傳遞至 vSwitchPolicyEventNotifyFn ,並在 eventType 參數中設定FWPS_VSWITCH_EVENT_POLICY_UPDATE類型,以通知圖說文字篩選驅動程式有關虛擬交換器埠原則的屬性更新。

這些 OID 也包含一個屬性識別碼 GUID,可唯一識別原則所屬的一個其一個其一個的一個其一。 當廠商透過 VMMS 設定其原則時,會提供屬性識別碼 GUID,而且廠商用來向 BROKER 註冊其提供者的 GUID 必須是相同的 GUID。

其會嘗試比對屬性標識碼 GUID 與 FwpsvSwitchEventsSubscribe0 函式中指定的提供者 GUID。 如果有相符專案,則 PUBLISHER 會叫用對應的 vSwitchPolicyEventNotifyFn ,並將 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 結構傳遞至圖說文字。

PUBLISHER 篩選驅動程式會將 OID_SWITCH_PORT_PROPERTY_DELETE OID 要求中的資訊傳遞至 vSwitchPolicyEventNotifyFn ,並在 eventType 參數中設定FWPS_VSWITCH_EVENT_POLICY_DELETE類型,以通知圖說文字篩選驅動程式有關刪除虛擬交換器埠的原則屬性。 刪除屬性是在 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 結構中指定。

如果圖說文字從 vSwitchPolicyEventNotifyFn 傳回STATUS_PENDING,則其會傳回 STATUS_PENDING FilterOidRequest 處理程式。 圖說文字驅動程式會呼叫 FwpsvSwitchNotifyComplete0 函式,以完成擱置的作業。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Windows
標頭 fwpsk.h (包含 Fwpsk.h)
IRQL <= DISPATCH_LEVEL

另請參閱

圖說文字驅動程式圖說文字函式

FWPS_VSWITCH_EVENT_TYPE

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_PARAMETERS

NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS

NDIS_SWITCH_PORT_PROPERTY_PARAMETERS

OID_SWITCH_PORT_PROPERTY_ADD

OID_SWITCH_PORT_PROPERTY_DELETE

OID_SWITCH_PORT_PROPERTY_UPDATE