Funzione StorPortAllocatePool (storport.h)
La routine StorPortAllocatePool alloca un blocco di memoria del pool non contiguo e non a pagina.
Sintassi
ULONG StorPortAllocatePool(
[in] PVOID HwDeviceExtension,
[in] ULONG NumberOfBytes,
[in] ULONG Tag,
[out] PVOID *BufferPointer
);
Parametri
[in] HwDeviceExtension
Puntatore all'estensione del dispositivo hardware per l'adattatore del bus host (HBA).
[in] NumberOfBytes
Dimensioni, in byte, del blocco di memoria allocato.
[in] Tag
Tag del pool per la memoria allocata. I driver specificano il tag del pool come stringa di quattro caratteri ASCII, delimitati da virgolette singole. La stringa viene in genere specificata in ordine inverso.
[out] BufferPointer
Puntatore all'indirizzo del blocco di memoria allocato o NULL se non ha esito positivo.
Valore restituito
StorPortAllocatePool restituisce uno dei codici di stato seguenti:
Codice restituito | Descrizione |
---|---|
STOR_STATUS_NOT_IMPLEMENTED | Questa funzione non viene implementata nel sistema operativo attivo. |
STOR_STATUS_SUCCESS | Indica che la routine ha allocato correttamente un blocco di memoria delle dimensioni richieste. |
STOR_STATUS_INVALID_PARAMETER | Il puntatore per ricevere l'indirizzo del buffer è NULL. |
STOR_STATUS_INVALID_IRQL | La chiamata è stata effettuata in un IRQL non valido. |
STOR_STATUS_INSUFFICIENT_RESOURCES | Impossibile allocare memoria delle dimensioni richieste. |
Commenti
Un driver miniport chiama la routine StorPortAllocatePool per allocare un blocco di memoria non contigua dal pool non a pagina. Per liberare il blocco di memoria, il driver miniport chiama StorPortFreePool. Se la richiesta ha esito negativo, BufferPointer verrà impostato su NULL.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | Storport.h (include Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport) |