NdisRetreatNetBufferListDataStart-Funktion (ndis/nblapi.h)
Rufen Sie die NdisRetreatNetBufferListDataStart-Funktion auf, um den verwendeten Datenspeicherplatz 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 des zusätzlichen verwendeten Datenspeicherplatzes in jeder NET_BUFFER-Struktur. Wenn nicht genügend ungenutzter Datenspeicher vorhanden ist, um die Anforderung zu erfüllen, weist NDIS mehr Arbeitsspeicher zu.
[in] DataBackFill
Wenn NDIS Arbeitsspeicher zuweisen muss, gibt dieser Parameter die Menge des Datenspeichers zusätzlich zum Wert des zuzuordnenden DataOffsetDelta-Parameters 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 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 Arbeitsspeicher freizugeben.
Rückgabewert
NdisRetreatNetBufferListDataStart gibt eine der folgenden Rückgaben zurück:
Rückgabecode | Beschreibung |
---|---|
|
NdisRetreatNetBufferListDataStart hat den Datenspeicherplatz in allen NET_BUFFER-Strukturen entweder durch Reduzierung des Werts des DataOffset-Elements oder durch Zuweisung eines neuen Speichers erfolgreich zugeordnet. |
|
Fehler bei NdisRetreatNetBufferListDataStart aufgrund unzureichender Ressourcen. |
|
NdisRetreatNetBufferListDataStart ist aus anderen Gründen als unzureichenden Ressourcen fehlgeschlagen. |
Hinweise
Das Aufrufen von NdisRetreatNetBufferListDataStart entspricht dem Aufrufen von NdisRetreatNetBufferDataStart-Funktion für jede NET_BUFFER-Struktur in 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 ungenutzter Datenspeicher verfügbar ist, ordnet diese Funktion einen neuen Puffer und MDL zu und verkettet die neue MDL dann an den Anfang der MDL-Kette auf der NET_BUFFER-Struktur.
Rufen Sie die folgenden NdisAdvanceNetBufferListDataStart-Funktion zum Freigeben des Datenbereichs, der in einem vorherigen NdisRetreatNetBufferListDataStart-Aufruf beansprucht wurde. Alternativ kann der Treiber die Die NdisAdvanceNetBufferDataStart-Funktion für jede NET_BUFFER-Struktur in der NET_BUFFER_LIST-Struktur. Das Aufrufen von NdisAdvanceNetBufferListDataStart ist effizienter.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Universell |
Header | ndis/nblapi.h (include ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_NetBuffer_Function(ndis) |