Função StorPortAllocateContiguousMemorySpecifyCacheNode (storport.h)
A rotina StorPortAllocateContiguousMemorySpecifyCacheNode aloca uma variedade de memória não armazenada em cache fisicamente contígua e nãopagada.
Sintaxe
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
Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host).
[in] NumberOfBytes
O número de bytes a serem alocados.
[in] LowestAcceptableAddress
O endereço físico mais baixo válido para a alocação. Por exemplo, se o dispositivo só puder fazer referência à memória física no intervalo de 8 MB a 16 MB, esse valor será definido como 0x800000 (8 MB).
[in] HighestAcceptableAddress
O endereço físico mais alto válido para a alocação. Por exemplo, se o dispositivo só puder fazer referência à memória física abaixo de 16 MB, esse valor será definido como 0xFFFFFF (16 MB - 1).
[in, optional] BoundaryAddressMultiple
O endereço físico múltiplo que essa alocação não deve cruzar.
[in] CacheType
O tipo de cache desejado para o mapeamento.
[in] PreferredNode
O nó preferencial do qual a alocação deve ser feita se as páginas estiverem disponíveis nesse nó.
[out] BufferPointer
A variável que recebe o endereço inicial do bloco de memória alocado. Após o retorno dessa rotina, se essa variável for zero, não foi possível encontrar um intervalo contíguo para atender à solicitação. Se essa variável não for NULL, ela conterá um ponteiro (por exemplo, um endereço virtual na parte nãopagada do sistema) para a memória fisicamente contígua alocada.
Retornar valor
A rotina StorPortAllocateContiguousMemorySpecifyCacheNode retorna um dos seguintes códigos status:
Código de retorno | Descrição |
---|---|
|
Essa função não é implementada no sistema operacional ativo. |
|
A operação foi bem-sucedida. |
|
A operação falhou ao alocar a memória solicitada devido a recursos insuficientes. |
Comentários
Se a solicitação falhar, BufferPointer será definido como NULL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 7. |
Plataforma de Destino | Universal |
Cabeçalho | storport.h (inclua Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade de DDI | StorPortIrql(storport) |