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)

Voir aussi

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice