Funzione StorPortAllocateContiguousMemorySpecifyCacheNode (storport.h)
La routine StorPortAllocateContiguousMemorySpecifyCacheNode alloca un intervallo di memoria fisicamente contigua non memorizzata in pagine.
Sintassi
ULONG StorPortAllocateContiguousMemorySpecifyCacheNode(
[in] PVOID HwDeviceExtension,
[in] SIZE_T NumberOfBytes,
[in] PHYSICAL_ADDRESS LowestAcceptableAddress,
[in] PHYSICAL_ADDRESS HighestAcceptableAddress,
[in, optional] PHYSICAL_ADDRESS BoundaryAddressMultiple,
[in] MEMORY_CACHING_TYPE CacheType,
[in] NODE_REQUIREMENT PreferredNode,
[out] PVOID *BufferPointer
);
Parametri
[in] HwDeviceExtension
Puntatore all'estensione del dispositivo hardware per l'adattatore bus host (HBA).
[in] NumberOfBytes
Numero di byte da allocare.
[in] LowestAcceptableAddress
Indirizzo fisico più basso valido per l'allocazione. Ad esempio, se il dispositivo può fare riferimento solo alla memoria fisica nell'intervallo da 8 MB a 16 MB, questo valore verrà impostato su 0x800000 (8 MB).
[in] HighestAcceptableAddress
Indirizzo fisico più alto valido per l'allocazione. Ad esempio, se il dispositivo può fare riferimento solo alla memoria fisica inferiore a 16 MB, questo valore verrà impostato su 0xFFFFFF (16 MB - 1).
[in, optional] BoundaryAddressMultiple
Indirizzo fisico multiplo che questa allocazione non deve attraversare.
[in] CacheType
Tipo di cache desiderato per il mapping.
[in] PreferredNode
Nodo preferito da cui deve essere effettuata l'allocazione se le pagine sono disponibili in tale nodo.
[out] BufferPointer
Variabile che riceve l'indirizzo iniziale del blocco di memoria allocato. Al ritorno da questa routine, se questa variabile è zero, non è stato possibile trovare un intervallo contiguo per soddisfare la richiesta. Se questa variabile non è NULL, contiene un puntatore (ad esempio, un indirizzo virtuale nella parte non di paging del sistema) alla memoria fisicamente contigua allocata.
Valore restituito
La routine StorPortAllocateContiguousMemorySpecifyCacheNode restituisce uno dei codici di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
Questa funzione non viene implementata nel sistema operativo attivo. |
|
L'operazione è stata completata. |
|
L'operazione non è riuscita ad allocare la memoria richiesta a causa di risorse insufficienti. |
Commenti
Se la richiesta non riesce, BufferPointer verrà impostato su NULL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 7. |
Piattaforma di destinazione | Universale |
Intestazione | storport.h (include Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | StorPortIrql(storport) |