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
STOR_STATUS_NOT_IMPLEMENTED
Questa funzione non viene implementata nel sistema operativo attivo.
STOR_STATUS_SUCCESS
L'operazione è stata completata.
STOR_STATUS_INSUFFICIENT_RESOURCES
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)