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 功能的信息。 必须填写以下成员: DmaChannelDmaPortDmaWidthDmaSpeedMaximumTransferLengthScatterGatherMaster 设置为 TRUENumberOfPhysicalBreaksAdapterInterfaceTypeDma32BitAddressesDma64BitAddressesSystemIoBusNumberAutoRequestSenseSrbExtensionSize

与 HBA 不相关的成员(例如 EISA 总线主适配器的 DmaChannel )必须保持原样。

NumberOfBytes

要分配的非缓存扩展所需的大小(以字节为单位)。

返回值

StorPortGetUncachedExtension 返回指向未缓存扩展的虚拟地址指针。 如果无法分配请求的内存,则返回 NULL。 如果以前分配了内存,则返回指向当前未缓存扩展的虚拟地址指针。

注解

总线-主设备使用公共缓冲区空间进行 DMA 传输。

要求

要求
目标平台 通用
标头 storport.h (包括 Storport.h)
Library Storport.lib

另请参阅

ScsiPortGetUncachedExtension