NdisAdjustMdlLength-Makro (ndis.h)
Die Funktion NdisAdjustMdlLength ändert die Länge der Daten, die einer MDL zugeordnet sind.
Syntax
void NdisAdjustMdlLength(
[in] _Mdl,
[in] _Length
);
Parameter
[in] _Mdl
Ein Zeiger auf eine Speicherdeskriptorliste (Memory Descriptor List, MDL).
[in] _Length
Die Anzahl von Datenbytes, die die MDL beschreibt.
Rückgabewert
Keine
Bemerkungen
Die NdisAdjustMdlLength-Funktion ändert das ByteCount-Element einer MDL, die durch Aufrufen der NdisAllocateMdl-Funktion zugeordnet wurde.
Der Aufrufer von NdisAdjustMdlLength kann nur einen MDL-Deskriptor übergeben, den der Aufrufer zugewiesen hat. Ein MDL-Deskriptor, den ein anderer Treiber zugewiesen hat, kann nicht übergeben werden.
Beispielsweise ruft der Treiber einer Bus-master DMA-NIC NdisAdjustMdlLength mit MDL-Deskriptoren auf, die er zugewiesen hat, um Empfangs-MDLs im freigegebenen Speicherblock anzugeben. Bevor ein solcher Treiber empfangene Daten angibt, ruft er NdisAdjustMdlLength auf, um den MDL-Deskriptor, den er in die Empfangsanzeige aufnehmen wird, mit der Größe der empfangenen Daten übereinzupassen, wenn er kleiner als die Größe des Empfangspuffers der NIC ist.
Die Länge, die an NdisAdjustMdlLength übergeben wird, darf nicht größer als die Länge sein, die an NdisAllocateMdl übergeben wurde, als der MDL-Deskriptor zugewiesen wurde.
Der Aufrufer von NdisAdjustMdlLength muss die Länge auf den ursprünglichen Wert wiederherstellen, bevor er den MDL-Deskriptor mit NdisFreeMdl freigibt.
Aufrufer von NdisAdjustMdlLength können in jedem IRQL ausgeführt werden, werden jedoch in der Regel mit IRQL <= DISPATCH_LEVEL ausgeführt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
IRQL | Beliebige Ebene (siehe Abschnitt Hinweise) |