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 .

Nota Si el parámetro NetBufferList contiene un puntero a una lista vinculada de varias estructuras de NET_BUFFER_LIST , los puertos de destino solo se devuelven de la primera estructura NET_BUFFER_LIST de la lista.
 

[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:

Nota Se garantiza que la estructura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY sea válida mientras la extensión conserva la propiedad de la estructura NET_BUFFER_LIST del 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

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers