NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS función de devolución de llamada (ndis.h)
La función ReportFilteredNetBufferLists informa sobre uno o varios paquetes de red que se quitaron o excluyeron de la entrega de puertos mediante la extensión de conmutador extensible. Cada paquete de red se define a través de una estructura de NET_BUFFER_LIST .
Sintaxis
NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS NdisSwitchReportFilteredNetBufferLists;
void NdisSwitchReportFilteredNetBufferLists(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in] PUNICODE_STRING ExtensionGuid,
[in] PUNICODE_STRING ExtensionFriendlyName,
[in] NDIS_SWITCH_PORT_ID PortId,
[in] UINT32 Flags,
[in] UINT32 NumberOfNetBufferLists,
[in] PNET_BUFFER_LIST NetBufferLists,
[in, optional] PUNICODE_STRING FilterReason
)
{...}
Parámetros
[in] NdisSwitchContext
Valor de NDIS_SWITCH_CONTEXT que contiene el identificador del módulo de conmutador extensible al que está asociada la extensión de conmutador extensible de Hyper-V. Cuando la extensión llama a NdisFGetOptionalSwitchHandlers, este identificador se devuelve a través del parámetro NdisSwitchContext .
[in] ExtensionGuid
Puntero a una estructura de UNICODE_STRING que contiene el GUID de la extensión. NDIS especifica este GUID en el miembro FilterModuleGuidName de la estructura NDIS_FILTER_ATTACH_PARAMETERS . NDIS pasa un puntero a esta estructura en el parámetro AttachParameters cuando llama a la función FilterAttach de la extensión.
[in] ExtensionFriendlyName
Puntero a una estructura de UNICODE_STRING que contiene el nombre descriptivo de la extensión. Este nombre se define mediante la entrada DisplayName en la Directiva AddService del archivo INF de la extensión.
[in] PortId
Valor de NDIS_SWITCH_PORT_ID que especifica un puerto de conmutador extensible. Para obtener más información, vea la sección Comentarios.
[in] Flags
Valor UINT32. Cuando se especifica la marca NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING, indica que el miembro PortId define el origen del paquete descartado. Cuando no se especifica, el miembro PortId define el puerto de conmutador extensible de destino. Para obtener más información, vea la sección Comentarios.
[in] NumberOfNetBufferLists
Valor UINT32 que contiene el número de estructuras de NET_BUFFER_LIST especificadas por el parámetro NetBufferLists .
[in] NetBufferLists
Puntero a una lista vinculada de estructuras de NET_BUFFER_LIST .
[in, optional] FilterReason
Puntero a una estructura de UNICODE_STRING que contiene una descripción fácil de usar del motivo de la eliminación o exclusión de los paquetes. Para obtener más información, vea la sección Comentarios.
Valor devuelto
None
Observaciones
Cuando la extensión excluye la entrega de un paquete a un puerto de conmutador extensible, debe llamar a ReportFilteredNetBufferLists. Cuando se llama a esta función, el módulo de conmutador extensible incrementa los contadores y registra los eventos de los paquetes descartados o excluidos. Cuando registra un evento para un conjunto descartado o excluido de paquetes, el módulo de conmutador extensible usa la descripción fácil de usar especificada por el parámetro FilterReason .
La extensión puede excluir la entrega de un paquete de las siguientes maneras:
- La extensión completa el paquete en lugar de reenviarlo a través de la pila de controladores de conmutador extensible. Por ejemplo, la extensión puede llamar a NdisFSendNetBufferListsComplete para quitar un paquete que inspeccionó cuando NDIS llama a su función FilterSendNetBufferLists .
-
La extensión cambia los puertos de destino de un paquete. Por ejemplo, la extensión debe llamar a ReportFilteredNetBufferLists si establece el miembro IsExcluded en TRUE en la estructura NDIS_SWITCH_PORT_DESTINATION para un puerto de destino del paquete.
Para obtener más información sobre cómo excluir la entrega de paquetes a puertos de conmutador extensibles, consulte Exclusión de la entrega de paquetes a puertos de destino de conmutador extensible.
- El parámetro NetBufferLists especificó una lista vinculada de estructuras de NET_BUFFER_LIST . Todos los paquetes especificados por estas estructuras deben haberse recibido o enviado al mismo puerto, y se quitaron o excluyeron por el mismo motivo.
- Si el paquete se quita debido a la directiva basada en el puerto de origen, se debe especificar la marca NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING. La extensión también debe establecer el parámetro PortId en el identificador del puerto desde el que se recibió el paquete.
- Si el paquete se quita debido a la directiva basada en el puerto de destino, no se debe especificar la marca NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING. La extensión también debe establecer el parámetro PortId en el identificador del puerto al que se va a enviar el paquete.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.30 y versiones posteriores. |
Plataforma de destino | Escritorio |
Encabezado | ndis.h (incluya Ndis.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