structure WDF_DEVICE_PNP_CAPABILITIES (wdfdevice.h)
[S’applique à KMDF et UMDF]
La structure WDF_DEVICE_PNP_CAPABILITIES décrit les fonctionnalités de Plug-and-Play d’un appareil.
Syntaxe
typedef struct _WDF_DEVICE_PNP_CAPABILITIES {
ULONG Size;
WDF_TRI_STATE LockSupported;
WDF_TRI_STATE EjectSupported;
WDF_TRI_STATE Removable;
WDF_TRI_STATE DockDevice;
WDF_TRI_STATE UniqueID;
WDF_TRI_STATE SilentInstall;
WDF_TRI_STATE SurpriseRemovalOK;
WDF_TRI_STATE HardwareDisabled;
WDF_TRI_STATE NoDisplayInUI;
ULONG Address;
ULONG UINumber;
} WDF_DEVICE_PNP_CAPABILITIES, *PWDF_DEVICE_PNP_CAPABILITIES;
Membres
Size
Taille, en octets, de cette structure.
LockSupported
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut être verrouillé dans son emplacement pour empêcher l’éjection. (Cette fonctionnalité désactive l’éjection d’un appareil à partir de son emplacement, et non l’éjection de média d’un appareil.) Pour plus d’informations sur les valeurs de type WDF_TRI_STATE, consultez la section Remarques suivante.
EjectSupported
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut être éjecté de son emplacement. (Cette fonctionnalité permet d’éjecter un appareil à partir de son emplacement, et non d’éjecter le média d’un appareil.)
Removable
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil peut être supprimé pendant l’exécution du système. Si Amovible est défini sur WdfTrue et Que SurpriseRemovalOK a la valeur WdfFalse, les utilisateurs doivent utiliser le programme Unplug ou Eject Hardware du système.
DockDevice
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil est une station d’accueil.
UniqueID
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’ID de instance de l’appareil est unique à l’ensemble du système. Si UniqueID est défini sur WdfFalse, l’ID de instance est unique uniquement au bus de l’appareil. Pour plus d’informations sur instance ID, consultez Chaînes d’identification d’appareil.
SilentInstall
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que Gestionnaire de périphériques ne doit pas afficher de boîtes de dialogue pendant l’installation de l’appareil.
SurpriseRemovalOK
Valeur de type WDF_TRI_STATE qui indique, s’il est défini sur WdfTrue (et si Amovible est également défini sur WdfTrue), que les utilisateurs peuvent supprimer l’appareil sans utiliser le programme de débranchement ou d’éjection du matériel du système.
HardwareDisabled
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que l’appareil est désactivé.
NoDisplayInUI
Valeur de type WDF_TRI_STATE qui indique, si elle est définie sur WdfTrue, que Gestionnaire de périphériques ne doit pas afficher l’appareil.
Address
Adresse qui indique l’emplacement de l’appareil dans son bus.
L’interprétation de ce nombre est spécifique au bus. Si l’adresse est inconnue ou si le pilote de bus ne prend pas en charge une adresse, le pilote de bus quitte le membre Address à sa valeur par défaut de 0xFFFFFFFF (-1).
La liste suivante décrit les informations que certains pilotes de bus stockent dans le membre Address pour leurs appareils enfants :
Bus | Description |
---|---|
1394 | Ne fournit pas d’adresse, car les adresses sont volatiles. Par défaut, 0xFFFFFFFF. |
EISA | Numéro d’emplacement (0-F). |
IDE | Pour un appareil IDE, l’adresse contient l’ID cible et la LUN. Pour un canal IDE, l’adresse est zéro ou un (0 = canal principal et 1 = canal secondaire). |
ISApnp | Ne fournit pas d’adresse. Par défaut, 0xFFFFFFFF. |
Carte PC (PCMCIA) | Numéro de socket (généralement 0x00 ou 0x40). |
PCI | Numéro d’appareil dans le mot le plus élevé et numéro de fonction dans le mot bas. |
SCSI | ID cible. |
USB | Numéro de port. |
UINumber
Nombre associé à l’appareil et qui peut être affiché dans les interfaces utilisateur. Ce nombre est généralement un numéro d’emplacement perçu par l’utilisateur, tel qu’un numéro imprimé à côté de l’emplacement sur la carte ou un autre numéro qui aide l’utilisateur à localiser l’appareil. Si UINumber est inconnu ou si la fourniture d’un nombre n’aide pas l’utilisateur à identifier l’emplacement de l’appareil, le pilote définit cette valeur sur -1.
Remarques
Plusieurs membres utilisent le type WDF_TRI_STATE . Pour ces membres, une valeur de WdfTrue indique que l’appareil prend en charge la fonctionnalité et une valeur de WdfFalse indique que ce n’est pas le cas. La valeur WdfUseDefault indique que l’infrastructure utilisera la valeur qu’un pilote plus bas dans la pile fournie. Par exemple, si un pilote de bus spécifie WdfTrue pour LockSupported et que le pilote de fonction de l’appareil spécifie WdfUseDefault, le framework stocke WdfTrue pour la fonctionnalité.
La structure WDF_DEVICE_PNP_CAPABILITIES est utilisée comme entrée dans WdfDeviceSetPnpCapabilities.
Pour initialiser une structure de WDF_DEVICE_PNP_CAPABILITIES, un pilote doit appeler WDF_DEVICE_PNP_CAPABILITIES_INIT.
Configuration requise
Condition requise | Valeur |
---|---|
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfdevice.h (include Wdf.h) |