Compartir a través de


Función FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)

La función FwpsAllocateNetBufferAndNetBufferList0 asigna una nueva estructura de NET_BUFFER_LIST .

NotaFwpsAllocateNetBufferAndNetBufferList0 es una versión específica de FwpsAllocateNetBufferAndNetBufferList. Para obtener más información, vea NOMBRES DE Version-Independent DE PMA y versiones específicas de Windows dirigidas a destinatarios.
 

Sintaxis

NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
  [in]           NDIS_HANDLE     poolHandle,
  [in]           USHORT          contextSize,
  [in]           USHORT          contextBackFill,
  [in, optional] MDL             *mdlChain,
  [in]           ULONG           dataOffset,
  [in]           SIZE_T          dataLength,
  [out]          NET_BUFFER_LIST **netBufferList
);

Parámetros

[in] poolHandle

Identificador de grupo de NET_BUFFER_LIST que se obtuvo de una llamada anterior a la función NdisAllocateNetBufferListPool .

[in] contextSize

Tamaño, en bytes, del espacio de datos usado en la estructura NET_BUFFER_LIST_CONTEXT que se reserva para el controlador de globo. El valor de este parámetro debe ser un múltiplo del valor definido por MEMORY_ALLOCATION_ALIGNMENT.

[in] contextBackFill

Tamaño, en bytes, del espacio de datos sin usar (espacio de reposición) que requiere el controlador de llamada. La función FwpsAllocateNetBufferAndNetBufferList0 agrega este valor al valor especificado en el parámetro ContextSize y asigna espacio adicional. El valor de este parámetro debe ser un múltiplo del valor definido por MEMORY_ALLOCATION_ALIGNMENT.

[in, optional] mdlChain

Puntero a una cadena MDL que se usa para inicializar la estructura de NET_BUFFER preasignada. Este parámetro es opcional y puede ser NULL.

[in] dataOffset

Desplazamiento inicial, en bytes, desde el inicio del búfer hasta el inicio del espacio de datos usado en la cadena MDL. El espacio de datos delante de este desplazamiento es un espacio de datos sin usar. Por lo tanto, este valor también representa la cantidad inicial de espacio de reposición disponible en la cadena MDL.

[in] dataLength

Longitud, en bytes, del espacio de datos usado en la cadena MDL.

[out] netBufferList

Puntero a una variable que recibe un puntero a la nueva estructura de NET_BUFFER_LIST .

Valor devuelto

La función FwpsAllocateNetBufferAndNetBufferList0 devuelve uno de los siguientes códigos NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
La nueva estructura de NET_BUFFER_LIST se asignó correctamente.
Otros códigos de estado
Se produjo un error.

Comentarios

Un controlador de llamada llama a la función FwpsAllocateNetBufferAndNetBufferList0 para asignar una nueva estructura de NET_BUFFER_LIST .

Esta función es un contenedor alrededor de Función NdisAllocateNetBufferAndNetBufferList , pero está especializada para su uso por las funciones de inyección de paquetes DE PMA.

Una vez que los datos descritos por la nueva estructura de NET_BUFFER_LIST se han insertado correctamente en la pila de red, el controlador de llamada libera la nueva estructura de NET_BUFFER_LIST mediante una llamada a . Función FwpsFreeNetBufferList0 .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
Plataforma de destino Universal
Encabezado fwpsk.h (incluya Fwpsk.h)
Library Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Consulte también

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

Funciones de inyección de paquetes