NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS función de devolución de llamada (ndis.h)
La función GetNetBufferListDestinations devuelve los puertos de destino de conmutador extensible de Hyper-V de un paquete especificado por una estructura NET_BUFFER_LIST .
Sintaxis
NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;
void NdisSwitchGetNetBufferListDestinations(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList,
[out] 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 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 lista vinculada de estructuras de NET_BUFFER_LIST .
[out] Destinations
Puntero a una estructura de NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Esta estructura especifica los puertos de destino de 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 de conmutador extensible para un paquete. Si la función devuelve correctamente, la matriz se obtiene a través del parámetro Destination , que contiene un puntero a una estructura 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.
Si la extensión asigna un paquete, la extensión primero debe llamar a la función AllocateNetBufferListForwardingContext antes de llamar a GetNetBufferListDestinations. La función AllocateNetBufferListForwardingContext asigna el contexto de reenvío de conmutador extensible para el paquete. Este contexto contiene los datos de conmutador extensibles fuera de banda (OOB) que incluyen la estructura de NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
Para obtener más información sobre el contexto de reenvío de conmutador extensible, consulte Contexto de reenvío de conmutador extensible de Hyper-V.
Una vez que la extensión ha obtenido la matriz, puede hacer lo siguiente:
-
Asigne espacio para los elementos de NDIS_SWITCH_PORT_DESTINATION adicionales de la matriz.
Para obtener más información, vea Agregar datos de puerto de destino de conmutador extensible a un paquete.
-
Modifique la información del puerto de destino en los elementos NDIS_SWITCH_PORT_DESTINATION de la matriz. Por ejemplo, la extensión puede especificar a qué puerto se va a reenviar el paquete o puede excluir un paquete de reenviarse a un puerto especificado.
Para obtener más información, vea Modificar los datos de puerto de origen de conmutador extensible de un paquete.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.30 y versiones posteriores. |
Plataforma de destino | Escritorio |
Encabezado | ndis.h (incluya Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Consulte también
AllocateNetBufferListForwardingContext