篩選引擎會呼叫 vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) 圖說函式,以通知圖說文字驅動程式虛擬交換器運行時間狀態儲存事件。
注意
FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 是特定版本的 FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK。 如需詳細資訊,請參閱 糧食計劃署 Version-Independent 名稱和以特定版本的 Windows 為目標。
語法
FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 FwpsVswitchRuntimeStateSaveCallback0;
NTSTATUS FwpsVswitchRuntimeStateSaveCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in] NDIS_SWITCH_PORT_ID portId,
void **runtimeState,
[out] SIZE_T *runtimeStateLength
)
{...}
參數
[in, optional] notifyContext
圖說文字驅動程式所提供之內容的指標。 驅動程式將此指標傳遞至 FwpsvSwitchEventsSubscribe0 函式的 notifyContext 參數。 這個參數是選擇性的,而且可以是 NULL。
[in] completionContext
圖說文字驅動程式所提供之完成內容的指標。 這個參數是選擇性的,而且可以是 NULL。
[in] eventType
指定為其中一個 FWPS_VSWITCH_EVENT_TYPE 列舉值的虛擬交換器事件類型。 如需詳細資訊,請參閱。
[in] vSwitch
包含虛擬交換器相關信息之 NDIS_SWITCH_PARAMETERS 結構的指標。
注意
NDIS_SWITCH_PARAMETERS 結構中的資訊會反映虛擬交換器的初始狀態,不一定反映其目前狀態。 特別是,除非觸發虛擬交換器 PnP 事件,否則 NumSwitchPorts 和 IsActive 成員可能仍有其初始值為零。 目前的狀態資訊可以在這個回呼函式的其他參數中找到。
[in] portId
來源交換器埠標識碼。
runtimeState
運行時間狀態輸出結果緩衝區的位置。
[out] runtimeStateLength
運行時間狀態緩衝區中運行時間狀態信息的長度,以位元組為單位。
傳回值
圖說文字的 FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 函式會傳回下列其中一個NTSTATUS程式碼。
傳回碼 | 描述 |
---|---|
STATUS_SUCCESS | 圖說文字驅動程式接受來自篩選引擎的通知。 |
STATUS_PENDING | 作業擱置中,稍後將會完成。 圖說驅動程式會呼叫 FwpsvSwitchNotifyComplete0 函式來完成暫止作業。 |
其他狀態代碼 | 發生錯誤。 |
言論
圖說文字驅動程式會藉由呼叫 FwpsvSwitchEventsSubscribe0 函式來註冊 vSwitchRuntimeStateSaveNotifyFn 函式。
如果已註冊 vSwitchRuntimeStateSaveNotifyFn 回呼,則會通知圖說文字以擷取來源 VM 的運行時間狀態,並在即時移轉或本機儲存和還原作業期間還原目標 VM 的運行時間狀態。 在儲存案例中,vSwitchRuntimeStateSaveNotifyFn 的 eventType 參數會設定為 FWPS_VSWITCH_EVENT_RUNTIME_STATE_SAVE。
虛擬交換器擴充通訊協定驅動程式會在作業期間發出 OID_SWITCH_NIC_SAVE 的物件標識碼 (OID) 方法要求,以節省虛擬交換器埠的運行時間數據。 篩選驅動程式會傳回此數據,以便稍後儲存及還原虛擬交換器埠的運行時間數據。
從所有圖說文字收集運行時間數據 Blob 之後,WFP 會填入 NDIS_SWITCH_NIC_SAVE_STATE 結構,並完成儲存狀態要求。
圖說文字可以從 vSwitchRuntimeStateSaveNotifyFn傳回STATUS_PENDING。 在此情況下,WFP 會在 FilterOidRequest 處理程式中傳回STATUS_PENDING,並在稍後完成。 圖說驅動程式會呼叫 FwpsvSwitchNotifyComplete0 函式來完成暫止作業。
如需還原運行時間狀態的相關信息,請參閱 vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) 函式。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平臺 | 窗戶 |
標頭 | fwpsk.h (包括 Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |