Función NdisAllocateBuffer (ndis.h)
Nota NDIS 5. x ha quedado en desuso y se sustituye por NDIS 6. x. Para el nuevo desarrollo de controladores NDIS, consulte Controladores de red a partir de Windows Vista. Para obtener información sobre cómo migrar NDIS 5. controladores x a NDIS 6. x, consulte Porting NDIS 5.x Drivers to NDIS 6.0.
NdisAllocateBuffer crea un descriptor de búfer que asigna un intervalo virtual (sub)especificado dentro de un bloque de memoria no paginado ya asignado.
Sintaxis
void NdisAllocateBuffer(
[out] PNDIS_STATUS Status,
[out] PNDIS_BUFFER *Buffer,
[in, optional] NDIS_HANDLE PoolHandle,
[in] PVOID VirtualAddress,
[in] UINT Length
);
Parámetros
[out] Status
Puntero a una variable proporcionada por el autor de la llamada en la que esta función devuelve el estado final de la asignación del búfer, que es NDIS_STATUS_SUCCESS si devolvió un puntero de descriptor de búfer válido en Búfer y, de lo contrario, NDIS_STATUS_FAILURE.
[out] Buffer
Puntero a una variable proporcionada por el autor de la llamada en la que esta función devuelve un puntero al descriptor de búfer asignado.
[in, optional] PoolHandle
Especifica el identificador devuelto por una llamada anterior a NdisAllocateBufferPool.
[in] VirtualAddress
Puntero a la dirección virtual base de la memoria de espacio del sistema asignada previamente que se asignará en el descriptor de búfer devuelto.
[in] Length
Especifica el número de bytes que se van a asignar.
Valor devuelto
Ninguno
Observaciones
Valor devuelto: Ninguno
NdisAllocateBuffer asigna almacenamiento para e inicializa un descriptor de búfer para asignar un intervalo especificado de memoria asignada previamente, como la memoria usada para un encabezado de paquete o un búfer de recepción de NIC.
La asignación de descriptores de búfer se basa en el grupo de búferes que crea NdisAllocateBufferPool. Un controlador puede llamar a NdisAllocateBuffer tantas veces como sea necesario para asignar los descriptores de búfer que requiere si se llama a NdisAllocateBufferPool durante la inicialización.
Todos los controladores NDIS de nivel inferior deben asignar todos los descriptores de búfer que encadenan a paquetes del grupo de búferes. Solo se pueden asignar descriptores dependientes del sistema operativo que asignan intervalos de memoria virtual y, si estos descriptores de memoria son equivalentes a descriptores de búfer NDIS, un protocolo de nivel superior puede pasar estos descriptores como parámetros a NdisXxx funciones.
- Plataforma de destino: universal de
Requisitos
Requisito | Valor |
---|---|
encabezado de | ndis.h (incluya Ndis.h) |
biblioteca de | Ndis.lib |
irQL | IRQL <= DISPATCH_LEVEL |
Consulte también
- NdisAllocateBufferPool
- NdisAllocateMemoryWithTag
- NdisFreeBuffer