NdisAdvanceNetBufferDataStart-Funktion (ndis/nblapi.h)
Rufen Sie die NdisAdvanceNetBufferDataStart--Funktion auf, um den verwendeten Datenbereich freizugeben, der mit der 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 zugeordnete NET_BUFFER Struktur.
[in] DataOffsetDelta
Die Menge verwendeten Datenbereichs freigeben. NDIS passt den Wert des DataOffset- Elements der NET_BUFFER Struktur entsprechend an.
[in] FreeMdl
Ein BOOLESCHER Wert, der, wenn TRUE, NDIS anfordert, alle MDLs freizusetzen, die im Vorausvorgang nicht verwendet werden. Wenn FreeMdlFALSEist, behält NDIS nicht verwendete MDLs für die Verwendung in nachfolgenden Retreat-Operationen 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 einen Arbeitsspeicher freizugeben.
Rückgabewert
Nichts
Bemerkungen
Wenn NDIS Speicher zugewiesen hat, um einen entsprechenden Aufruf an den NdisRetreatNetBufferDataStart--Funktion frei, und NdisAdvanceNetBufferDataStart den Speicher frei, der NdisRetreatNetBufferDataStart zugeordnet. Andernfalls verbleibt der Speicher in der MDL, und nur der Wert des DataOffset Member der NET_BUFFER-Struktur wird geändert.
NDIS ruft die NetFreeMdl- Funktion auf, die bei FreeMdl- angegeben ist, wenn NdisAdvanceNetBufferDataStart- Arbeitsspeicher freigeben muss. NDIS ruft NetFreeMdl nur zum Freigeben der MDLs und des Arbeitsspeichers auf, den der Treiber in der NetAllocateMdl--Funktion zugewiesen hat.
Wenn Protokolltreiber NdisAdvanceNetBufferDataStart auf dem Empfangspfad aufrufen, um auf die verschiedenen Transportheader zuzugreifen, sollte die MDL-Kette nicht geändert werden, und FreeMdl-FALSEist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Universal |
Header- | ndis/nblapi.h (include ndis.h) |
Library | Ndis.lib |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_NetBuffer_Function(ndis) |