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).

Observação

Os modelos de driver de porta SCSI e driver de miniporto SCSI podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver do Storport e 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 é sempre definido como SRB_FUNCTION_PNP.

SrbStatus

O status da solicitação concluída. O driver de miniporte deve definir esse valor antes de notificar o driver storport que a solicitação foi concluída. Um driver de miniporto notifica o driver storport que a solicitação foi concluída chamando a rotina StorPortNotification com um tipo de notificação 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 miniporta 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 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 miniporte deve ignorar esse membro.

DataTransferLength

O driver de miniporte 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 miniporte deve ignorar esse membro.

SenseInfoBuffer

O driver de miniporte deve ignorar esse membro.

NextSrb

O driver de miniporte deve ignorar esse membro.

OriginalRequest

O driver de miniporte deve ignorar esse membro.

SrbExtension

Um ponteiro para a extensão SRB. Um driver de miniporte 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 rotina StorPortGetPhysicalAddress .

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 em PathId, TargetId e Lun.

Reserved

Reservado para uso do sistema.

Reserved4[16]

Reservado para uso do sistema.

Comentários

O driver storport envia SCSI_PNP_REQUEST_BLOCK solicitações 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. HwStorBuildIo verifica o membro function do SRB para determinar o tipo do SRB. Se o membro function 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)

Confira também

HwStorBuildIo

SCSI_REQUEST_BLOCK

StorPortNotification