NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS función de devolución de llamada (ndis.h)
La extensión de conmutador extensible 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 conmutadores 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 NDIS_SWITCH_CONTEXT que contiene el identificador del módulo de conmutador extensible al que se adjunta la extensión de conmutador extensible 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 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 NDIS_STATUS_código de error xxx definido en Ndis.h.
Observaciones
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 Destinos, que contiene un puntero a una estructura de NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Cada elemento de esta matriz tiene el formato de una 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 excluir la entrega de paquetes a puertos de destino de conmutador extensible.
Además, después de confirmar los cambios de los puertos de destino, no se pueden quitar los puertos de destino y solo se puede cambiar el IsExcluded miembro de la estructura de NDIS_SWITCH_PORT_DESTINATION de un puerto de destino. Para obtener más información, vea excluir la entrega de paquetes a puertos de destino de conmutador extensible.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Compatible con NDIS 6.30 y versiones posteriores. |
de la plataforma de destino de | Escritorio |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | <= DISPATCH_LEVEL |
Consulte también
AllocateNetBufferListForwardingContext