structure STOR_DEVICE_CAPABILITIES_EX (minitape.h)
La structure STOR_DEVICE_CAPABILITIES_EX signale les fonctionnalités d’appareil au pilote Storport 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_EX {
USHORT Version;
USHORT Size;
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 RawDeviceOK : 1;
ULONG SurpriseRemovalOK : 1;
ULONG NoDisplayInUI : 1;
ULONG DefaultWriteCacheEnabled : 1;
ULONG Reserved0 : 20;
ULONG Address;
ULONG UINumber;
ULONG Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;
Membres
Version
Spécifie la version de la structure. Storport définit ce champ sur STOR_DEVICE_CAPABILITIES_EX_VERSION_1.
Size
Spécifie la taille de la structure. Storport définit ce champ sur sizeof(STOR_DEVICE_CAPABILITIES_EX)
.
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 est défini sur TRUE, l’appareil n’appartient pas au même objet physique que son parent.
Si amovible est défini sur TRUE, 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é ».
RawDeviceOK
Spécifie si le pilote du bus sous-jacent peut conduire l’appareil s’il n’existe aucun pilote de fonction (par exemple, les périphériques SCSI en mode pass-through). Ce mode d’opération est appelé mode brut.
SurpriseRemovalOK
Spécifie si le pilote miniport pour l’appareil peut gérer le cas où l’appareil est supprimé avant que Storport puisse envoyer SRB_FUNCTION_PNP avec StorRemoveDevice comme 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.
DefaultWriteCacheEnabled
Le cache d’écriture de l’appareil de stockage est activé par défaut lors de l’initialisation.
Reserved0
Bits réservés.
Address
Adresse LUN de l’appareil d’unité de stockage.
UINumber
Spécifie un nombre associé à l’appareil qui peut être affiché dans l’interface utilisateur.
Ce nombre peut être une valeur d’ID choisie pour faciliter la localisation de l’appareil physique pour l’utilisateur. Lorsque UINumber est inconnu, le pilote miniport peut définir ce membre sur sa valeur par défaut de 0xFFFFFFFF.
Reserved1[2]
Bits réservés.
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_EX dans le DataBuffer membre du SRB.
Les caractéristiques d’éjection, de suppression et d’installation de l’appareil sont définies dans la structure STOR_DEVICE_CAPABILITIES_EX. Pour prendre en charge l’utilisation de cette structure, le miniport doit définir l’indicateur de STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES dans le membre des indicateurs FeatureSupport dans HW_INITIALIZATION_DATA avant d’appeler StorPortInitialize.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 8 |
d’en-tête | minitape.h (include Storport.h, Minitape.h, Srb.h) |