Función StorPortAllocateContiguousMemorySpecifyCacheNode (storport.h)
La rutina StorPortAllocateContiguousMemorySpecifyCacheNode asigna un intervalo de memoria no almacenada en caché físicamente contigua y no paginada.
Sintaxis
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
);
Parámetros
[in] HwDeviceExtension
Puntero a la extensión de dispositivo de hardware para el adaptador de bus host (HBA).
[in] NumberOfBytes
Número de bytes que se van a asignar.
[in] LowestAcceptableAddress
La dirección física más baja que es válida para la asignación. Por ejemplo, si el dispositivo solo puede hacer referencia a la memoria física en el intervalo de 8 MB a 16 MB, este valor se establecería en 0x800000 (8 MB).
[in] HighestAcceptableAddress
La dirección física más alta que es válida para la asignación. Por ejemplo, si el dispositivo solo puede hacer referencia a la memoria física por debajo de 16 MB, este valor se establecería en 0xFFFFFF (16 MB - 1).
[in, optional] BoundaryAddressMultiple
Dirección física múltiple que esta asignación no debe cruzar.
[in] CacheType
Tipo de caché deseado para la asignación.
[in] PreferredNode
Nodo preferido desde el que se debe realizar la asignación si las páginas están disponibles en ese nodo.
[out] BufferPointer
Variable que recibe la dirección inicial del bloque de memoria asignado. Tras la devolución de esta rutina, si esta variable es cero, no se encontró un intervalo contiguo para satisfacer la solicitud. Si esta variable no es NULL, contiene un puntero (por ejemplo, una dirección virtual en la parte no paginada del sistema) a la memoria físicamente contigua asignada.
Valor devuelto
La rutina StorPortAllocateContiguousMemorySpecifyCacheNode devuelve uno de los siguientes códigos de estado:
Código devuelto | Descripción |
---|---|
|
Esta función no se implementa en el sistema operativo activo. |
|
La operación se realizó correctamente. |
|
La operación no pudo asignar la memoria solicitada debido a recursos insuficientes. |
Comentarios
Si se produce un error en la solicitud, BufferPointer se establecerá en NULL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 7. |
Plataforma de destino | Universal |
Encabezado | storport.h (incluya Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | StorPortIrql(storport) |