Compartir a través de


FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 función de devolución de llamada (fwpsk.h)

El motor de filtro llama a la función de llamada vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) para notificar al controlador de llamada los eventos asociados al reordenamiento del motor de filtro de conmutador virtual.

NotaFWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 es una versión específica de FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK. Para obtener más información, vea NOMBRES DE Version-Independent DE PMA y versiones específicas de Windows dirigidas a destinatarios.

Sintaxis

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;

NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           BOOLEAN isInRequiredPosition,
  [in]           const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}

Parámetros

[in, optional] notifyContext

Puntero a un contexto proporcionado por el controlador de llamada. El controlador pasó este puntero al parámetro notifyContext de la función FwpsvSwitchEventsSubscribe0 . Este parámetro es opcional y puede ser NULL.

[in] completionContext

Puntero a un contexto de finalización proporcionado por el controlador de llamada. Este parámetro es opcional y puede ser NULL.

[in] isInRequiredPosition

Valor BOOLEAN establecido en TRUE si el filtro está en la posición necesaria en la pila de filtros o FALSE si no lo está.

[in] vSwitchExtensionLwfList

Estructura NDIS_ENUM_FILTERS que especifica una lista de los controladores de filtro NDIS de extensión de conmutador virtual.

Valor devuelto

Una llamada

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 función devuelve uno de los siguientes códigos NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
El controlador de llamada acepta la notificación del motor de filtro.
Otros códigos de estado
Se produjo un error.

Comentarios

Un controlador de llamada registra un

Función vSwitchFilterEngineReorderNotifyRn mediante una llamada a
La función FwpsvSwitchEventsSubscribe0 .

De forma predeterminada, la extensión de conmutador virtual DE PMA se coloca como la primera extensión de filtrado en la entrada del conmutador virtual. (Por lo tanto, también es la última extensión en la salida del conmutador virtual). Esta suele ser la mejor posición, ya que la extensión PMA puede interceptar paquetes antes de que cualquier otra extensión pueda modificarlos en la entrada. Además, la extensión DE PMA puede interceptar paquetes después de que se realicen todas las modificaciones de paquetes en la salida.

Sin embargo, dado que un administrador puede reordenar cualquier extensión de conmutador virtual de la misma clase, la extensión DE PMA se puede reordenar fuera de la posición predeterminada. Después de que se produzca un reordenamiento, los filtros de un cliente DE PMA podrían omitirse y es posible que deban ajustarse.

Si se registra la devolución de llamada vSwitchFilterEngineReorderNotifyRn , se notifica al controlador de llamada cuando se produce un reordenamiento de conmutador virtual. El controlador de llamada recibe una estructura de NDIS_ENUM_FILTERS con una lista ordenada de extensiones de conmutador virtual actuales en el parámetro vSwitchExtensionLwfList .

Si se reordenan las extensiones del conmutador virtual, la extensión DE PMA está en pausa (consulte FilterPause) y se reinicia (consulte FilterRestart). Desde la llamada FilterRestart del filtro PMA, el controlador de filtro DE PMA llama a la función NdisEnumerateFilterModules para obtener una lista ordenada de filtros de extensión de conmutador virtual. Si la extensión DE PMA no está en la posición predeterminada, el controlador de filtro notifica a los controladores de llamada.

Un controlador de llamada no puede devolver STATUS_PENDING de vSwitchFilterEngineReorderNotifyRn.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Windows
Encabezado fwpsk.h (incluya Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Consulte también

Funciones de llamada del controlador de llamada

FilterPause

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_ENUM_FILTERS

NdisEnumerateFilterModules

NdisFRestartComplete