estructura NET_BUFFER_LIST_POOL_PARAMETERS (ndis/nblapi.h)

La estructura NET_BUFFER_LIST_POOL_PARAMETERS define los parámetros de un grupo de estructuras de NET_BUFFER_LIST .

Sintaxis

typedef struct _NET_BUFFER_LIST_POOL_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  UCHAR              ProtocolId;
  BOOLEAN            fAllocateNetBuffer;
  USHORT             ContextSize;
  ULONG              PoolTag;
  ULONG              DataSize;
  ULONG              Flags;
} NET_BUFFER_LIST_POOL_PARAMETERS, *PNET_BUFFER_LIST_POOL_PARAMETERS;

Miembros

Header

Tipo, revisión y tamaño de la estructura NET_BUFFER_LIST_POOL_PARAMETERS . Este miembro tiene el formato de estructura NDIS_OBJECT_HEADER .

El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_DEFAULT. Para especificar la versión de la estructura de NET_BUFFER_LIST_POOL_PARAMETERS , el controlador debe establecer el miembro Revision de Header en el siguiente valor:

NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1

Versión original de NDIS 6.0.

Establezca el miembro Size en NDIS_SIZEOF_NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1.

ProtocolId

Tipo de llamador. Los controladores intermedios, de filtro y miniporte establecen este campo en cero (NDIS_PROTOCOL_ID_DEFAULT). Los controladores de protocolo usan uno de los siguientes valores:

NDIS_PROTOCOL_ID_DEFAULT

Especifica un identificador de controlador de protocolo predeterminado.

NDIS_PROTOCOL_ID_TCP_IP

Especifica el protocolo TCP/IP.

NDIS_PROTOCOL_ID_IPX

Especifica el protocolo IPX.

NDIS_PROTOCOL_ID_NBF

Especifica el protocolo NetBEUI.

fAllocateNetBuffer

Si este miembro se establece en TRUE, NDIS asigna un grupo de estructuras de NET_BUFFER_LIST . Cada estructura de NET_BUFFER_LIST asignada se inicializa con una estructura NET_BUFFER .

Si este miembro se establece en FALSE, NDIS asigna un grupo de estructuras NET_BUFFER_LIST . Cada estructura de NET_BUFFER_LIST asignada no se inicializa para contener ninguna estructura de NET_BUFFER .

Para obtener más información, vea la sección Comentarios.

ContextSize

El tamaño, en bytes, de los datos de estructura NET_BUFFER_LIST_CONTEXT asignados previamente que NDIS debe proporcionar para las estructuras de NET_BUFFER_LIST de este grupo. ContextSize debe ser un múltiplo del valor definido por MEMORY_ALLOCATION_ALIGNMENT.

PoolTag

Etiqueta de grupo de kernel que el autor de la llamada usa cuando asigna NET_BUFFER_LIST estructuras de este grupo. La etiqueta es una cadena, delimitada por comillas simples, con hasta cuatro caracteres, normalmente especificada en orden invertido. La etiqueta del grupo de kernel ayuda a NDIS a identificar el propietario de las estructuras de NET_BUFFER_LIST asignadas desde este grupo.

DataSize

Tamaño de datos predeterminado, en bytes, para los búferes de datos asociados a este grupo de NET_BUFFER_LIST , si existe. NDIS usa este valor para establecer el tamaño de los búferes de datos que asigna para las estructuras de NET_BUFFER asociadas.

Para obtener más información, vea la sección Comentarios.

Flags

Se define la marca siguiente:

NET_BUFFER_LIST_POOL_FLAG_VERIFY 0x00000001

Si se establece esta marca, NDIS no volverá a usar inmediatamente NET_BUFFER_LISTs de este grupo. En su lugar, las asignaciones se marcarán como sin acceso cuando se liberen para que los controladores puedan detectar errores de uso después de liberar.

Comentarios

Si fAllocateNetBuffer está establecido en FALSE, NDIS no asignará NET_BUFFER estructuras y DataSize debe establecerse en cero.

Si DataSize no es cero, fAllocateNetBuffer debe establecerse en TRUE. Esto hace que NDIS asigne la estructura NET_BUFFER con un búfer de datos del tamaño especificado.

Si DataSize es cero y fAllocateNetBuffer es TRUE, NDIS asigna la estructura NET_BUFFER pero no el búfer de datos.

El parámetro Parameters de la función NdisAllocateNetBufferListPool contiene un puntero a una estructura NET_BUFFER_LIST_POOL_PARAMETERS .

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Encabezado ndis/nblapi.h (include ndis.h)

Consulte también

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool