Partager via


SCSI_PNP_REQUEST_BLOCK structure (storport.h)

La structureSCSI_PNP_REQUEST_BLOCK est une version spéciale d’une SCSI_REQUEST_BLOCK utilisée pour les demandes plug-and-play (PNP).

Notes

Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote 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 à exécuter. Pour la structure SCSI_PNP_REQUEST_BLOCK , ce membre est toujours défini sur SRB_FUNCTION_PNP.

SrbStatus

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

PnPSubFunction

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

PathId

Identificateur de bus ou de port SCSI pour la demande. 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 besoins en ressources pour l’appareil.
StorSupriseRemoval (0x17) Surprise Suppression 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, pendant lequel la demande peut s’exécuter avant que le pilote Storport détermine que la requête 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 a défini SrbExtensionSize sur zéro dans la structure HW_INITIALIZATION_DATA . Le pilote Storport n’initialise pas la mémoire vers laquelle pointe ce membre. 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 requête PNP concerne l’adaptateur, et non l’un des appareils de l’adaptateur. Si cet indicateur est défini, le pilote miniport doit ignorer les valeurs dans PathId, TargetId et Lun.

Reserved

Réservé pour le système.

Reserved4[16]

Réservé pour le système.

Remarques

Le pilote Storport envoie SCSI_PNP_REQUEST_BLOCK demandes à un pilote miniport pour informer 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 SRM au pilote miniport. HwStorBuildIo vérifie le membre Function 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.

Configuration requise

Condition requise Valeur
En-tête storport.h (inclure Storport.h, Minitape.h, Srb.h)

Voir aussi

HwStorBuildIo

SCSI_REQUEST_BLOCK

StorPortNotification