Freigeben über


NdisRetreatNetBufferListDataStart-Funktion (ndis/nblapi.h)

Rufen Sie die NdisRetreatNetBufferListDataStart--Funktion auf, um den verwendeten Daten bereich in allen NET_BUFFER Strukturen in einer NET_BUFFER_LIST Struktur zu erhöhen.

Syntax

NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferListDataStart(
  [in]           NET_BUFFER_LIST         *NetBufferList,
  [in]           ULONG                   DataOffsetDelta,
  [in]           ULONG                   DataBackFill,
  [in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler,
  [in, optional] NET_BUFFER_FREE_MDL     *FreeMdlHandler
);

Parameter

[in] NetBufferList

Ein Zeiger auf eine zuvor zugeordnete NET_BUFFER_LIST Struktur.

[in] DataOffsetDelta

Die Menge an zusätzlichen verwendeten Datenraum in jeder NET_BUFFER Struktur. Wenn nicht genügend nicht genutzter Datenspeicher vorhanden ist, die Anforderung zu erfüllen, weist NDIS mehr Arbeitsspeicher zu.

[in] DataBackFill

Wenn NDIS Arbeitsspeicher zuweisen muss, gibt dieser Parameter zusätzlich zum Wert des DataOffsetDelta- Zuteilungsparameters die Menge des Datenbereichs an.

[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.

[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

NdisRetreatNetBufferListDataStart gibt eine der folgenden Werte zurück:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
NdisRetreatNetBufferListDataStart den Datenbereich erfolgreich für alle NET_BUFFER Strukturen zugeordnet, indem entweder der Wert des DataOffset Members oder durch Zuweisung neuer Speicher reduziert wird.
NDIS_STATUS_RESOURCES
NdisRetreatNetBufferListDataStart aufgrund unzureichender Ressourcen fehlgeschlagen.
NDIS_STATUS_FAILURE
NdisRetreatNetBufferListDataStart aus anderen Gründen als unzureichenden Ressourcen fehlgeschlagen.

Bemerkungen

Das Aufrufen NdisRetreatNetBufferListDataStart- entspricht dem Aufrufen der NdisRetreatNetBufferDataStart Funktion für jede NET_BUFFER Struktur der NET_BUFFER_LIST Struktur. NdisRetreatNetBufferListDataStart versucht, die Anforderung zu erfüllen, indem der Wert des DataOffset-Elements in jeder NET_BUFFER Struktur reduziert wird. Wenn nicht genügend nicht genutzter Datenbereich verfügbar ist, weist diese Funktion einen neuen Puffer und MDL zu und verkettet dann die neue MDL an den Anfang der MDL-Kette auf der NET_BUFFER-Struktur.

Rufen Sie die NdisAdvanceNetBufferListDataStart Funktion zum Freigeben des Datenbereichs, der in einem vorherigen NdisRetreatNetBufferListDataStart Aufruf beansprucht wurde. Alternativ kann der Treiber die NdisAdvanceNetBufferDataStart--Funktion für jede NET_BUFFER Struktur der NET_BUFFER_LIST Struktur. Das Aufrufen von NdisAdvanceNetBufferListDataStart ist effizienter.

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

NET_BUFFER_LIST

NdisAdvanceNetBufferDataStart NdisAdvanceNetBufferListDataStart NdisRetreatNetBufferDataStart

NetAllocateMdl-

NetFreeMdl-