NdisAllocateNetBufferMdlAndData-Funktion (ndis/nblapi.h)
NDIS-Treiber rufen die NdisAllocateNetBufferMdlAndData--Funktion auf, um eine NET_BUFFER Struktur zusammen mit den zugeordneten MDL und Daten zuzuweisen.
Syntax
NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
[in] NDIS_HANDLE PoolHandle
);
Parameter
[in] PoolHandle
Ein NET_BUFFER Strukturpoolhandle, das zuvor von einem Aufruf der NdisAllocateNetBufferPool Funktion zurückgegeben wurde.
Rückgabewert
NdisAllocateNetBufferMdlAndData gibt einen Zeiger auf die NET_BUFFER Struktur zurück, die NDIS zugewiesen hat. Wenn die Zuordnung nicht erfolgreich war, ist dieser Zeiger NULL-.
Bemerkungen
Der Aufrufer muss die NdisAllocateNetBufferPool Funktion aufrufen und die maximale Größe der Datenpuffer angeben. Aufgrund dieses Werts kann NDIS Puffer für den Aufrufer vorab allocatieren.
Diese Funktion weist eine NET_BUFFER Struktur, MDL und Daten in einem einzelnen Speicherpuffer zu. Dies ist nützlich, um eine hohe Leistung zu erzielen, wenn NET_BUFFER Strukturen häufig zugeordnet und freigegeben werden. Der Aufrufer sollte nicht NdisAllocateNetBuffer- aufrufen, um NET_BUFFERs aus NET_BUFFER Pools zuzuweisen, die Daten enthalten.
NDIS verwendet den PoolHandle Parameter, um einen Speicherblock abzurufen, und erstellt dann den NET_BUFFER, MDL und Datenpuffer.
Rufen Sie zum Freigeben der NET_BUFFER und der zugehörigen Informationen die NdisFreeNetBuffer--Funktion auf.
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), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis) |