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 |
---|---|
|
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. |
|
NdisRetreatNetBufferListDataStart aufgrund unzureichender Ressourcen fehlgeschlagen. |
|
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) |