StorPortAllocateContiguousMemorySpecifyCacheNode 函数 (storport.h)
StorPortAllocateContiguousMemorySpecifyCacheNode 例程分配一系列物理连续的非缓存、非分页内存。
语法
ULONG StorPortAllocateContiguousMemorySpecifyCacheNode(
[in] PVOID HwDeviceExtension,
[in] SIZE_T NumberOfBytes,
[in] PHYSICAL_ADDRESS LowestAcceptableAddress,
[in] PHYSICAL_ADDRESS HighestAcceptableAddress,
[in, optional] PHYSICAL_ADDRESS BoundaryAddressMultiple,
[in] MEMORY_CACHING_TYPE CacheType,
[in] NODE_REQUIREMENT PreferredNode,
[out] PVOID *BufferPointer
);
参数
[in] HwDeviceExtension
指向主机总线适配器的硬件设备扩展的指针 (HBA) 。
[in] NumberOfBytes
要分配的字节数。
[in] LowestAcceptableAddress
对分配有效的最低物理地址。 例如,如果设备只能引用 8 MB 到 16 MB 范围内的物理内存,则此值将设置为0x800000 (8 MB) 。
[in] HighestAcceptableAddress
对分配有效的最高物理地址。 例如,如果设备只能引用低于 16 MB 的物理内存,则此值将设置为 0xFFFFFF (16 MB - 1) 。
[in, optional] BoundaryAddressMultiple
此分配不得交叉的物理地址倍数。
[in] CacheType
映射的所需缓存类型。
[in] PreferredNode
如果页面在该节点上可用,则应从该节点进行分配的首选节点。
[out] BufferPointer
接收已分配内存块的起始地址的变量。 从此例程返回时,如果此变量为零,则找不到连续范围来满足请求。 如果此变量不为 NULL,则它包含指针 (例如,系统非分页部分中的虚拟地址) 分配的物理连续内存。
返回值
StorPortAllocateContiguousMemorySpecifyCacheNode 例程返回以下状态代码之一:
返回代码 | 说明 |
---|---|
|
此函数未在活动操作系统上实现。 |
|
操作成功。 |
|
由于资源不足,操作未能分配请求的内存。 |
注解
如果请求失败, BufferPointer 将设置为 NULL。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 7 开始可用。 |
目标平台 | 通用 |
标头 | storport.h (包括 Storport.h) |
IRQL | <=DISPATCH_LEVEL |
DDI 符合性规则 | StorPortIrql (storport) |