(storport.h) MINIPORT_DUMP_POINTERS 结构

Storport 微型端口驱动程序使用此结构来支持 SCSI_REQUEST_BLOCK (SRB) 函数代码SRB_FUNCTION_DUMP_POINTERS。 当微型端口驱动程序收到此类 SRB 时, DataBuffer SRB 成员指向 MINIPORT_DUMP_POINTERS 结构。 此 SRB 将发送到微型端口驱动程序,该驱动程序用于控制从微型端口驱动程序的 HwStorInitialize 例程返回 SRB 后保存故障转储数据的磁盘。 需要虚拟微型端口驱动程序来支持SRB_FUNCTION_DUMP_POINTERS。

语法

typedef struct _MINIPORT_DUMP_POINTERS {
  USHORT                 Version;
  USHORT                 Size;
  WCHAR                  DriverName[DUMP_MINIPORT_NAME_LENGTH];
  struct _ADAPTER_OBJECT *AdapterObject;
  PVOID                  MappedRegisterBase;
  ULONG                  CommonBufferSize;
  PVOID                  MiniportPrivateDumpData;
  ULONG                  SystemIoBusNumber;
  INTERFACE_TYPE         AdapterInterfaceType;
  ULONG                  MaximumTransferLength;
  ULONG                  NumberOfPhysicalBreaks;
  ULONG                  AlignmentMask;
  ULONG                  NumberOfAccessRanges;
  ACCESS_RANGE( )          *AccessRanges[];
  UCHAR                  NumberOfBuses;
  BOOLEAN                Master;
  BOOLEAN                MapBuffers;
  UCHAR                  MaximumNumberOfTargets;
} MINIPORT_DUMP_POINTERS, *PMINIPORT_DUMP_POINTERS;

成员

Version

设置为 DUMP_MINIPORT_VERSION_1。

Size

将 设置为 sizeof (MINIPORT_DUMP_POINTERS) 。

DriverName[DUMP_MINIPORT_NAME_LENGTH]

不带路径信息的微型端口驱动程序的宽字符名称 (例如,Miniport.sys) 。

AdapterObject

设置为 NULL。

MappedRegisterBase

设置为零。

CommonBufferSize

所需公共缓冲区的大小。 大小不能大于 64 KB (65,536 字节) 。

MiniportPrivateDumpData

在故障转储期间要传递给微型端口驱动程序的 HwStorFindAdapter 例程的上下文。 上下文在保留成员或从 Windows 8 开始传递PORT_CONFIGURATION_INFORMATION结构的 MiniportDumpData 成员中传递。

SystemIoBusNumber

指定 HBA 连接到的 I/O 总线的系统分配编号。 Storport 驱动程序初始化此成员。 使用 Storport 驱动程序的微型端口驱动程序不得更改此成员。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONSystemIoBusNumber 成员。

AdapterInterfaceType

标识 I/O 总线接口。 Storport 驱动程序初始化此成员。 使用 Storport 驱动程序的微型端口驱动程序不得修改此成员。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONAdapterInterfaceType 成员。

MaximumTransferLength

指定 HBA 在故障转储模式下的单个传输操作中可以传输的最大字节数。 默认情况下,此成员的值SP_UNINITIALIZED_VALUE,这表示最大传输大小不受限制。 此值特定于微型端口的转储操作,可能与 PORT_CONFIGURATION_INFORMATION的 MaximumTransferLength 成员中的值不同。

NumberOfPhysicalBreaks

指定数据缓冲区创建散点/收集列表时地址范围之间的最大分隔符数。 换句话说,适配器可以支持的散点/收集列表条目数减去 1。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONNumberOfPhysicalBreaks 成员。

AlignmentMask

包含一个掩码,该掩码指示 HBA 传输操作所需的缓冲区的对齐限制。 有效掩码值还受不同版本的 Microsoft Windows 操作系统上的内存管理器特征的限制。 有效掩码值为 0 (字节对齐) ,0x1 (单词对齐) ,0x3 (DWORD) 对齐,0x7 (双 DWORD 对齐) 。 如果 HBA 支持散点/收集,微型端口驱动程序应设置此掩码。 相同的注意事项也适用于 PORT_CONFIGURATION_INFORMATIONAlignmentMask 成员。

NumberOfAccessRanges

指定数组中 AccessRanges 元素的数目。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONNumberOfAccessRanges 成员。

AccessRanges

指向ACCESS_RANGE类型元素数组的指针。 Storport 驱动程序初始化此成员。 使用 Storport 驱动程序的微型端口驱动程序不得更改此成员。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONAccessRanges 成员。

NumberOfBuses

指定适配器控制的总线数。 默认情况下,此成员的值为零。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONNumberOfBuses 成员。

Master

为 TRUE 时,指示 HBA 是总线主节点。 Storport 驱动程序将此成员初始化为 TRUE,因为它的微型端口驱动程序必须支持总线主控 DMA。 使用 Storport 驱动程序的微型端口驱动程序不得更改此值。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONMaster 成员。

MapBuffers

指示 Storport 驱动程序是否将 SRB 数据缓冲区地址映射到系统虚拟地址。 有关详细信息,请参阅 HW_INITIALIZATION_DATAMapBuffers 成员。

MaximumNumberOfTargets

指定适配器可以控制的目标外设数。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATIONMaximumNumberOfTargets 成员。

注解

从Windows 8开始,物理微型端口驱动程序可以选择性地支持SRB_FUNCTION_DUMP_POINTERS。 如果物理微型端口支持此函数,则在调用 StorPortInitialize 之前,它必须在 HW_INITIALIZATION_DATA 结构的 FeatureSupport 成员中设置STOR_FEATURE_DUMP_POINTERS标志。 需要物理微型端口才能至少设置 MINIPORT_DUMP_POINTERS的 VersionSize 成员。 此外,如果与 PORT_CONFIGURATION_INFORMATION 中给定的值不同,则物理微型端口需要 MaximumTransferLength 成员。

要求

要求
Header storport.h (包括 Storport.h)

另请参阅

HW_INITIALIZATION_DATA

HwStorInitialize

PORT_CONFIGURATION_INFORMATION

SCSI_REQUEST_BLOCK