Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función AllocateNetBufferListForwardingContext prepara una estructura de NET_BUFFER_LIST para las operaciones de envío o recepción dentro del conmutador extensible.
Sintaxis
NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT NdisSwitchAllocateNetBufferListForwardingContext;
NDIS_STATUS NdisSwitchAllocateNetBufferListForwardingContext(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in, out] PNET_BUFFER_LIST NetBufferList
)
{...}
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.
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 puede originar operaciones de envío de paquetes dentro de la ruta de acceso de datos del conmutador extensible. Por ejemplo, la extensión puede enviar paquetes a cualquier puerto del conmutador extensible. Para obtener más información sobre esta ruta de acceso de datos, consulte Hyper-V ruta de acceso de datos de conmutador extensible.
Una vez que la extensión llama a NdisAllocateNetBufferList o NdisAllocateCloneNetBufferList para crear o clonar un paquete desde su grupo de NET_BUFFER_LIST, la extensión debe llamar a la función AllocateNetBufferListForwardingCon text. Esta función asigna e inicializa el contexto de reenvío extensible de conmutador fuera de banda (OOB) para la estructura de NET_BUFFER_LIST especificada. Para obtener más información sobre este contexto, vea Hyper-V contexto de reenvío extensible de conmutadores.
La extensión debe seguir estas instrucciones para asignar el contexto de reenvío a través de la función de AllocateNetBufferListForwardingContext:
-
La extensión llama a NdisAllocateNetBufferList para asignar un paquete del grupo de NET_BUFFER_LIST de la extensión para una operación de envío o recepción a través del conmutador extensible. Antes de que la extensión inicialice los puertos de origen y destino del paquete, debe llamar a AllocateNetBufferListForwardingContext.
Para obtener más información sobre cómo especificar puertos de conmutador extensible de origen y destino, vea Administración de Hyper-V origen de conmutador extensible y datos de puerto de destino.
- Antes de que la extensión llame a AllocateNetBufferListForwardingContext, debe establecer el sourceHandle miembro de cada estructura de NET_BUFFER_LIST asignada al valor de identificador que identifica la extensión. La extensión recibe este identificador a través del parámetro NdisFilterHandle cuando NDIS llama a la función FilterAttach de la extensión.
- Una vez completada la operación de envío, la extensión debe llamar a la función FreeNetBufferListForwardingContext para desasignar los recursos para el contexto de reenvío. La extensión debe llamar a esta función antes de llamar a NdisFreeNetBufferList para devolver el paquete a su grupo de NET_BUFFER_LIST.
- Si la extensión está clonando un paquete, debe llamar a CopyNetBufferListInfo para copiar el contexto de reenvío del paquete original al paquete clonado. La extensión debe hacerlo después de llamar a AllocateNetBufferListForwardingContext.
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
FreeNetBufferListForwardingContext