Função StorPortAllocatePool (storport.h)

A rotina StorPortAllocatePool aloca um bloco de memória de pool não contígua e não paginada.

Sintaxe

ULONG StorPortAllocatePool(
  [in]  PVOID HwDeviceExtension,
  [in]  ULONG NumberOfBytes,
  [in]  ULONG Tag,
  [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 tamanho, em bytes, do bloco de memória que está sendo alocado.

[in] Tag

A marca do pool para a memória alocada. Os drivers especificam a marca de pool como uma cadeia de caracteres de quatro caracteres ASCII, delimitadas por aspas simples. A cadeia de caracteres geralmente é especificada em ordem inversa.

[out] BufferPointer

Um ponteiro para o endereço do bloco de memória alocado ou NULL se não for bem-sucedido.

Retornar valor

StorPortAllocatePool retorna um dos seguintes códigos de status:

Código de retorno Descrição
STOR_STATUS_NOT_IMPLEMENTED Essa função não é implementada no sistema operacional ativo.
STOR_STATUS_SUCCESS Indica que a rotina alocou com êxito um bloco de memória do tamanho solicitado.
STOR_STATUS_INVALID_PARAMETER O ponteiro para receber o endereço do buffer é NULL.
STOR_STATUS_INVALID_IRQL A chamada foi feita em um IRQL inválido.
STOR_STATUS_INSUFFICIENT_RESOURCES Não é possível alocar memória do tamanho solicitado.

Comentários

Um driver de miniporto chama a rotina StorPortAllocatePool para alocar um bloco de memória não contígua do pool não paginado. Para liberar o bloco de memória, o driver de miniporto chama StorPortFreePool. Se a solicitação falhar, BufferPointer será definido como NULL.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL <=DISPATCH_LEVEL
Regras de conformidade da DDI StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport)

Confira também

StorPortFreePool