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) |