Compartilhar via


Macro NdisAdjustMdlLength (ndis.h)

A função NdisAdjustMdlLength modifica o comprimento dos dados associados a um MDL.

Sintaxe

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

Parâmetros

[in] _Mdl

Um ponteiro para uma MDL (lista de descritores de memória).

[in] _Length

O número de bytes de dados que o MDL descreve.

Retornar valor

Nenhum

Comentários

A função NdisAdjustMdlLength modifica o membro ByteCount de um MDL alocado chamando a função NdisAllocateMdl .

O chamador de NdisAdjustMdlLength pode passar apenas um descritor MDL que o chamador alocou. Ele não pode passar um descritor MDL alocado por outro driver.

Por exemplo, o driver de uma NIC de DMA master de barramento chama NdisAdjustMdlLength com descritores MDL alocados para especificar MDLs de recebimento em seu bloco de memória compartilhada. Antes que esse driver indique os dados recebidos, ele chama NdisAdjustMdlLength para tornar o descritor MDL que ele incluirá na indicação de recebimento corresponder ao tamanho dos dados recebidos se ele for menor que o tamanho do buffer de recebimento da NIC.

O comprimento passado para NdisAdjustMdlLength não pode ser maior do que o comprimento passado para NdisAllocateMdl quando o descritor MDL foi alocado.

O chamador de NdisAdjustMdlLength deve restaurar o comprimento para seu valor original antes de liberar o descritor MDL com NdisFreeMdl.

Os chamadores de NdisAdjustMdlLength podem ser executados em qualquer IRQL, mas normalmente são executados em IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
IRQL Qualquer nível (consulte a seção Comentários)

Confira também

NdisAllocateMdl

NdisFreeMdl