Compartilhar via


Função StorPortAllocateMdl (storport.h)

A rotina StorPortAllocateMdl aloca um MDL para descrever a memória de pool não paginada fornecida.

Sintaxe

ULONG StorPortAllocateMdl(
  [in]  PVOID HwDeviceExtension,
  [in]  PVOID BufferPointer,
  [in]  ULONG NumberOfBytes,
  [out] PVOID *Mdl
);

Parâmetros

[in] HwDeviceExtension

Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host).

[in] BufferPointer

Um ponteiro para o endereço virtual base do buffer que o MDL deve descrever.

[in] NumberOfBytes

Esse parâmetro especifica o comprimento, em bytes, do buffer que o MDL deve descrever.

[out] Mdl

Um ponteiro para receber o MDL alocado.

Retornar valor

StorPortAllocateMdl 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 o MDL com êxito.
STOR_STATUS_INVALID_PARAMETER
O ponteiro para receber o MDL é NULL.

O ponteiro para o buffer é NULL.

STOR_STATUS_INVALID_IRQL
A chamada foi feita em um IRQL inválido.
STOR_STATUS_INSUFFICIENT_RESOURCES
Não é possível alocar o MDL para descrever o buffer fornecido.

Comentários

Um driver de miniporta chama a rotina StorPortAllocateMdl para alocar um MDL para descrever um bloco de memória do pool não paginado. Para liberar o MDL, o driver de miniporto chama a rotina StorPortFreeMdl .

Requisitos

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