estructura SCSI_PNP_REQUEST_BLOCK (storport.h)
La estructuraSCSI_PNP_REQUEST_BLOCK es una versión especial de un SCSI_REQUEST_BLOCK que se usa para las solicitudes plug and play (PNP).
Nota
Los modelos de controlador de puerto SCSI y de miniporte SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar la del controlador storport de y modelos de miniport de Storport.
Sintaxis
typedef struct _SCSI_PNP_REQUEST_BLOCK {
USHORT Length;
UCHAR Function;
UCHAR SrbStatus;
UCHAR PnPSubFunction;
UCHAR PathId;
UCHAR TargetId;
UCHAR Lun;
STOR_PNP_ACTION PnPAction;
ULONG SrbFlags;
ULONG DataTransferLength;
ULONG TimeOutValue;
PVOID DataBuffer;
PVOID SenseInfoBuffer;
struct _SCSI_REQUEST_BLOCK *NextSrb;
PVOID OriginalRequest;
PVOID SrbExtension;
ULONG SrbPnPFlags;
ULONG Reserved;
UCHAR Reserved4[16];
} SCSI_PNP_REQUEST_BLOCK, *PSCSI_PNP_REQUEST_BLOCK;
Miembros
Length
Tamaño, en bytes, de la estructura SCSI_PNP_REQUEST_BLOCK.
Function
Operación que se va a realizar. Para la estructura SCSI_PNP_REQUEST_BLOCK, este miembro siempre se establece en SRB_FUNCTION_PNP.
SrbStatus
Estado de la solicitud completada. El controlador de miniport debe establecer este valor antes de notificar al controlador storport que la solicitud se ha completado. Un controlador de miniport notifica al controlador de Storport que la solicitud se ha completado llamando a la rutina de StorPortNotification con un tipo de notificación de RequestComplete. Para obtener una lista de posibles valores de estado, consulte SCSI_REQUEST_BLOCK.
PnPSubFunction
Este miembro no se usa actualmente. Los controladores de miniportar omiten este miembro.
PathId
El identificador de bus o puerto SCSI para la solicitud. Este valor se basa en cero.
TargetId
Controlador de destino o identificador de dispositivo en el bus.
Lun
Número de unidad lógica (LUN) del dispositivo.
PnPAction
Acción plug and play que se va a realizar. Este miembro puede tener uno de los siguientes valores:
Valor | Significado |
---|---|
(0x00) de StorStartDevice | Inicie el dispositivo. |
storRemoveDevice (0x02) | Quite el dispositivo. |
storStopDevice (0x04) | Detenga el dispositivo. |
StorQueryCapabilities (0x09) | Consulte las funcionalidades del dispositivo. |
storQueryResourceRequirements (0x0B) | Consulte los requisitos de recursos para el dispositivo. |
storFilterResourceRequirements (0x0D) | Filtre los requisitos de recursos para el dispositivo. |
storSupriseRemoval (0x17) | Eliminación sorpresa del dispositivo. Este valor se agregó en Windows 7. |
SrbFlags
El controlador miniport debe ignorar este miembro.
DataTransferLength
El controlador miniport debe ignorar este miembro.
TimeOutValue
El intervalo, en segundos, que la solicitud puede ejecutarse antes de que el controlador de Storport determine que la solicitud ha agotado el tiempo de espera.
DataBuffer
El controlador miniport debe ignorar este miembro.
SenseInfoBuffer
El controlador miniport debe ignorar este miembro.
NextSrb
El controlador miniport debe ignorar este miembro.
OriginalRequest
El controlador miniport debe ignorar este miembro.
SrbExtension
Puntero a la extensión SRB. Un controlador de miniporte no debe usar este miembro si establece SrbExtensionSize en cero en la estructura HW_INITIALIZATION_DATA. El controlador storport no inicializa la memoria a la que apunta este miembro. El HBA puede acceder directamente a los datos que escribe el controlador de miniporte en la extensión SRB. Un controlador de miniport puede obtener la dirección física de la extensión SRB llamando a la rutina StorPortGetPhysicalAddress.
SrbPnPFlags
Marcas PNP. Actualmente, la única marca permitida es SRB_PNP_FLAGS_ADAPTER_REQUEST, lo que indica que la solicitud PNP es para el adaptador y no para uno de los dispositivos del adaptador. Si se establece esta marca, el controlador de miniport debe omitir los valores de la PathId, TargetIdy Lun.
Reserved
Reservado para uso del sistema.
Reserved4[16]
Reservado para uso del sistema.
Observaciones
El controlador storport envía SCSI_PNP_REQUEST_BLOCK solicitudes a un controlador de miniport para notificar al controlador de miniportar los eventos plug and play de Windows que afectan a los dispositivos de almacenamiento que están conectados al adaptador.
El controlador de Storport llama a HwStorBuildIo para pasar SRB al controlador de miniport. HwStorBuildIo comprueba el miembro Function del SRB para determinar el tipo de SRB. Si el miembro Function está establecido en SRB_FUNCTION_PNP, SRB es una estructura de tipo SCSI_PNP_REQUEST_BLOCK.
Requisitos
Requisito | Valor |
---|---|
encabezado de | storport.h (include Storport.h, Minitape.h, Srb.h) |