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 返回以下状态代码之一:
返回代码 | 说明 |
---|---|
|
此函数未在活动操作系统上实现。 |
|
指示例程已成功分配 MDL。 |
|
用于接收 MDL 的指针为 NULL。
指向缓冲区的指针为 NULL。 |
|
调用是在无效的 IRQL 上进行的。 |
|
无法分配 MDL 来描述给定的缓冲区。 |
注解
微型端口驱动程序调用 StorPortAllocateMdl 例程来分配 MDL 来描述非分页池中的内存块。 为了释放 MDL,微型端口驱动程序调用 StorPortFreeMdl 例程。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | storport.h (包括 Storport.h) |
IRQL | <=DISPATCH_LEVEL |
DDI 符合性规则 | StorPortIrql (storport) |