MINIPORT_DUMP_POINTERS-Struktur (storport.h)
Ein Storport-Miniporttreiber verwendet diese Struktur, um den SRB-Funktionscode ( SCSI_REQUEST_BLOCK ) SRB_FUNCTION_DUMP_POINTERS zu unterstützen. Wenn ein Miniporttreiber diese Art von SRB empfängt, verweist der DataBuffer-SRB-Member auf eine MINIPORT_DUMP_POINTERS-Struktur . Dieser SRB wird an den Miniporttreiber gesendet, der verwendet wird, um den Datenträger zu steuern, der die Absturzabbilddaten enthält, nachdem der SRB von der HwStorInitialize-Routine des Miniporttreibers zurückgegeben wurde. Virtuelle Miniporttreiber sind erforderlich, um SRB_FUNCTION_DUMP_POINTERS zu unterstützen.
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;
Member
Version
Auf DUMP_MINIPORT_VERSION_1 festgelegt.
Size
Legen Sie auf sizeof(MINIPORT_DUMP_POINTERS) fest.
DriverName[DUMP_MINIPORT_NAME_LENGTH]
Der Breitzeichenname des Miniporttreibers ohne Pfadinformationen (z. B. Miniport.sys).
AdapterObject
Auf NULL festgelegt.
MappedRegisterBase
Auf NULL festlegen.
CommonBufferSize
Die Größe des erforderlichen allgemeinen Puffers. Die Größe darf nicht größer als 64 KB (65.536 Bytes) sein.
MiniportPrivateDumpData
Der Kontext, der während des Absturzabbilds an die HwStorFindAdapter-Routine des Miniporttreibers übergeben werden soll. Der Kontext wird im Reservierten Element oder, beginnend mit Windows 8, dem MiniportDumpData-Member der PORT_CONFIGURATION_INFORMATION-Struktur übergeben.
SystemIoBusNumber
Gibt die systemseitig zugewiesene Nummer des E/A-Busses an, mit dem der HBA verbunden ist. Der Storport-Treiber initialisiert diesen Member. Miniporttreiber, die mit dem Storport-Treiber arbeiten, dürfen diesen Member nicht ändern. Weitere Informationen finden Sie im SystemIoBusNumber-Element von PORT_CONFIGURATION_INFORMATION.
AdapterInterfaceType
Identifiziert die E/A-Busschnittstelle. Der Storport-Treiber initialisiert diesen Member. Miniporttreiber, die mit dem Storport-Treiber arbeiten, dürfen diesen Member nicht ändern. Weitere Informationen finden Sie im AdapterInterfaceType-Element von PORT_CONFIGURATION_INFORMATION.
MaximumTransferLength
Gibt die maximale Anzahl von Bytes an, die der HBA in einem einzelnen Übertragungsvorgang im Absturzdumpmodus übertragen kann. Standardmäßig ist der Wert dieses Members SP_UNINITIALIZED_VALUE, was eine unbegrenzte maximale Übertragungsgröße angibt. Dieser Wert ist spezifisch für den Speicherabbildvorgang des Miniports und kann sich vom Wert im MaximumTransferLength-Element des PORT_CONFIGURATION_INFORMATION unterscheiden.
NumberOfPhysicalBreaks
Gibt die maximale Anzahl von Unterbrechungen zwischen Adressbereichen an, die ein Datenpuffer zum Erstellen von Punkt-/Sammlungslisten haben kann. Anders ausgedrückt: Die Anzahl der Punkt-/Gather-Listeneinträge, die der Adapter unterstützen kann, minus 1. Weitere Informationen finden Sie im Member NumberOfPhysicalBreaks von PORT_CONFIGURATION_INFORMATION.
AlignmentMask
Enthält eine Maske, die die Ausrichtungseinschränkungen für Puffer angibt, die vom HBA für Übertragungsvorgänge erforderlich sind. Gültige Maskenwerte werden auch durch Merkmale der Speicher-Manager in verschiedenen Versionen der Microsoft Windows-Betriebssysteme eingeschränkt. Die gültigen Maskenwerte sind 0 (Byte ausgerichtet), 0x1 (Wort ausgerichtet), 0x3 (DWORD ausgerichtet) und 0x7 (doppelteS DWORD ausgerichtet). Der Miniporttreiber sollte diese Maske festlegen, wenn der HBA scatter/gather unterstützt. Die gleichen Überlegungen gelten für den AlignmentMask-Member von PORT_CONFIGURATION_INFORMATION.
NumberOfAccessRanges
Gibt die Anzahl der AccessRanges-Elemente im Array an. Weitere Informationen finden Sie im NumberOfAccessRanges-Member von PORT_CONFIGURATION_INFORMATION.
AccessRanges
Ein Zeiger auf ein Array von elementen vom Typ ACCESS_RANGE. Der Storport-Treiber initialisiert diesen Member. Miniporttreiber, die mit dem Storport-Treiber arbeiten, dürfen diesen Member nicht ändern. Weitere Informationen finden Sie im AccessRanges-Element von PORT_CONFIGURATION_INFORMATION.
NumberOfBuses
Gibt die Anzahl der Busse an, die vom Adapter gesteuert werden. Standardmäßig ist der Wert dieses Members null. Weitere Informationen finden Sie im NumberOfBuses-Member von PORT_CONFIGURATION_INFORMATION.
Master
Gibt bei TRUE an, dass der HBA ein Bus-master ist. Der Storport-Treiber initialisiert dieses Element auf TRUE, da seine Miniporttreiber das Busmastering-DMA unterstützen müssen. Miniport-Treiber, die mit dem Storport-Treiber arbeiten, dürfen diesen Wert nicht ändern. Weitere Informationen finden Sie im Mastermember von PORT_CONFIGURATION_INFORMATION.
MapBuffers
Gibt an, ob der Storport-Treiber SRB-Datenpufferadressen virtuellen Systemadressen zuordnet. Weitere Informationen finden Sie im MapBuffers-Element von HW_INITIALIZATION_DATA.
MaximumNumberOfTargets
Gibt die Anzahl der Zielperipheriegeräte an, die der Adapter steuern kann. Weitere Informationen finden Sie im Element MaximumNumberOfTargets von PORT_CONFIGURATION_INFORMATION.
Hinweise
Ab Windows 8 können physische Minporttreiber optional SRB_FUNCTION_DUMP_POINTERS unterstützen. Wenn ein physischer Miniport diese Funktion unterstützt, muss er das flag STOR_FEATURE_DUMP_POINTERS im FeatureSupport-Element der HW_INITIALIZATION_DATA-Struktur festlegen, bevor StorPortInitialize aufgerufen wird. Physische Miniports sind erforderlich, um mindestens die Member Version und Größe von MINIPORT_DUMP_POINTERS festzulegen. Wenn sich der in PORT_CONFIGURATION_INFORMATION angegebene Wert unterscheidet, ist der MaximumTransferLength-Member für einen physischen Miniport erforderlich.
Anforderungen
Anforderung | Wert |
---|---|
Header | storport.h (Storport.h einschließen) |