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 设置为 TRUENumberOfPhysicalBreaksAdapterInterfaceTypeDma32BitAddressesDma6 4BitAddressesSystemIoBusNumberAutoRequestSenseSrbExtensionSize

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

NumberOfBytes

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

返回值

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

言论

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

要求

要求 价值
目标平台 普遍
标头 storport.h (包括 Storport.h)
Storport.lib

另请参阅

ScsiPortGetUncachedExtension