estructura de MINIPORT_DUMP_POINTERS (storport.h)
Un controlador de miniport storport usa esta estructura para admitir el código de función SCSI_REQUEST_BLOCK (SRB) SRB_FUNCTION_DUMP_POINTERS. Cuando un controlador de minipuerto recibe este tipo de SRB, el miembro SRB dataBuffer apunta a una estructura de MINIPORT_DUMP_POINTERS . Este SRB se envía al controlador de minipuerto que se usa para controlar el disco que contiene los datos del volcado de memoria después de que se devuelva el SRB desde la rutina HwStorInitialize del controlador de miniporte. Los controladores de minipuerto virtual son necesarios para admitir SRB_FUNCTION_DUMP_POINTERS.
Sintaxis
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;
Miembros
Version
Establezca en DUMP_MINIPORT_VERSION_1.
Size
Establezca en sizeof(MINIPORT_DUMP_POINTERS).
DriverName[DUMP_MINIPORT_NAME_LENGTH]
Nombre de caracteres anchos del controlador de miniporte sin información de ruta de acceso (por ejemplo, Miniport.sys).
AdapterObject
Se establece en NULL.
MappedRegisterBase
Establecer en cero.
CommonBufferSize
Tamaño del búfer común necesario. El tamaño no debe ser mayor que 64 KB (65 536 bytes).
MiniportPrivateDumpData
Contexto que se va a pasar a la rutina HwStorFindAdapter del controlador de miniporte durante el volcado de memoria. El contexto se pasa en el miembro Reservado o, a partir de Windows 8, el miembro MiniportDumpData de la estructura PORT_CONFIGURATION_INFORMATION.
SystemIoBusNumber
Especifica el número asignado por el sistema del bus de E/S al que está conectado el HBA. El controlador storport inicializa este miembro. Los controladores de minipuerto que funcionan con el controlador storport no deben cambiar este miembro. Para obtener más información, vea el miembro SystemIoBusNumber de PORT_CONFIGURATION_INFORMATION.
AdapterInterfaceType
Identifica la interfaz del bus de E/S. El controlador storport inicializa este miembro. Los controladores de miniport que funcionan con el controlador storport no deben modificar este miembro. Para obtener más información, vea el miembro AdapterInterfaceType de PORT_CONFIGURATION_INFORMATION.
MaximumTransferLength
Especifica el número máximo de bytes que el HBA puede transferir en una sola operación de transferencia en modo crashdump. De forma predeterminada, el valor de este miembro es SP_UNINITIALIZED_VALUE, lo que indica un tamaño de transferencia máximo ilimitado. Este valor es específico de la operación de volcado de memoria del miniporte y puede diferir del valor del miembro MaximumTransferLength de PORT_CONFIGURATION_INFORMATION.
NumberOfPhysicalBreaks
Especifica el número máximo de saltos entre intervalos de direcciones que un búfer de datos puede tener para crear listas de dispersión y recopilación. En otras palabras, el número de entradas de lista de dispersión y recopilación que el adaptador puede admitir menos uno. Para obtener más información, vea el miembro NumberOfPhysicalBreaks de PORT_CONFIGURATION_INFORMATION.
AlignmentMask
Contiene una máscara que indica las restricciones de alineación de los búferes requeridos por el HBA para las operaciones de transferencia. Los valores de máscara válidos también están restringidos por características de los administradores de memoria en diferentes versiones de los sistemas operativos Microsoft Windows. Los valores de máscara válidos son 0 (alineados por bytes), 0x1 (alineados por palabras), 0x3 (alineados con DWORD) y 0x7 (doble DWORD alineado). El controlador de minipuerto debe establecer esta máscara si el HBA admite dispersión o recopilación. Las mismas consideraciones se aplican al miembro AlignmentMask de PORT_CONFIGURATION_INFORMATION.
NumberOfAccessRanges
Especifica el número de elementos AccessRanges de la matriz. Para obtener más información, vea el miembro NumberOfAccessRanges de PORT_CONFIGURATION_INFORMATION.
AccessRanges
Puntero a una matriz de elementos de tipo ACCESS_RANGE. El controlador storport inicializa este miembro. Los controladores de minipuerto que funcionan con el controlador storport no deben cambiar este miembro. Para obtener más información, consulte el miembro AccessRanges de PORT_CONFIGURATION_INFORMATION.
NumberOfBuses
Especifica el número de buses controlados por el adaptador. De forma predeterminada, el valor de este miembro es cero. Para obtener más información, vea el miembro NumberOfBuses de PORT_CONFIGURATION_INFORMATION.
Master
Indica, cuando es TRUE, que el HBA es un patrón de autobús. El controlador storport inicializa este miembro en TRUE, ya que sus controladores de minipuerto deben admitir la DMA de maestro de bus. Los controladores de miniport que funcionan con el controlador storport no deben cambiar este valor. Para obtener más información, consulte el miembro Maestro de PORT_CONFIGURATION_INFORMATION.
MapBuffers
Indica si el controlador de Storport asigna direcciones de búfer de datos SRB a direcciones virtuales del sistema. Para obtener más información, consulte el miembro MapBuffers de HW_INITIALIZATION_DATA.
MaximumNumberOfTargets
Especifica el número de periféricos de destino que el adaptador puede controlar. Para obtener más información, vea el miembro MaximumNumberOfTargets de PORT_CONFIGURATION_INFORMATION.
Comentarios
A partir de Windows 8, los controladores de minport físicos pueden admitir opcionalmente SRB_FUNCTION_DUMP_POINTERS. Si un miniport físico admite esta función, debe establecer la marca de STOR_FEATURE_DUMP_POINTERS en el miembro FeatureSupport de la estructura de HW_INITIALIZATION_DATA antes de llamar a StorPortInitialize. Se requieren miniportes físicos para establecer al menos los miembros Version y Size de MINIPORT_DUMP_POINTERS. Además, si es diferente del valor especificado en PORT_CONFIGURATION_INFORMATION, se requiere el miembro MaximumTransferLength para un miniporte físico.
Requisitos
Requisito | Valor |
---|---|
Header | storport.h (incluya Storport.h) |