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.
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 |
---|---|
|
El controlador de llamada acepta la notificación del motor de filtro. |
|
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de