Поделиться через


Функция StorPortAllocateMdl (storport.h)

Подпрограмма StorPortAllocateMdl выделяет MDL для описания заданной нестраничной памяти пула.

Синтаксис

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

Параметры

[in] HwDeviceExtension

Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).

[in] BufferPointer

Указатель на базовый виртуальный адрес буфера, описываемого MDL.

[in] NumberOfBytes

Этот параметр задает длину в байтах буфера, описываемого MDL.

[out] Mdl

Указатель на получение выделенного MDL.

Возвращаемое значение

StorPortAllocateMdl возвращает один из следующих кодов состояния:

Возвращаемый код Описание
STOR_STATUS_NOT_IMPLEMENTED
Эта функция не реализована в активной операционной системе.
STOR_STATUS_SUCCESS
Указывает, что подпрограмма успешно выделила MDL.
STOR_STATUS_INVALID_PARAMETER
Указатель на получение MDL null.

Указатель на буфер null.

STOR_STATUS_INVALID_IRQL
Вызов был выполнен в недопустимом IRQL.
STOR_STATUS_INSUFFICIENT_RESOURCES
Не удается выделить MDL для описания заданного буфера.

Замечания

Драйвер минипорта вызывает процедуру StorPortAllocateMdl, чтобы выделить MDL для описания блока памяти из нестраничного пула. Чтобы освободить MDL, драйвер минипорта вызывает процедуру StorPortFreeMdl.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка storport.h (include Storport.h)
IRQL <=DISPATCH_LEVEL
правил соответствия DDI storPortIrql(storport)