Partager via


structure SCSI_PNP_REQUEST_BLOCK (storport.h)

La structureSCSI_PNP_REQUEST_BLOCK est une version spéciale d’un SCSI_REQUEST_BLOCK utilisé pour les requêtes PNP (Plug-and-Play).

Note

Le pilote de port SCSI et les modèles de pilotes miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser le pilote Storport et modèles de miniport storport.

Syntaxe

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;

Membres

Length

Taille, en octets, de la structure SCSI_PNP_REQUEST_BLOCK.

Function

Opération à effectuer. Pour la structure SCSI_PNP_REQUEST_BLOCK, ce membre est toujours défini sur SRB_FUNCTION_PNP.

SrbStatus

État de la demande terminée. Le pilote miniport doit définir cette valeur avant d’avertir le pilote Storport que la demande est terminée. Un pilote miniport informe le pilote Storport que la requête est terminée en appelant la routine StorPortNotification avec un type de notification RequestComplete. Pour obtenir la liste des valeurs d’état possibles, consultez SCSI_REQUEST_BLOCK.

PnPSubFunction

Ce membre n’est pas utilisé actuellement. Les pilotes miniport ignorent ce membre.

PathId

Identificateur de bus ou de port SCSI pour la requête. Cette valeur est basée sur zéro.

TargetId

Le contrôleur cible ou l’identificateur d’appareil sur le bus.

Lun

Numéro d’unité logique (LUN) de l’appareil.

PnPAction

Action plug-and-play à effectuer. Ce membre peut avoir l’une des valeurs suivantes :

Valeur Signification
storStartDevice (0x00) Démarrez l’appareil.
StorRemoveDevice (0x02) Supprimez l’appareil.
storStopDevice (0x04) Arrêtez l’appareil.
storQueryCapabilities (0x09) Interrogez les fonctionnalités de l’appareil.
StorQueryResourceRequirements (0x0B) Interrogez les besoins en ressources de l’appareil.
StorFilterResourceRequirements (0x0D) Filtrez les exigences en matière de ressources pour l’appareil.
storSupriseRemoval (0x17) Suppression surprise de l’appareil. Cette valeur a été ajoutée dans Windows 7.

SrbFlags

Le pilote Miniport doit ignorer ce membre.

DataTransferLength

Le pilote Miniport doit ignorer ce membre.

TimeOutValue

Intervalle, en secondes, que la requête peut s’exécuter avant que le pilote Storport détermine que la demande a expiré.

DataBuffer

Le pilote Miniport doit ignorer ce membre.

SenseInfoBuffer

Le pilote Miniport doit ignorer ce membre.

NextSrb

Le pilote Miniport doit ignorer ce membre.

OriginalRequest

Le pilote Miniport doit ignorer ce membre.

SrbExtension

Pointeur vers l’extension SRB. Un pilote miniport ne doit pas utiliser ce membre s’il définit SrbExtensionSize sur zéro dans la structure HW_INITIALIZATION_DATA. Le pilote Storport n’initialise pas la mémoire vers laquelle ce membre pointe. L’adaptateur HBA peut accéder directement aux données que le pilote miniport écrit dans l’extension SRB. Un pilote miniport peut obtenir l’adresse physique de l’extension SRB en appelant la routine StorPortGetPhysicalAddress.

SrbPnPFlags

Indicateurs PNP. Actuellement, le seul indicateur autorisé est SRB_PNP_FLAGS_ADAPTER_REQUEST, ce qui indique que la demande PNP concerne l’adaptateur, et non pour l’un des appareils de l’adaptateur. Si cet indicateur est défini, le pilote miniport doit ignorer les valeurs du PathId, TargetIdet Lun.

Reserved

Réservé à l’utilisation du système.

Reserved4[16]

Réservé à l’utilisation du système.

Remarques

Le pilote Storport envoie SCSI_PNP_REQUEST_BLOCK demandes à un pilote miniport pour notifier le pilote miniport des événements windows plug-and-play qui affectent les périphériques de stockage connectés à l’adaptateur.

Le pilote Storport appelle HwStorBuildIo pour passer des bases de données SRB au pilote miniport. HwStorBuildIo vérifie le membre de fonction du SRB pour déterminer le type du SRB. Si le membre function est défini sur SRB_FUNCTION_PNP, le SRB est une structure de type SCSI_PNP_REQUEST_BLOCK.

Exigences

Exigence Valeur
d’en-tête storport.h (include Storport.h, Minitape.h, Srb.h)

Voir aussi

HwStorBuildIo

SCSI_REQUEST_BLOCK

StorPortNotification