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


Функция 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 (включая Storport.h)
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI StorPortIrql(storport)