FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 Rückruffunktion (fwpsk.h)
Das Filtermodul ruft die vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) Popupfunktion auf, um einen Legendentreiber über Speicherereignisse des Laufzeitzustands für virtuelle Switche zu benachrichtigen.
Anmerkung
FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0 ist eine bestimmte Version von FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und zielspezifische Versionen von Windows.
Syntax
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
)
{...}
Parameter
[in, optional] notifyContext
Ein Zeiger auf einen Kontext, der vom Legendentreiber bereitgestellt wird. Der Treiber hat diesen Zeiger an den notifyContext Parameter der FwpsvSwitchEventsSubscribe0-Funktion übergeben. Dieser Parameter ist optional und kann NULL sein.
[in] completionContext
Ein Zeiger auf einen Abschlusskontext, der vom Legendentreiber bereitgestellt wird. Dieser Parameter ist optional und kann NULL sein.
[in] eventType
Der Typ des virtuellen Switch-Ereignisses, das als einer der FWPS_VSWITCH_EVENT_TYPE Enumerationswerte angegeben ist. Weitere Informationen finden Sie in den Hinweisen.
[in] vSwitch
Ein Zeiger auf eine NDIS_SWITCH_PARAMETERS-Struktur, die Informationen zu einem virtuellen Switch enthält.
Anmerkung
Die Informationen in der NDIS_SWITCH_PARAMETERS-Struktur spiegeln den Anfangszustand des virtuellen Switches wider, nicht unbedingt ihren aktuellen Zustand. Insbesondere können die NumSwitchPorts und IsActive--Member ihren Anfangswert 0 aufweisen, es sei denn, ein virtuelles Switch-PnP-Ereignis wurde ausgelöst. Aktuelle Statusinformationen finden Sie in den anderen Parametern dieser Rückruffunktion.
[in] portId
Der Portbezeichner für den Quellswitch.
runtimeState
Der Speicherort des Ausgabeergebnispuffers für den Laufzeitzustand.
[out] runtimeStateLength
Die Länge der Laufzeitstatusinformationen im Laufzeitzustandspuffer in Bytes.
Rückgabewert
Die FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0-Funktion einer Legende gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Der Popuptreiber akzeptiert die Benachrichtigung vom Filtermodul. |
STATUS_PENDING | Der Vorgang steht aus und wird später abgeschlossen. Der Popuptreiber ruft den FwpsvSwitchNotifyComplete0-Funktion auf, um den ausstehenden Vorgang abzuschließen. |
Andere Statuscodes | Fehler. |
Bemerkungen
Ein Popuptreiber registriert eine vSwitchRuntimeStateSaveNotifyFn Funktion, indem die funktion FwpsvSwitchEventsSubscribe0 aufgerufen wird.
Wenn der vSwitchRuntimeStateSaveNotifyFn Callback registriert ist, wird die Legende benachrichtigt, um den Laufzeitstatus einer Quell-VM abzurufen und den Laufzeitstatus einer Ziel-VM während der Livemigration oder eines lokalen Speicher- und Wiederherstellungsvorgangs wiederherzustellen. Im Speicherfall wird der eventType Parameter von vSwitchRuntimeStateSaveNotifyFn auf FWPS_VSWITCH_EVENT_RUNTIME_STATE_SAVE festgelegt.
Der Protokolltreiber des virtuellen Switcherweiterungsprotokolls gibt eine OID-Methodenanforderung (Object Identifier) von OID_SWITCH_NIC_SAVE während eines Vorgangs aus, um Laufzeitdaten für einen virtuellen Switchport zu speichern. Der Filtertreiber gibt diese Daten zurück, sodass Laufzeitdaten für einen virtuellen Switchport zu einem späteren Zeitpunkt gespeichert und wiederhergestellt werden können.
Nachdem das Laufzeitdaten-Blob aus allen Legenden gesammelt wurde, füllt WFP die NDIS_SWITCH_NIC_SAVE_STATE Struktur mit den gesammelten Daten und schließt die Speicherstatusanforderung ab.
Eine Legende kann STATUS_PENDING von vSwitchRuntimeStateSaveNotifyFnzurückgeben. In diesem Fall gibt WFP STATUS_PENDING im FilterOidRequest--Handler zurück und schließt es zu einem späteren Zeitpunkt ab. Der Popuptreiber ruft den FwpsvSwitchNotifyComplete0-Funktion auf, um den ausstehenden Vorgang abzuschließen.
Informationen zum Wiederherstellen des Laufzeitzustands finden Sie in der vSwitchRuntimeStateRestoreNotifyFn- (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) -Funktion.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8. |
Zielplattform- | Fenster |
Header- | fwpsk.h (include Fwpsk.h) |
IRQL- | <= DISPATCH_LEVEL |