Compartilhar via


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
STOR_STATUS_NOT_IMPLEMENTED
Essa função não é implementada no sistema operacional ativo.
STOR_STATUS_SUCCESS
A operação foi bem-sucedida.
STOR_STATUS_INSUFFICIENT_RESOURCES
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)