structure STOR_DEVICE_CAPABILITIES (minitape.h)
La structure STOR_DEVICE_CAPABILITIES signale les fonctionnalités de l’appareil au pilote Storport en réponse à une requête de fonctionnalités dans un bloc de requête 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. Storport définit ce champ sur STOR_DEVICE_CAPABILITIES_EX_VERSION_1.
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 physique de l’appareil qui empêche l’éjection de l’appareil. Ce membre concerne l’éjection d’une 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 lorsque le système est à l’état PowerSystemWorking . Ce membre concerne l’éjection d’un lun ou d’un appareil d’unité.
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.
Si Amovible a la valeur TRUE, l’appareil s’affiche dans le programme Débrancher ou éjecter le matériel, 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 de instance de l’appareil est unique à l’échelle du système. Ce bit est clair si l’ID instance est unique uniquement dans l’étendue du bus.
SilentInstall
Spécifie si Gestionnaire de périphériques devez supprimer toutes les boîtes de dialogue d’installation, à l’exception des boîtes de dialogue obligatoires telles que « aucun pilote compatible trouvé ».
SurpriseRemovalOK
Spécifie si le pilote miniport de l’appareil peut gérer le cas où l’appareil est supprimé avant que Storport 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 un SRB dans sa routine HwStorStartIo où la fonction SRB est SRB_FUNCTION_PNP, le SRB est mis en forme en tant que structure SCSI_PNP_REQUEST_BLOCK . Si le membre PnPAction du SRB est StorQueryCapabilities, le miniport peut retourner une structure STOR_DEVICE_CAPABILITIES dans le membre DataBuffer du SRB.
Storport envoie cette structure au miniport avec tous les membres initialisés sur 0. Au retour, seul le champ Amovible est utilisé à partir de cette structure.
À compter de Windows 8, les miniports doivent utiliser la structure STOR_DEVICE_CAPABILITIES_EX pour indiquer la prise en charge de fonctionnalités supplémentaires.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
En-tête | minitape.h (y compris Storport.h, Minitape.h, Srb.h) |