structure WDF_DEVICE_PNP_CAPABILITIES (wdfdevice.h)
[S’applique à KMDF et UMDF]
La structure WDF_DEVICE_PNP_CAPABILITIES décrit les fonctionnalités 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 WDF_TRI_STATE-typée 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 le média d’éjection d’un appareil.) Pour plus d’informations sur les valeurs WDF_TRI_STATE typées, consultez la section Remarques suivante.
EjectSupported
Valeur WDF_TRI_STATE typée 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 un média à partir d’un appareil.)
Removable
Valeur WDF_TRI_STATE typée 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 SurpriseRemovalOK est défini sur WdfFalse, les utilisateurs doivent utiliser le programme Unplug ou Eject Hardware du système.
DockDevice
Valeur WDF_TRI_STATE typée qui indique, si elle est définie sur WdfTrue, que l’appareil est une station d’ancrage.
UniqueID
Valeur WDF_TRI_STATE typée qui indique, si elle est définie sur WdfTrue, que l’ID d’instance de l’appareil est unique à l’ensemble du système. Si uniqueID est défini sur WdfFalse, l’ID d’instance est unique uniquement pour le bus de l’appareil. Pour plus d’informations sur les ID d’instance, consultez chaînes d’identification d’appareil.
SilentInstall
Valeur WDF_TRI_STATE typée qui indique, si elle est définie sur WdfTrue, que Device Manager ne doit pas afficher les boîtes de dialogue pendant l’installation de l’appareil.
SurpriseRemovalOK
Valeur WDF_TRI_STATE typée qui indique, si elle est définie sur WdfTrue (et si amovible est également définie sur WdfTrue), que les utilisateurs peuvent supprimer l’appareil sans utiliser le programme Unplug or Eject Hardware du système.
HardwareDisabled
Valeur WDF_TRI_STATE typée qui indique, si elle est définie sur WdfTrue, que l’appareil est désactivé.
NoDisplayInUI
Valeur WDF_TRI_STATE typée qui indique, si elle est définie sur WdfTrue, que Device Manager ne doit pas afficher l’appareil.
Address
Adresse qui indique l’emplacement de l’appareil sur 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. La valeur par défaut est 0xFFFFFFFF. |
EISA | Numéro d’emplacement (0-F). |
IDE | Pour un appareil IDE, l’adresse contient l’ID cible et le numéro d’unité logique. Pour un canal IDE, l’adresse est zéro ou une (0 = canal principal et 1 = canal secondaire). |
ISApnp | Ne fournit pas d’adresse. La valeur par défaut est 0xFFFFFFFF. |
Carte PC (PCMCIA) | Numéro de socket (généralement 0x00 ou 0x40). |
PCI | Numéro d’appareil dans le mot élevé et numéro de fonction dans le mot bas. |
SCSI | ID cible. |
USB | Numéro de port. |
UINumber
Nombre associé à l’appareil et pouvant ê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 nombre imprimé en regard de l’emplacement sur la carte ou d’un autre nombre qui aide l’utilisateur à localiser l’appareil. Si UINumber est inconnu ou si l’approvisionnement d’un numéro n’aidera 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 qu’il ne le fait pas. Une valeur de WdfUseDefault indique que l’infrastructure utilisera la valeur qu’un pilote inférieur 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 pour WdfDeviceSetPnpCapabilities.
Pour initialiser une structure WDF_DEVICE_PNP_CAPABILITIES, un pilote doit appeler WDF_DEVICE_PNP_CAPABILITIES_INIT.
Spécifications
Besoin | Valeur |
---|---|
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
En-tête | wdfdevice.h (include Wdf.h) |