MINIPORT_DUMP_POINTERS structure (storport.h)

A Storport miniport driver uses this structure to support the SCSI_REQUEST_BLOCK (SRB) function code SRB_FUNCTION_DUMP_POINTERS. When a miniport driver receives this kind of SRB, the DataBuffer SRB member points to a MINIPORT_DUMP_POINTERS structure. This SRB is sent to the miniport driver that is used to control the disk that holds the crash dump data after the SRB was returned from the miniport driver's HwStorInitialize routine. Virtual miniport drivers are required to support SRB_FUNCTION_DUMP_POINTERS.

Syntax

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;

Members

Version

Set to DUMP_MINIPORT_VERSION_1.

Size

Set to sizeof(MINIPORT_DUMP_POINTERS).

DriverName[DUMP_MINIPORT_NAME_LENGTH]

The wide-character name of the miniport driver without path information (for example, Miniport.sys).

AdapterObject

Set to NULL.

MappedRegisterBase

Set to zero.

CommonBufferSize

The size of the common buffer that is required. The size must not be greater than 64 KB (65,536 bytes).

MiniportPrivateDumpData

The context that is to be passed to the miniport driver's HwStorFindAdapter routine during the crash dump. The context is passed in the Reserved member or, starting with Windows 8, the MiniportDumpData member of the PORT_CONFIGURATION_INFORMATION structure.

SystemIoBusNumber

Specifies the system-assigned number of the I/O bus to which the HBA is connected. The Storport driver initializes this member. Miniport drivers that work with the Storport driver must not change this member. For more information, see the SystemIoBusNumber member of PORT_CONFIGURATION_INFORMATION.

AdapterInterfaceType

Identifies the I/O bus interface. The Storport driver initializes this member. Miniport drivers that work with the Storport driver must not modify this member. For more information, see the AdapterInterfaceType member of PORT_CONFIGURATION_INFORMATION.

MaximumTransferLength

Specifies the maximum number of bytes the HBA can transfer in a single transfer operation in crashdump mode. By default, the value of this member is SP_UNINITIALIZED_VALUE, which indicates an unlimited maximum transfer size. This value is specific to the dump operation of the miniport and may differ from the value in the MaximumTransferLength member of PORT_CONFIGURATION_INFORMATION.

NumberOfPhysicalBreaks

Specifies the maximum number of breaks between address ranges that a data buffer can have to create scatter/gather lists. In other words, the number of scatter/gather list entries that the adapter can support minus one. For more information, see the NumberOfPhysicalBreaks member of PORT_CONFIGURATION_INFORMATION.

AlignmentMask

Contains a mask that indicates the alignment restrictions for buffers that are required by the HBA for transfer operations. Valid mask values are also restricted by characteristics of the memory managers on different versions of the Microsoft Windows operating systems. The valid mask values are 0 (byte aligned), 0x1 (word aligned), 0x3 (DWORD aligned), and 0x7 (double DWORD aligned). The miniport driver should set this mask if the HBA supports scatter/gather. The same considerations apply to the AlignmentMask member of PORT_CONFIGURATION_INFORMATION.

NumberOfAccessRanges

Specifies the number of AccessRanges elements in the array. For more information, see the NumberOfAccessRanges member of PORT_CONFIGURATION_INFORMATION.

AccessRanges

A pointer to an array of ACCESS_RANGE-type elements. The Storport driver initializes this member. Miniport drivers that work with the Storport driver must not change this member. For more information, see the AccessRanges member of PORT_CONFIGURATION_INFORMATION.

NumberOfBuses

Specifies the number of buses that are controlled by the adapter. By default, the value of this member is zero. For more information, see the NumberOfBuses member of PORT_CONFIGURATION_INFORMATION.

Master

Indicates, when TRUE, that the HBA is a bus master. The Storport driver initializes this member to TRUE, because its miniport drivers must support bus-mastering DMA. Miniport drivers that work with the Storport driver must not change this value. For more information, see the Master member of PORT_CONFIGURATION_INFORMATION.

MapBuffers

Indicates whether the Storport driver maps SRB data buffer addresses to system virtual addresses. For more information, see the MapBuffers member of HW_INITIALIZATION_DATA.

MaximumNumberOfTargets

Specifies the number of target peripherals that the adapter can control. For more information, see the MaximumNumberOfTargets member of PORT_CONFIGURATION_INFORMATION.

Remarks

Starting with Windows 8, physical miniport drivers can optionally support SRB_FUNCTION_DUMP_POINTERS. If a physical miniport supports this function, it must set the STOR_FEATURE_DUMP_POINTERS flag in the FeatureSupport member of the HW_INITIALIZATION_DATA structure before calling StorPortInitialize. Physical miniports are required to set at least the Version and Size members of MINIPORT_DUMP_POINTERS. Also, if different from the value given in PORT_CONFIGURATION_INFORMATION, the MaximumTransferLength member is required for a physical miniport.

Requirements

Requirement Value
Header storport.h (include Storport.h)

See also

HW_INITIALIZATION_DATA

HwStorInitialize

PORT_CONFIGURATION_INFORMATION

SCSI_REQUEST_BLOCK