Freigeben über


NdisRetreatNetBufferDataStart-Funktion (ndis/nblapi.h)

Rufen Sie die NdisRetreatNetBufferDataStart--Funktion auf, um mehr verwendeten Datenbereich in der MDL-Kette einer NET_BUFFER-Struktur zuzugreifen.

Syntax

NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferDataStart(
  [in]           NET_BUFFER              *NetBuffer,
  [in]           ULONG                   DataOffsetDelta,
  [in]           ULONG                   DataBackFill,
  [in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler
);

Parameter

[in] NetBuffer

Ein Zeiger auf eine zuvor zugeordnete NET_BUFFER Struktur.

[in] DataOffsetDelta

Die Menge verwendeten Datenbereichs hinzugefügt werden. NDIS passt das DataOffset Member der NET_BUFFER Struktur entsprechend an. Wenn nicht genügend nicht genutzter Datenbereich vorhanden ist, die Anforderung zu erfüllen, weist NDIS zusätzlichen Arbeitsspeicher zu.

[in] DataBackFill

Wenn NDIS Arbeitsspeicher zuweisen muss, gibt dieser Parameter zusätzlich zum Wert des DataOffsetDelta--Parameters die Menge des Datenraums an, der zugewiesen werden soll.

[in, optional] AllocateMdlHandler

Ein optionaler Einstiegspunkt für eine NetAllocateMdl--Funktion. Wenn der Aufrufer einen Einstiegspunkt für die NetAllocateMdl--Funktion angibt, ruft NDIS NetAllocateMdl auf, um eine MDL und einen Arbeitsspeicher zuzuweisen.

Rückgabewert

NdisRetreatNetBufferDataStart gibt eine der folgenden Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
NdisRetreatNetBufferDataStart erfolgreich verwendeten Datenraum zugeordnet entweder mithilfe des nicht verwendeten Datenbereichs oder durch Zuweisung neuer Speicher.
NDIS_STATUS_RESOURCES
NdisRetreatNetBufferDataStart aufgrund unzureichender Ressourcen fehlgeschlagen.
NDIS_STATUS_FAILURE
NdisRetreatNetBufferDataStart aus anderen Gründen als unzureichenden Ressourcen fehlgeschlagen.

Bemerkungen

NdisRetreatNetBufferDataStart versucht, die Anforderung zu erfüllen, indem der Wert des DataOffset- Elements der NET_BUFFER-Struktur reduziert wird.

Wenn nicht genügend nicht genutzter Datenbereichvorhanden ist, weist diese Funktion einen neuen Puffer und eine MDL zu, um den neuen Puffer zu beschreiben und die neue MDL mit dem Anfang der MDL-Kette zu verknüpfen. NDIS ruft die NetAllocateMdl Funktion auf, die bei AllocateMdl- angegeben ist, um die MDL und den Arbeitsspeicher zuzuweisen. Die NetAllocateMdl--Funktion kann jede Zuordnungsmethode verwenden, die den Entwurfsanforderungen des Treibers entspricht.

Rufen Sie die NdisAdvanceNetBufferDataStart- Funktion, um den verwendeten Datenbereich freizugeben,, das mit NdisRetreatNetBufferDataStarthinzugefügt wurde.

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

NdisAdvanceNetBufferDataStart-

NetAllocateMdl-