FsRtlAllocateAePushLock-Funktion (ntifs.h)
FsRtlAllocateAePushLock eine automatisch erweiternde Pushsperre zuordnet und initialisiert.
Syntax
PVOID FsRtlAllocateAePushLock(
[in] POOL_TYPE PoolType,
[in] ULONG Tag
);
Parameter
[in] PoolType
Der Typ des Poolspeichers, der für die automatisch erweiterte Pushsperre zugewiesen werden soll. Eine Beschreibung der verfügbaren Poolspeichertypen finden Sie unter POOL_TYPE. Sie können den PoolType-wert durch bitweises ORingen mit dem POOL_RAISE_IF_ALLOCATION_FAILURE-Flag ändern. Dieses Flag führt dazu, dass eine Ausnahme ausgelöst wird, wenn die Zuordnungsanforderung nicht erfüllt werden kann.
[in] Tag
Das Pooltag, das für den zugewiesenen Speicher verwendet werden soll. Geben Sie das Pooltag als Nicht-Null-Zeichenliteral von ein bis vier Zeichen an, die durch einfache Anführungszeichen (z. B. "Tag1") getrennt sind. Die Zeichenfolge wird in der Regel in umgekehrter Reihenfolge angegeben (z. B. "1gaT"). Jedes ASCII-Zeichen im Tag muss ein Wert im Bereich 0x20 (Leerzeichen) sein, um 0x7E (Tilde) zu 0x7E. Jeder Zuordnungscodepfad sollte ein eindeutiges Pooltag verwenden, um Debuggern und Prüfern bei der Identifizierung des Codepfads zu helfen.
Rückgabewert
FsRtlAllocateAePushLock GIBT NULL zurück, wenn im freien Pool nicht genügend Arbeitsspeicher vorhanden ist, um die Anforderung zu erfüllen. Andernfalls gibt die Routine einen Zeiger auf die zugewiesene und initialisierte automatisch erweiternde Pushsperre zurück.
Bemerkungen
FsRtlAllocateAePushLock wird verwendet, um Poolspeicher für eine automatisch erweiterte Pushsperre zuzuweisen. Weitere Informationen zu automatisch erweiternden Pushsperren finden Sie unter FSRTL_ADVANCED_FCB_HEADER.
Das System ordnet das Pooltag dem zugeordneten Speicher zu. Programmiertools, z. B. WinDbg-, können das Pooltag anzeigen, das jedem zugeordneten Puffer zugeordnet ist. Gflags, ein Tool, das in Debugtools für Windowsenthalten ist, aktiviert ein Systemfeature, das die Zuordnung von speziellen Pool- für ein bestimmtes Pooltag anfordert. Poolmon-, die im WDK enthalten ist, verfolgt den Speicher nach Pooltag.
Der Aufrufer von FsRtlAllocateAePushLock muss anschließend FsRtlFreeAePushLock aufrufen, um die zugewiesene automatisch erweiternde Pushsperre freizuweisen.
Das System legt automatisch bestimmte Standardereignisobjekte fest, wenn die Menge des Pools (ausgelagert oder nicht ausgelagert) hoch oder niedrig ist. Treiber können warten, bis diese Ereignisse ihre Poolnutzung optimieren. Weitere Informationen finden Sie unter Standard-Ereignisobjekte.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 20H2 |
Header- | ntifs.h |
IRQL- | <= APC_LEVEL |