Funzione ExAllocatePool3 (wdm.h)
La routine ExAllocatePool3 alloca la memoria del pool del tipo specificato e restituisce un puntatore al blocco allocato. Questa routine è simile a ExAllocatePool2 , ma aggiunge parametri estesi.
Sintassi
DECLSPEC_RESTRICT PVOID ExAllocatePool3(
POOL_FLAGS Flags,
SIZE_T NumberOfBytes,
ULONG Tag,
PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
ULONG ExtendedParametersCount
);
Parametri
Flags
Valore tipizzato ULONG64 che specifica il tipo di memoria del pool insieme agli attributi obbligatori e facoltativi. È possibile combinare più valori di flag usando OR bit-wise. Per i valori possibili, vedere POOL_FLAGS.
NumberOfBytes
Specifica un numero diverso da zero di byte da allocare.
Tag
Tag del pool da usare per la memoria allocata. Specificare il tag del pool come valore letterale carattere diverso da zero da uno a quattro caratteri delimitati da virgolette singole (ad esempio, Tag1
). La stringa viene in genere specificata in ordine inverso , ad esempio 1gaT
. Ogni carattere ASCII nel tag deve essere un valore nell'intervallo 0x20 (spazio) per 0x7E (tilde). Ogni percorso del codice di allocazione deve usare un tag di pool univoco per consentire ai debugger e ai verificatori di identificare il percorso del codice.
ExtendedParameters
Puntatore a una matrice di strutture POOL_EXTENDED_PARAMETER che specificano attributi aggiuntivi per l'allocazione.
ExtendedParametersCount
Valore ULONG che specifica il numero di parametri in ExtendedParameters.
Valore restituito
ExAllocatePool3 restituisce un puntatore alla memoria allocata.
Le condizioni seguenti fanno sì che la funzione restituisca NULL per impostazione predefinita. Se viene specificato POOL_FLAG_RAISE_ON_FAILURE , la funzione genera un'eccezione.
- Memoria insufficiente
- Il tag è impostato su 0 o POOL_FLAGS non valido sono specificati
- Strutture di POOL_EXTENDED_PARAMETER non valide
Commenti
Se si sta creando un driver destinato a versioni di Windows precedenti a Windows 10, versione 2004, usare ExAllocatePoolPriorityZero o ExAllocatePoolPriorityUninitialized.
Per altre informazioni, vedere le osservazioni di ExAllocatePool2 .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 2004 |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (vedere la sezione Osservazioni) |
Regole di conformità DDI | HwStorPortProhibitedDDIs, SpNoWait, StorPortStartIo |