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) |