Estrutura de SCSI_PNP_REQUEST_BLOCK (SRB. h)
A estrutura deSCSI_PNP_REQUEST_BLOCK é uma versão especial de um SCSI_REQUEST_BLOCK que é usada para solicitações de plug and Play (PnP).
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 de SCSI_PNP_REQUEST_BLOCK .
Function
A operação a ser executada. Para a estrutura de SCSI_PNP_REQUEST_BLOCK , esse membro é sempre definido como SRB_FUNCTION_PNP.
SrbStatus
O status da solicitação concluída. O driver de miniporta deve definir esse valor antes de notificar o driver Storport que a solicitação foi concluída. Um driver de miniporta notifica o driver Storport que a solicitação foi concluída chamando a rotina StorPortNotification 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 está sendo usado no momento. Drivers de Miniport ignoram este membro.
PathId
A porta SCSI ou o identificador de barramento para a solicitação. Esse valor é baseado em zero.
TargetId
O controlador de destino ou o identificador do dispositivo no barramento.
Lun
O LUN (número de unidade lógica) do dispositivo.
PnPAction
A ação plug and Play a ser executada. Esse membro pode ter um dos seguintes valores:
SrbFlags
O driver de miniporta deve ignorar esse membro.
DataTransferLength
O driver de miniporta deve ignorar esse membro.
TimeOutValue
O intervalo, em segundos, que a solicitação pode executar antes que o driver Storport determine que o tempo limite da solicitação foi atingido.
DataBuffer
O driver de miniporta deve ignorar esse membro.
SenseInfoBuffer
O driver de miniporta deve ignorar esse membro.
NextSrb
O driver de miniporta deve ignorar esse membro.
OriginalRequest
O driver de miniporta deve ignorar esse membro.
SrbExtension
Um ponteiro para a extensão SRB. Um driver de miniporta não deve usar esse membro se ele definir SrbExtensionSize como zero na estrutura de 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 miniporta grava na extensão SRB. Um driver de miniporta pode obter o endereço físico da extensão SRB chamando a rotina StorPortGetPhysicalAddress .
SrbPnPFlags
Os sinalizadores de PNP. Atualmente, o único sinalizador permitido é SRB_PNP_FLAGS_ADAPTER_REQUEST, o que indica que a solicitação de PNP é para o adaptador, e não para um dos dispositivos no adaptador. Se esse sinalizador for definido, o driver de miniporta deverá ignorar os valores em PathId, TargetIde LUN.
Reserved
Reservado para uso do sistema.
Reserved4
Reservado para uso do sistema.
Comentários
o driver Storport envia SCSI_PNP_REQUEST_BLOCK solicitações a um driver de miniport para notificar o driver de miniporta de Windows eventos plug and play que afetam os dispositivos de armazenamento conectados ao adaptador.
O driver Storport chama HwStorBuildIo para passar SRBs para o driver de miniporta. HwStorBuildIo verifica o membro da função de SRB para determinar o tipo de SRB. Se o membro da função for definido como SRB_FUNCTION_PNP, SRB será uma estrutura do tipo SCSI_PNP_REQUEST_BLOCK.
Requisitos
Cabeçalho | SRB. h (inclua Storport. h, Minitape. h, SRB. h) |
Confira também
Comentários
Enviar e exibir comentários de