struttura MINIPORT_DUMP_POINTERS (storport.h)
Un driver miniport Storport usa questa struttura per supportare il codice della funzione SCSI_REQUEST_BLOCK (SRB) SRB_FUNCTION_DUMP_POINTERS. Quando un driver miniport riceve questo tipo di SRB, il membro SRB DataBuffer punta a una struttura MINIPORT_DUMP_POINTERS . Questo SRB viene inviato al driver miniport usato per controllare il disco che contiene i dati del dump di arresto anomalo dopo che la funzione SRB è stata restituita dalla routine HwStorInitialize del driver miniport. I driver miniport virtuali sono necessari per supportare SRB_FUNCTION_DUMP_POINTERS.
Sintassi
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
Impostare su DUMP_MINIPORT_VERSION_1.
Size
Impostare su sizeof(MINIPORT_DUMP_POINTERS).
DriverName[DUMP_MINIPORT_NAME_LENGTH]
Nome a caratteri wide del driver miniport senza informazioni sul percorso (ad esempio, Miniport.sys).
AdapterObject
Impostare su NULL.
MappedRegisterBase
Imposta su zero.
CommonBufferSize
Dimensioni del buffer comune richiesto. Le dimensioni non devono essere maggiori di 64 KB (65.536 byte).
MiniportPrivateDumpData
Contesto da passare alla routine HwStorFindAdapter del driver miniport durante il dump dell'arresto anomalo del sistema. Il contesto viene passato nel membro Riservato o, a partire da Windows 8, il membro MiniportDumpData della struttura PORT_CONFIGURATION_INFORMATION.
SystemIoBusNumber
Specifica il numero assegnato dal sistema del bus di I/O a cui è connesso l'HBA. Il driver Storport inizializza questo membro. I driver Miniport che funzionano con il driver Storport non devono modificare questo membro. Per altre informazioni, vedere il membro SystemIoBusNumber di PORT_CONFIGURATION_INFORMATION.
AdapterInterfaceType
Identifica l'interfaccia del bus di I/O. Il driver Storport inizializza questo membro. I driver Miniport che funzionano con il driver Storport non devono modificare questo membro. Per altre informazioni, vedere il membro AdapterInterfaceType di PORT_CONFIGURATION_INFORMATION.
MaximumTransferLength
Specifica il numero massimo di byte che l'HBA può trasferire in una singola operazione di trasferimento in modalità crashdump. Per impostazione predefinita, il valore di questo membro è SP_UNINITIALIZED_VALUE, che indica una dimensione massima di trasferimento illimitata. Questo valore è specifico per l'operazione di dump del miniport e può differire dal valore nel membro MaximumTransferLength di PORT_CONFIGURATION_INFORMATION.
NumberOfPhysicalBreaks
Specifica il numero massimo di interruzioni tra intervalli di indirizzi che un buffer di dati può avere per creare elenchi a dispersione/raccolta. In altre parole, il numero di voci di elenco a dispersione/raccolta che l'adattatore può supportare meno uno. Per altre informazioni, vedere il membro NumberOfPhysicalBreaks di PORT_CONFIGURATION_INFORMATION.
AlignmentMask
Contiene una maschera che indica le restrizioni di allineamento per i buffer richiesti dall'HBA per le operazioni di trasferimento. I valori di maschera validi sono limitati anche dalle caratteristiche dei gestori di memoria in versioni diverse dei sistemi operativi Microsoft Windows. I valori validi della maschera sono 0 (allineati a byte), 0x1 (allineati a parole), 0x3 (allineamento DWORD) e 0x7 (doppio allineamento DWORD). Il driver miniport deve impostare questa maschera se l'HBA supporta la raccolta/dispersione. Le stesse considerazioni si applicano al membro AlignmentMask di PORT_CONFIGURATION_INFORMATION.
NumberOfAccessRanges
Specifica il numero di elementi AccessRanges nella matrice. Per altre informazioni, vedere il membro NumberOfAccessRanges di PORT_CONFIGURATION_INFORMATION.
AccessRanges
Puntatore a una matrice di elementi di tipo ACCESS_RANGE. Il driver Storport inizializza questo membro. I driver Miniport che funzionano con il driver Storport non devono modificare questo membro. Per altre informazioni, vedere il membro AccessRanges di PORT_CONFIGURATION_INFORMATION.
NumberOfBuses
Specifica il numero di bus controllati dall'adattatore. Per impostazione predefinita, il valore di questo membro è zero. Per altre informazioni, vedere il membro NumberOfBuses di PORT_CONFIGURATION_INFORMATION.
Master
Indica, se TRUE, che l'HBA è un master del bus. Il driver Storport inizializza questo membro su TRUE, perché i relativi driver miniport devono supportare il mastering del bus DMA. I driver Miniport che funzionano con il driver Storport non devono modificare questo valore. Per altre informazioni, vedere il membro Master di PORT_CONFIGURATION_INFORMATION.
MapBuffers
Indica se il driver Storport esegue il mapping degli indirizzi del buffer dei dati SRB agli indirizzi virtuali di sistema. Per altre informazioni, vedere il membro MapBuffers di HW_INITIALIZATION_DATA.
MaximumNumberOfTargets
Specifica il numero di periferiche di destinazione che l'adattatore può controllare. Per altre informazioni, vedere il membro MaximumNumberOfTargets di PORT_CONFIGURATION_INFORMATION.
Commenti
A partire da Windows 8, i driver minport fisici possono supportare facoltativamente SRB_FUNCTION_DUMP_POINTERS. Se un miniport fisico supporta questa funzione, deve impostare il flag STOR_FEATURE_DUMP_POINTERS nel membro FeatureSupport della struttura HW_INITIALIZATION_DATA prima di chiamare StorPortInitialize. I miniport fisici sono necessari per impostare almeno i membri Version e Size di MINIPORT_DUMP_POINTERS. Inoltre, se diverso dal valore specificato in PORT_CONFIGURATION_INFORMATION, il membro MaximumTransferLength è necessario per un miniport fisico.
Requisiti
Requisito | Valore |
---|---|
Intestazione | storport.h (include Storport.h) |