StorPortGetUncachedExtension 函数 (storport.h)
StorPortGetUncachedExtension 例程分配要由 CPU 和设备共享的未缓存公共缓冲区。
语法
STORPORT_API PVOID StorPortGetUncachedExtension(
PVOID HwDeviceExtension,
PPORT_CONFIGURATION_INFORMATION ConfigInfo,
ULONG NumberOfBytes
);
参数
HwDeviceExtension
指向硬件设备扩展的指针。 这是端口驱动程序代表微型端口驱动程序分配和初始化的每个 HBA 存储区域。 微型端口驱动程序通常在此扩展中存储特定于 HBA 的信息,例如 HBA 的状态和 HBA 的映射访问范围。 微型端口驱动程序调用 StorPortInitialize后,此区域立即可供微型端口驱动程序使用。 端口驱动程序在删除设备时释放此内存。
ConfigInfo
指定有关 HBA 的 DMA 功能的信息。 必须填写以下成员:DmaChannel 或 DmaPort、DmaWidth、DmaSpeed、MaximumTransferLength、ScatterGather、Master 设置为 TRUE, NumberOfPhysicalBreaks、AdapterInterfaceType、Dma32BitAddresses、Dma6 4BitAddresses、SystemIoBusNumber、AutoRequestSense和 SrbExtensionSize。
与 HBA 不相关的成员(如 EISA 总线主适配器的 DmaChannel)必须保持原样。
NumberOfBytes
要分配的未缓存扩展的大小(以字节为单位)。
返回值
StorPortGetUncachedExtension 返回指向未缓存扩展的虚拟地址指针。 如果无法分配请求的内存,它将返回 NULL 。 如果以前分配了内存,则会返回指向当前未缓存扩展的虚拟地址指针。
言论
总线主设备使用公共缓冲区空间进行 DMA 传输。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | storport.h (包括 Storport.h) |
库 | Storport.lib |