FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 callback function (fwpsk.h)
The filter engine calls the vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) callout function to notify a callout driver about virtual switch run-time state restore events.
Syntax
FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 FwpsVswitchRuntimeStateRestoreCallback0;
NTSTATUS FwpsVswitchRuntimeStateRestoreCallback0(
[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,
[in] SIZE_T runtimeStateLength
)
{...}
Parameters
[in, optional] notifyContext
A pointer to a context provided by the callout driver. The driver passed this pointer to the notifyContext parameter of the FwpsvSwitchEventsSubscribe0 function. This parameter is optional and can be NULL.
[in] completionContext
A pointer to a completion context provided by the callout driver. This parameter is optional and can be NULL.
[in] eventType
The type of virtual switch event specified as one of the FWPS_VSWITCH_EVENT_TYPE enumeration values. For more information, see Remarks.
[in] vSwitch
A pointer to an NDIS_SWITCH_PARAMETERS structure that contains information about a virtual switch.
[in] portId
The source switch port identifier.
runtimeState
The location of the run-time state output result buffer.
[in] runtimeStateLength
The length, in bytes, of the run-time state information in the run-time state buffer.
Return value
A callout's
FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 function returns one of the following NTSTATUS codes.
Return code | Description |
---|---|
|
The callout driver accepts the notification from the filter engine. |
|
The operation is pending and will be completed later. The callout driver will call the FwpsvSwitchNotifyComplete0 function to complete the pending operation. |
|
An error occurred. |
Remarks
A callout driver registers a vSwitchRuntimeStateRestoreNotifyFn function by calling the FwpsvSwitchEventsSubscribe0 function.
See the vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) function for information about saving the run-time state.
Each saved data segment will be restored with an OID_SWITCH_NIC_RESTORE OID sent through the virtual switch extension stacks on the target system or on the local system during a restore operation. WFP will dispatch the data to the correct callout through vSwitchRuntimeStateRestoreNotifyFn after matching with a registered provider GUID. In this case, the eventType parameter of vSwitchRuntimeStateRestoreNotifyFn is set to FWPS_VSWITCH_EVENT_RUNTIME_STATE_RESTORE.
A callout can return STATUS_PENDING from vSwitchRuntimeStateRestoreNotifyFn. In this case, WFP will return STATUS_PENDING in the FilterOidRequest handler and will complete it at a later time. The callout driver will call the FwpsvSwitchNotifyComplete0 function to complete the pending operation.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Target Platform | Windows |
Header | fwpsk.h (include Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
See also
Callout Driver Callout Functions