Compartir a través de


MINIPORT_RETURN_NET_BUFFER_LISTS función de devolución de llamada (ndis.h)

NDIS llama a la función MiniportReturnNetBufferLists para devolver la propiedad de NET_BUFFER_LIST estructuras, estructuras de NET_BUFFER asociadas y cualquier MDL adjunta a un controlador de miniport.

Nota Debe declarar la función mediante el tipo MINIPORT_RETURN_NET_BUFFER_LISTS . Para obtener más información, consulte la sección Ejemplos siguientes.
 

Sintaxis

MINIPORT_RETURN_NET_BUFFER_LISTS MiniportReturnNetBufferLists;

void MiniportReturnNetBufferLists(
  [in] NDIS_HANDLE MiniportAdapterContext,
  [in] PNET_BUFFER_LIST NetBufferLists,
  [in] ULONG ReturnFlags
)
{...}

Parámetros

[in] MiniportAdapterContext

Identificador de un área de contexto que el controlador de minipuerto asignó en su función MiniportInitializeEx . El controlador de minipuerto usa este área de contexto para mantener la información de estado sobre un adaptador.

[in] NetBufferLists

Puntero a una lista vinculada de estructuras de NET_BUFFER_LIST que NDIS devuelve al controlador de minipuerto. La lista vinculada puede contener estructuras NET_BUFFER_LIST de varias llamadas anteriores a . Función NdisMIndicateReceiveNetBufferLists .

[in] ReturnFlags

Marcas NDIS que se pueden combinar con una operación OR. Esta función admite la marca NDIS_RETURN_FLAGS_DISPATCH_LEVEL que, si se establece, indica que el IRQL actual está DISPATCH_LEVEL. Para obtener más información sobre esta marca, vea Dispatch IRQL Tracking.

Valor devuelto

None

Observaciones

MiniportReturnNetBufferLists es una función necesaria para los controladores de miniporte que indican los datos de red recibidos con el Función NdisMIndicateReceiveNetBufferLists . Cuando un controlador de sobreaprovisionamiento llama a La función NdisReturnNetBufferLists , NDIS llama a la función MiniportReturnNetBufferLists del controlador de miniporte que indica las estructuras de NET_BUFFER_LIST especificadas.

MiniportReturnNetBufferLists puede preparar una estructura de NET_BUFFER_LIST devuelta para su uso en una indicación de recepción posterior. Aunque MiniportReturnNetBufferLists puede devolver las estructuras NET_BUFFER_LIST a un grupo (por ejemplo, podría llamar a la función NdisFreeNetBufferList ), puede ser más eficaz reutilizar las estructuras sin devolverlas al grupo.

NDIS llama a MiniportReturnNetBufferLists en IRQL<= DISPATCH_LEVEL.

Ejemplos

Para definir una función MiniportReturnNetBufferLists , primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir una función MiniportReturnNetBufferLists denominada "MyReturnNetBufferLists", use el tipo MINIPORT_RETURN_NET_BUFFER_LISTS como se muestra en este ejemplo de código:

MINIPORT_RETURN_NET_BUFFER_LISTS MyReturnNetBufferLists;

A continuación, implemente la función de la siguiente manera:

_Use_decl_annotations_
VOID
 MyReturnNetBufferLists(
    NDIS_HANDLE  MiniportAdapterContext,
    PNET_BUFFER_LIST  NetBufferLists,
    ULONG  ReturnFlags
    )
  {...}

El tipo de función MINIPORT_RETURN_NET_BUFFER_LISTS se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función MINIPORT_RETURN_NET_BUFFER_LISTS en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, consulte Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.

Para obtener información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Plataforma de destino Windows
Encabezado ndis.h (incluya Ndis.h)
IRQL <= DISPATCH_LEVEL

Consulte también

MiniportInitializeEx

NET_BUFFER

NET_BUFFER_LIST

NdisFreeNetBufferList

NdisMIndicateReceiveNetBufferLists

NdisReturnNetBufferLists