Freigeben über


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)

Siehe auch

NET_BUFFER

NdisRetreatNetBufferDataStart-

NetAllocateMdl-

NetFreeMdl-