funzione di callback FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 (fwpsk.h)
Il motore di filtro chiama la funzione di callout vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) per notificare a un driver callout gli eventi di salvataggio dello stato di runtime del commutatore virtuale.
Nota
FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 è una versione specifica di FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK. Per altre informazioni, vedere Wfp Version-Independent Names and Targeting Specific Versions of Windows .See WFP Version-Independent Names and Targeting Specific Versions of Windows.See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information.
Sintassi
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
)
{...}
Parametri
[in, optional] notifyContext
Puntatore a un contesto fornito dal driver del callout. Il driver ha passato questo puntatore al parametro notifyContext della funzione FwpsvSwitchEventsSubscribe0 . Questo parametro è facoltativo e può essere NULL.
[in] completionContext
Puntatore a un contesto di completamento fornito dal driver del callout. Questo parametro è facoltativo e può essere NULL.
[in] eventType
Tipo di evento del commutatore virtuale specificato come uno dei valori di enumerazione FWPS_VSWITCH_EVENT_TYPE . Per altre informazioni, vedere la sezione Osservazioni.
[in] vSwitch
Puntatore a una struttura NDIS_SWITCH_PARAMETERS che contiene informazioni su un commutatore virtuale.
Nota
Le informazioni nella struttura NDIS_SWITCH_PARAMETERS riflettono lo stato iniziale del commutatore virtuale, non necessariamente lo stato corrente. In particolare, i membri NumSwitchPorts e IsActive potrebbero avere il valore iniziale zero, a meno che non sia stato attivato un evento PnP del commutatore virtuale. Le informazioni sullo stato corrente sono disponibili negli altri parametri per questa funzione di callback.
[in] portId
Identificatore della porta del commutatore di origine.
runtimeState
Posizione del buffer dei risultati dell'output dello stato di runtime.
[out] runtimeStateLength
Lunghezza, in byte, delle informazioni sullo stato di runtime nel buffer di stato di runtime.
Valore restituito
La funzione FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 di un callout restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Il driver del callout accetta la notifica dal motore di filtro. |
STATUS_PENDING | L'operazione è in sospeso e verrà completata in un secondo momento. Il driver di callout chiamerà la funzione FwpsvSwitchNotifyComplete0 per completare l'operazione in sospeso. |
Altri codici di stato | Si è verificato un errore. |
Commenti
Un driver callout registra una funzione vSwitchRuntimeStateSaveNotifyFn chiamando la funzione FwpsvSwitchEventsSubscribe0 .
Se il callback vSwitchRuntimeStateSaveNotifyFn è registrato, il callout riceverà una notifica per recuperare lo stato di runtime di una macchina virtuale di origine e per ripristinare lo stato di runtime di una macchina virtuale di destinazione durante la migrazione in tempo reale o un'operazione di salvataggio e ripristino locale. Nel caso di salvataggio, il parametro eventType di vSwitchRuntimeStateSaveNotifyFn è impostato su FWPS_VSWITCH_EVENT_RUNTIME_STATE_SAVE.
Il driver del protocollo di estensione del commutatore virtuale invia una richiesta di metodo OID (Object Identifier) di OID_SWITCH_NIC_SAVE durante un'operazione per salvare i dati di runtime per una porta del commutatore virtuale. Il driver di filtro restituisce questi dati in modo che i dati di runtime per una porta del commutatore virtuale possano essere salvati e ripristinati in un secondo momento.
Dopo la raccolta del BLOB di dati in fase di esecuzione da tutti i callout, il WFP riempie la struttura NDIS_SWITCH_NIC_SAVE_STATE con i dati raccolti e completa la richiesta di salvataggio dello stato.
Un callout può restituire STATUS_PENDING da vSwitchRuntimeStateSaveNotifyFn. In questo caso, il WFP restituirà STATUS_PENDING nel gestore FilterOidRequest e lo completerà in un secondo momento. Il driver di callout chiamerà la funzione FwpsvSwitchNotifyComplete0 per completare l'operazione in sospeso.
Per informazioni sul ripristino dello stato di runtime, vedere la funzione vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8. |
Piattaforma di destinazione | Windows |
Intestazione | fwpsk.h (include Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
Vedi anche
Funzioni callout driver callout