estrutura SCSI_PNP_REQUEST_BLOCK (storport.h)
A estruturaSCSI_PNP_REQUEST_BLOCK é uma versão especial de um SCSI_REQUEST_BLOCK que é usado para solicitações PNP (plug and play).
Nota
O driver de porta SCSI e os modelos de driver de miniporto SCSI podem estar alterados ou indisponíveis no futuro. Em vez disso, recomendamos o uso do driver Storport e modelos de do driver de miniporto storport.
Sintaxe
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;
Membros
Length
O tamanho, em bytes, da estrutura SCSI_PNP_REQUEST_BLOCK.
Function
A operação a ser executada. Para a estrutura SCSI_PNP_REQUEST_BLOCK, esse membro está sempre definido como SRB_FUNCTION_PNP.
SrbStatus
O status da solicitação concluída. O driver de miniporto deve definir esse valor antes de notificar o driver Storport que a solicitação concluiu. Um driver de miniporto notifica o driver Storport que a solicitação foi concluída chamando a rotinaStorPortNotification com um tipo de notificação de RequestComplete. Para obter uma lista de possíveis valores de status, consulte SCSI_REQUEST_BLOCK.
PnPSubFunction
Este membro não é usado no momento. Os drivers de miniporto ignoram esse membro.
PathId
O identificador de barramento ou porta SCSI para a solicitação. Esse valor é baseado em zero.
TargetId
O controlador de destino ou o identificador de dispositivo no barramento.
Lun
O LUN (número de unidade lógica) do dispositivo.
PnPAction
A ação de plug-and-play a ser executada. Esse membro pode ter um dos seguintes valores:
Valor | Significado |
---|---|
StorStartDevice (0x00) | Inicie o dispositivo. |
StorRemoveDevice (0x02) | Remova o dispositivo. |
StorStopDevice (0x04) | Pare o dispositivo. |
StorQueryCapabilities (0x09) | Consulte os recursos do dispositivo. |
StorQueryResourceRequirements (0x0B) | Consulte os requisitos de recurso para o dispositivo. |
StorFilterResourceRequirements (0x0D) | Filtre os requisitos de recurso para o dispositivo. |
StorSupriseRemoval (0x17) | Remoção surpresa do dispositivo. Esse valor foi adicionado no Windows 7. |
SrbFlags
O driver de miniporto deve ignorar esse membro.
DataTransferLength
O driver de miniporto deve ignorar esse membro.
TimeOutValue
O intervalo, em segundos, que a solicitação pode ser executada antes que o driver Storport determine que a solicitação atingiu o tempo limite.
DataBuffer
O driver de miniporto deve ignorar esse membro.
SenseInfoBuffer
O driver de miniporto deve ignorar esse membro.
NextSrb
O driver de miniporto deve ignorar esse membro.
OriginalRequest
O driver de miniporto deve ignorar esse membro.
SrbExtension
Um ponteiro para a extensão SRB. Um driver de miniporto não deverá usar esse membro se ele definir SrbExtensionSize como zero na estrutura HW_INITIALIZATION_DATA. O driver Storport não inicializa a memória para a qual esse membro aponta. O HBA pode acessar diretamente os dados que o driver de miniporto grava na extensão SRB. Um driver de miniporto pode obter o endereço físico da extensão SRB chamando a rotinaStorPortGetPhysicalAddress.
SrbPnPFlags
Os sinalizadores PNP. Atualmente, o único sinalizador permitido é SRB_PNP_FLAGS_ADAPTER_REQUEST, o que indica que a solicitação PNP é para o adaptador e não para um dos dispositivos no adaptador. Se esse sinalizador for definido, o driver de miniporto deverá ignorar os valores no PathId, TargetId e Lun.
Reserved
Reservado para uso do sistema.
Reserved4[16]
Reservado para uso do sistema.
Observações
O driver storport envia solicitações SCSI_PNP_REQUEST_BLOCK a um driver de miniporto para notificar o driver de miniporto de eventos de plug and play do Windows que afetam os dispositivos de armazenamento conectados ao adaptador.
O driver storport chama HwStorBuildIo para passar SRBs para o driver de miniporto. do HwStorBuildIo verifica o de função membro do SRB para determinar o tipo do SRB. Se o membro da Função estiver definido como SRB_FUNCTION_PNP, o SRB será uma estrutura do tipo SCSI_PNP_REQUEST_BLOCK.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | storport.h (inclua Storport.h, Minitape.h, Srb.h) |