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) |