Macro NdisAdjustMdlLength (ndis.h)

La funzione NdisAdjustMdlLength modifica la lunghezza dei dati associati a un MDL.

Sintassi

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

Parametri

[in] _Mdl

Puntatore a un elenco di descrittori di memoria (MDL).

[in] _Length

Numero di byte di dati descritti dal linguaggio MDL.

Valore restituito

nessuno

Osservazioni

La funzione NdisAdjustMdlLength modifica il membro ByteCount di un MDL allocato chiamando la funzione NdisAllocateMdl .

Il chiamante di NdisAdjustMdlLength può passare solo un descrittore MDL allocato dal chiamante. Non può passare un descrittore MDL allocato da un altro driver.

Ad esempio, il driver di una scheda di interfaccia di rete DMA master del bus chiama NdisAdjustMdlLength con descrittori MDL allocati per specificare gli ELENCHI di dati di ricezione nel blocco di memoria condivisa. Prima che tale driver indichi i dati ricevuti, chiama NdisAdjustMdlLength per fare in modo che il descrittore MDL che includerà nell'indicazione di ricezione corrisponda alle dimensioni dei dati ricevuti se è minore delle dimensioni del buffer di ricezione della scheda di interfaccia di rete.

La lunghezza passata a NdisAdjustMdlLength non può essere maggiore della lunghezza passata a NdisAllocateMdl quando è stato allocato il descrittore MDL.

Il chiamante di NdisAdjustMdlLength deve ripristinare la lunghezza sul valore originale prima di liberare il descrittore MDL con NdisFreeMdl.

I chiamanti di NdisAdjustMdlLength possono essere eseguiti in qualsiasi IRQL, ma in genere vengono eseguiti in IRQL <= DISPATCH_LEVEL.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Desktop
Intestazione ndis.h (include Ndis.h)
IRQL Qualsiasi livello (vedere la sezione Osservazioni)

Vedi anche

NdisAllocateMdl

NdisFreeMdl