NdisAllocateFromNPagedLookasideList-Makro (ndis.h)
Die Funktion NdisAllocateFromNPagedLookasideList entfernt den ersten Eintrag aus dem angegebenen Lookaside-Listenkopf. Wenn die Suchliste derzeit leer ist, wird ein Eintrag aus einem nicht ausgestellten Pool zugeordnet.
Syntax
void NdisAllocateFromNPagedLookasideList(
_L
);
Parameter
_L
Ein Zeiger auf den Kopf der Suchliste, aus der der Eintrag zugeordnet wird. Der Aufrufer hat den Listenkopf bereits mit dem NdisInitializeNPagedLookasideList-Funktion .
Rückgabewert
Keine
Bemerkungen
Wenn die Suchliste nicht leer ist, entfernt NdisAllocateFromNPagedLookasideList den ersten Eintrag aus der Liste und gibt seine Adresse an den Aufrufer zurück. Wenn die Suchliste leer ist, ruft NdisAllocateFromNPagedLookasideList entweder die Funktion Allocate auf, die im Allocate-Parameter des NdisInitializeNPagedLookasideList-Funktion , die der Aufrufer bei der Listeninitialisierung angegeben hat, falls vorhanden, oder es ordnet einen Eintrag im Namen des Aufrufers zu. NdisAllocateFromNPagedLookasideList gibt NULL zurück, wenn die vom Aufrufer bereitgestellte Zuweisungsfunktion (falls vorhanden) oder wenn diese Funktion selbst keinen nicht auslagerten Eintrag zuordnen kann.
Alle Einträge, die aus einer nicht ausgestellten Lookaside-Liste zugeordnet werden, haben eine feste Größe, die angegeben wurde, als der Treiber ursprünglich NdisInitializeNPagedLookasideList hieß. Daher ist eine Suchliste besonders nützlich für Treiber, die Blöcke mit fester Größe zuordnen müssen, in denen der Zustand als Reaktion auf dynamische E/A-Anforderungen beibehalten werden soll. Beispielsweise kann jeder verbindungsorientierte NDIS-Treiber die benötigten VC-Kontextbereiche aus einer Suchliste zuordnen, wenn VCs erstellt werden, und jeden dieser Einträge wieder in die Suchliste mit dem NdisFreeToNPagedLookasideList-Funktion , da jede VC abgerissen wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisAllocateFromNPagedLookasideList (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisAllocateFromNPagedLookasideList (NDIS 5.1)) in Windows XP. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_Miscellaneous_Function(ndis), NdisAllocateFromNPagedLookasideList(ndis), NdisAllocateFromNPagedLookasideList_InitFail(ndis) |