Compartir a través de


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 Hyper-V de un paquete especificado por una estructura de 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 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 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 de NET_BUFFER_LIST de la lista.
 

[out] 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 de, 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 debe llamar primero a la función AllocateNetBufferListForwardingContext antes de llamar a GetNetBufferListDestinations. La función AllocateNetBufferListForwardingContext asigna el contexto de reenvío extensible del conmutador 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 extensible de conmutadores, vea Hyper-V contexto de reenvío extensible de conmutadores.

Una vez que la extensión haya 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 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

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers