ExAllocatePool3-Funktion (wdm.h)
Die ExAllocatePool3 Routine weist den Poolspeicher des angegebenen Typs zu und gibt einen Zeiger auf den zugewiesenen Block zurück. Diese Routine ähnelt ExAllocatePool2, fügt jedoch erweiterte Parameter hinzu.
Syntax
DECLSPEC_RESTRICT PVOID ExAllocatePool3(
POOL_FLAGS Flags,
SIZE_T NumberOfBytes,
ULONG Tag,
PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
ULONG ExtendedParametersCount
);
Parameter
Flags
Ein ULONG64 typisierter Wert, der den Typ des Poolspeichers zusammen mit erforderlichen und optionalen Attributen angibt. Mehrere Kennzeichenwerte können mit Bitweise ODER kombiniert werden. Mögliche Werte finden Sie unter POOL_FLAGS.
NumberOfBytes
Gibt eine Nicht-Null-Anzahl von Bytes an, die zugewiesen werden sollen.
Tag
Das Pooltag, das für den zugewiesenen Speicher verwendet werden soll. Geben Sie das Pooltag als Nicht-Null-Zeichenliteral von 1 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.
ExtendedParameters
Ein Zeiger auf ein Array von POOL_EXTENDED_PARAMETER Strukturen, die zusätzliche Attribute für die Zuordnung angeben.
ExtendedParametersCount
Ein ULONG-Wert, der die Anzahl der Parameter in ExtendedParametersangibt.
Rückgabewert
ExAllocatePool3 gibt einen Zeiger auf den zugewiesenen Speicher zurück.
Die folgenden Bedingungen führen dazu, dass die Funktion STANDARDMÄßIG NULL zurückgibt. Wenn POOL_FLAG_RAISE_ON_FAILURE angegeben ist, löst die Funktion eine Ausnahme aus.
- Nicht genügend Arbeitsspeicher
- Tag- auf 0 oder ungültige POOL_FLAGS festgelegt ist, werden angegeben.
- Ungültige POOL_EXTENDED_PARAMETER Strukturen
Bemerkungen
Wenn Sie einen Treiber erstellen, der auf Versionen von Windows vor Windows 10, Version 2004 ausgerichtet ist, verwenden Sie ExAllocatePoolPriorityZero oder ExAllocatePoolPriorityUninitialized.
Weitere Informationen finden Sie in den Hinweisen ExAllocatePool2-.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 10, Version 2004 |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= DISPATCH_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs, SpNoWait, StorPortStartIo |