Condividi tramite


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

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0

FilterOidRequest

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_NIC_SAVE_STATE

NDIS_SWITCH_PARAMETERS

OID_SWITCH_NIC_SAVE