Macro NdisAdjustMdlLength (ndis.h)

La función NdisAdjustMdlLength modifica la longitud de los datos asociados a un MDL.

Sintaxis

void NdisAdjustMdlLength(
  [in]  _Mdl,
  [in]  _Length
);

Parámetros

[in] _Mdl

Puntero a una lista de descriptores de memoria (MDL).

[in] _Length

Número de bytes de datos que describe MDL.

Valor devuelto

None

Observaciones

La función NdisAdjustMdlLength modifica el miembro ByteCount de una MDL asignada mediante una llamada a la función NdisAllocateMdl .

El autor de la llamada de NdisAdjustMdlLength solo puede pasar un descriptor MDL que el autor de la llamada asignó. No puede pasar un descriptor MDL asignado a otro controlador.

Por ejemplo, el controlador de una NIC DMA de maestro de bus llama a NdisAdjustMdlLength con descriptores MDL asignados para especificar mdl de recepción en su bloque de memoria compartida. Antes de que dicho controlador indique los datos recibidos, llama a NdisAdjustMdlLength para que el descriptor MDL que incluya en la indicación de recepción coincida con el tamaño de los datos recibidos si es menor que el tamaño del búfer de recepción de la NIC.

La longitud que se pasa a NdisAdjustMdlLength no puede ser mayor que la longitud que se pasó a NdisAllocateMdl cuando se asignó el descriptor MDL.

El autor de la llamada de NdisAdjustMdlLength debe restaurar la longitud a su valor original antes de liberar el descriptor MDL con NdisFreeMdl.

Los autores de llamadas de NdisAdjustMdlLength se pueden ejecutar en cualquier IRQL, pero normalmente se ejecutan en IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
IRQL Cualquier nivel (consulte la sección Comentarios)

Consulte también

NdisAllocateMdl

NdisFreeMdl