Partager via


structure STOR_DEVICE_CAPABILITIES (srb.h)

La structure STOR_DEVICE_CAPABILITIES signale les fonctionnalités d’appareil au pilote de port SCSI en réponse à une requête de fonctionnalités dans un bloc de requêtes SCSI (SRB) avec une fonction de SRB_FUNCTION_PNP. STOR_DEVICE_CAPABILITIES est un sous-ensemble de la structure DEVICE_CAPABILITIES contenant les membres pertinents pour les appareils de stockage.

Syntaxe

typedef struct _STOR_DEVICE_CAPABILITIES {
  USHORT Version;
  ULONG  DeviceD1 : 1;
  ULONG  DeviceD2 : 1;
  ULONG  LockSupported : 1;
  ULONG  EjectSupported : 1;
  ULONG  Removable : 1;
  ULONG  DockDevice : 1;
  ULONG  UniqueID : 1;
  ULONG  SilentInstall : 1;
  ULONG  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
} STOR_DEVICE_CAPABILITIES, *PSTOR_DEVICE_CAPABILITIES;

Membres

Version

Spécifie la version de la structure. Défini sur STOR_DEVICE_CAPABILITIES_EX_VERSION_1 par port SCSI.

DeviceD1

Spécifie si le matériel de l’appareil prend en charge l’état d’alimentation D1. Les pilotes miniport définissent ce bit sur 0.

DeviceD2

Spécifie si le matériel de l’appareil prend en charge l’état d’alimentation D2. Les pilotes miniport définissent ce bit sur 0.

LockSupported

Spécifie si l’appareil prend en charge le verrouillage d’appareil physique qui empêche l’éjection de l’appareil. Ce membre se rapporte à l’éjection d’un LUN ou d’un appareil d’unité.

EjectSupported

Spécifie si l’appareil prend en charge l’éjection d’appareil contrôlée par logiciel pendant que le système est dans l’état PowerSystemWorking. Ce membre se rapporte à l’éjection d’un numéro d’unité logique ou d’un appareil unitaire.

Removable

Spécifie si l’appareil peut être supprimé dynamiquement de son parent immédiat. Si amovible a la valeur TRUE :

  • L’appareil n’appartient pas au même objet physique que son parent.
  • L’appareil s’affiche dans le programme Unplug ou Eject Hardware, sauf si SurpriseRemovalOK est également défini sur TRUE.

DockDevice

Spécifie si l’appareil est un périphérique d’ancrage.

UniqueID

Spécifie si l’ID d’instance de l’appareil est unique à l’échelle du système. Ce bit est clair si l’ID d’instance est unique uniquement dans l’étendue du bus.

SilentInstall

Spécifie si Device Manager doit supprimer toutes les boîtes de dialogue d’installation ; sauf les boîtes de dialogue requises, telles que « aucun pilote compatible trouvé ».

SurpriseRemovalOK

Spécifie si le pilote miniport pour l’appareil peut gérer le cas où l’appareil est supprimé avant que le port SCSI puisse envoyer des SRB_FUNCTION_PNP avec StorRemoveDevice en tant que PnPAction dans la structure SCSI_PNP_REQUEST_BLOCK. Si SurpriseRemovalOK a la valeur TRUE, l’appareil peut être supprimé en toute sécurité de son parent immédiat, quel que soit l’état dans lequel se trouve son pilote.

NoDisplayInUI

N’affichez pas l’appareil dans l’interface utilisateur. Si ce bit est défini, l’appareil n’est jamais affiché dans l’interface utilisateur, même si l’appareil est présent, mais ne parvient pas à démarrer. Les pilotes miniport ne définissent pas ce bit.

Remarques

Lorsqu’un pilote miniport reçoit une SRB dans son HwStorStartIo routine où la fonction SRB est SRB_FUNCTION_PNP, la SRB est mise en forme comme structure SCSI_PNP_REQUEST_BLOCK. Si le PnPAction membre du SRB est StorQueryCapabilities, le miniport peut retourner une structure STOR_DEVICE_CAPABILITIES dans le DataBuffer membre du SRB.

Le port SCSI envoie cette structure au miniport avec tous les membres initialisés à 0.

À compter de Windows 8, les miniports doivent utiliser la structure STOR_DEVICE_CAPABILITIES_EX pour indiquer la prise en charge des fonctionnalités supplémentaires.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
d’en-tête srb.h (include Storport.h, Minitape.h, Srb.h)

Voir aussi

DEVICE_CAPABILITIES

SCSI_PNP_REQUEST_BLOCK

STOR_DEVICE_CAPABILITIES_EX