NdisAllocateNetBufferMdlAndData-Funktion (ndis/nblapi.h)
NDIS-Treiber rufen die NdisAllocateNetBufferMdlAndData-Funktion auf, um eine NET_BUFFER-Struktur zusammen mit der zugeordneten MDL und den Daten zuzuordnen.
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 zugeordnet hat. Wenn die Zuordnung nicht erfolgreich war, ist dieser Zeiger NULL.
Hinweise
Der Aufrufer muss die NdisAllocateNetBufferPool-Funktion aufrufen und die maximale Größe der Datenpuffer angeben. Angesichts dieses Werts kann NDIS Puffer für den Aufrufer vorab allocatieren.
Diese Funktion ordnet 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 NdisAllocateNetBuffer nicht aufrufen, um NET_BUFFERs aus NET_BUFFER Pools zuzuordnen, die Daten enthalten.
NDIS verwendet den PoolHandle-Parameter , um einen Speicherblock abzurufen, und erstellt dann die NET_BUFFER, MDL und den Datenpuffer.
Rufen Sie die Funktion NdisFreeNetBuffer auf, um die NET_BUFFER und die zugehörigen Informationen frei zu geben.
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), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis) |