Condividi tramite


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)

Vedi anche

StorPortFreePool