Macro NdisAdjustMdlLength (ndis.h)
La función NdisAdjustMdlLength modifica la longitud de los datos asociados a una 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
Ninguno
Observaciones
La función NdisAdjustMdlLength modifica el miembro byteCount de de un MDL asignado llamando a la función NdisAllocateMdl.
El autor de la llamada de NdisAdjustMdlLength solo puede pasar un descriptor MDL asignado. No puede pasar un descriptor MDL que otro controlador asignó.
Por ejemplo, el controlador de una NIC DMA de bus-master llama a NdisAdjustMdlLength con descriptores MDL que asignó para especificar mdl de recepción en su bloque de memoria compartida. Antes de que este 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 pueden ejecutarse en cualquier IRQL, pero normalmente se ejecutan en IRQL <= DISPATCH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Escritorio |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | Cualquier nivel (consulte la sección Comentarios) |