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 |
---|---|
|
NdisRetreatNetBufferDataStart erfolgreich verwendeten Datenraum zugeordnet entweder mithilfe des nicht verwendeten Datenbereichs oder durch Zuweisung neuer Speicher. |
|
NdisRetreatNetBufferDataStart aufgrund unzureichender Ressourcen fehlgeschlagen. |
|
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) |