NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS función de devolución de llamada (ndis.h)
La extensión de conmutador extensible de Hyper-V llama a la función UpdateNetBufferListDestinations para confirmar las modificaciones realizadas en un paquete que contiene varios puertos de destino de conmutador extensible. La función guarda estas modificaciones en el contexto de reenvío extensible de conmutador fuera de banda (OOB) de la estructura NET_BUFFER_LIST del paquete.
Sintaxis
NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS NdisSwitchUpdateNetBufferListDestinations;
NDIS_STATUS NdisSwitchUpdateNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[in] UINT32 NumberOfNewDestinations,
[in] PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY Destinations
)
{...}
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, out] NetBufferList
Puntero a una estructura de NET_BUFFER_LIST para un único paquete.
[in] NumberOfNewDestinations
Valor UINT32 que especifica el número de puertos de destino nuevos que se agregaron al paquete.
[in] Destinations
Puntero a una estructura de NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Esta estructura especifica los puertos de destino del conmutador extensible del paquete.
Valor devuelto
Si la llamada se realiza correctamente, la función devuelve NDIS_STATUS_SUCCESS. De lo contrario, devuelve un código de error NDIS_STATUS_Xxx definido en Ndis.h.
Comentarios
La extensión de conmutador extensible llama a la función GetNetBufferListDestinations para obtener una matriz de los puertos de destino del conmutador extensible para un paquete. Si la función devuelve correctamente, la matriz se obtiene a través del parámetro Destinations , que contiene un puntero a una estructura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Cada elemento de esta matriz tiene el formato de estructura NDIS_SWITCH_PORT_DESTINATION que especifica un puerto de destino para el paquete.
Una vez que la extensión obtiene la estructura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY , la extensión puede hacer lo siguiente:
-
Agregue elementos NDIS_SWITCH_PORT_DESTINATION adicionales en la matriz.
Para obtener más información, vea Agregar datos de puerto de destino de conmutador extensible a un paquete.
-
Modifique los elementos NDIS_SWITCH_PORT_DESTINATION existentes de la matriz para excluir que un paquete se reenvíe a un puerto especificado.
Para obtener más información, vea Exclusión de la entrega de paquetes a puertos de destino de conmutador extensible.
Además, después de confirmar los cambios en los puertos de destino, no se pueden quitar los puertos de destino y solo se puede cambiar el miembro IsExcluded de la estructura NDIS_SWITCH_PORT_DESTINATION de un puerto de destino. Para obtener más información, vea Exclusión de la entrega de paquetes a puertos de destino de conmutador extensible.
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
AllocateNetBufferListForwardingContext