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、 Dma64BitAddresses、 SystemIoBusNumber、 AutoRequestSense 和 SrbExtensionSize。
与 HBA 不相关的成员(例如 EISA 总线主适配器的 DmaChannel )必须保持原样。
NumberOfBytes
要分配的非缓存扩展所需的大小(以字节为单位)。
返回值
StorPortGetUncachedExtension 返回指向未缓存扩展的虚拟地址指针。 如果无法分配请求的内存,则返回 NULL。 如果以前分配了内存,则返回指向当前未缓存扩展的虚拟地址指针。
注解
总线-主设备使用公共缓冲区空间进行 DMA 传输。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | storport.h (包括 Storport.h) |
Library | Storport.lib |