NdisAdvanceNetBufferDataStart-Funktion (ndis/nblapi.h)
Rufen Sie die NdisAdvanceNetBufferDataStart-Funktion auf, um den verwendeten Datenbereich freizugeben, der mit dem hinzugefügt wurde NdisRetreatNetBufferDataStart-Funktion .
Syntax
NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] BOOLEAN FreeMdl,
[in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
Parameter
[in] NetBuffer
Ein Zeiger auf eine zuvor zugewiesene NET_BUFFER Struktur.
[in] DataOffsetDelta
Die Menge des zu freigebenden Datenspeichers . NDIS passt den Wert des DataOffset-Elements der NET_BUFFER-Struktur entsprechend an.
[in] FreeMdl
Ein BOOLEAN-Wert, der, wenn TRUE, NDIS anfordert, um alle MDLs frei zu geben, die im Vorausvorgang nicht verwendet werden. Wenn FreeMdlFALSE ist, behält NDIS nicht verwendete MDLs für nachfolgende Rückzugsvorgänge bei.
[in, optional] FreeMdlHandler
Ein optionaler Einstiegspunkt für eine NetFreeMdl-Funktion . Wenn der Aufrufer einen Einstiegspunkt für die NetFreeMdl-Funktion angibt, ruft NDIS NetFreeMdl auf, um eine MDL und Arbeitsspeicher freizugeben.
Rückgabewert
Keine
Bemerkungen
Wenn NDIS Arbeitsspeicher zugewiesen hat, um einen entsprechenden Aufruf des NdisRetreatNetBufferDataStart-Funktion und dann NdisAdvanceNetBufferDataStart gibt den Speicher frei, den NdisRetreatNetBufferDataStart zugewiesen hat. Andernfalls verbleibt der Arbeitsspeicher in der MDL, und nur der Wert des DataOffset-Elements der NET_BUFFER-Struktur wird geändert.
NDIS ruft die unter FreeMdl angegebene NetFreeMdl-Funktion auf, wenn NdisAdvanceNetBufferDataStart Arbeitsspeicher freigeben muss. NDIS ruft NetFreeMdl nur auf, um die MDLs und den Arbeitsspeicher freizugeben, die der Treiber in der NetAllocateMdl-Funktion zugewiesen hat.
Wenn Protokolltreiber NdisAdvanceNetBufferDataStart im Empfangspfad aufrufen, um auf die verschiedenen Transportheader zuzugreifen, sollte die MDL-Kette nicht geändert werden, und FreeMdl ist FALSE.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Universell |
Header | ndis/nblapi.h (einschließlich ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_NetBuffer_Function(ndis) |