(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_INFORMATION 的 SystemIoBusNumber 成员。
AdapterInterfaceType
标识 I/O 总线接口。 Storport 驱动程序初始化此成员。 使用 Storport 驱动程序的微型端口驱动程序不得修改此成员。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 AdapterInterfaceType 成员。
MaximumTransferLength
指定 HBA 在故障转储模式下的单个传输操作中可以传输的最大字节数。 默认情况下,此成员的值SP_UNINITIALIZED_VALUE,这表示最大传输大小不受限制。 此值特定于微型端口的转储操作,可能与 PORT_CONFIGURATION_INFORMATION的 MaximumTransferLength 成员中的值不同。
NumberOfPhysicalBreaks
指定数据缓冲区创建散点/收集列表时地址范围之间的最大分隔符数。 换句话说,适配器可以支持的散点/收集列表条目数减去 1。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 NumberOfPhysicalBreaks 成员。
AlignmentMask
包含一个掩码,该掩码指示 HBA 传输操作所需的缓冲区的对齐限制。 有效掩码值还受不同版本的 Microsoft Windows 操作系统上的内存管理器特征的限制。 有效掩码值为 0 (字节对齐) ,0x1 (单词对齐) ,0x3 (DWORD) 对齐,0x7 (双 DWORD 对齐) 。 如果 HBA 支持散点/收集,微型端口驱动程序应设置此掩码。 相同的注意事项也适用于 PORT_CONFIGURATION_INFORMATION 的 AlignmentMask 成员。
NumberOfAccessRanges
指定数组中 AccessRanges 元素的数目。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 NumberOfAccessRanges 成员。
AccessRanges
指向ACCESS_RANGE类型元素数组的指针。 Storport 驱动程序初始化此成员。 使用 Storport 驱动程序的微型端口驱动程序不得更改此成员。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 AccessRanges 成员。
NumberOfBuses
指定适配器控制的总线数。 默认情况下,此成员的值为零。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 NumberOfBuses 成员。
Master
当 为 TRUE 时,指示 HBA 是总线主节点。 Storport 驱动程序将此成员初始化为 TRUE,因为它的微型端口驱动程序必须支持总线主控 DMA。 使用 Storport 驱动程序的微型端口驱动程序不得更改此值。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 Master 成员。
MapBuffers
指示 Storport 驱动程序是否将 SRB 数据缓冲区地址映射到系统虚拟地址。 有关详细信息,请参阅 HW_INITIALIZATION_DATA 的 MapBuffers 成员。
MaximumNumberOfTargets
指定适配器可以控制的目标外设数。 有关详细信息,请参阅 PORT_CONFIGURATION_INFORMATION 的 MaximumNumberOfTargets 成员。
注解
从Windows 8开始,物理微型端口驱动程序可以选择性地支持SRB_FUNCTION_DUMP_POINTERS。 如果物理微型端口支持此函数,则在调用 StorPortInitialize 之前,它必须在 HW_INITIALIZATION_DATA 结构的 FeatureSupport 成员中设置STOR_FEATURE_DUMP_POINTERS标志。 需要物理微型端口才能至少设置 MINIPORT_DUMP_POINTERS的 Version 和 Size 成员。 此外,如果与 PORT_CONFIGURATION_INFORMATION 中给定的值不同,则物理微型端口需要 MaximumTransferLength 成员。
要求
要求 | 值 |
---|---|
Header | storport.h (包括 Storport.h) |