Partager via


Accès au modèle de propriété d’appareil unifié

Cette rubrique décrit comment un pilote WDF (Windows Driver Frameworks) récupère ou modifie les propriétés exposées via le modèle de propriété d’appareil unifié. Les méthodes répertoriées sont disponibles à partir de User-Mode Driver Framework (UMDF) version 2.0 et Kernel-Mode Driver Framework (KMDF) version 1.13.

Les pilotes KMDF et UMDF peuvent appeler les méthodes suivantes :

Les pilotes KMDF et UMDF peuvent appeler les méthodes suivantes uniquement avant d’appeler WdfDeviceCreate. Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework.

Après avoir appelé WdfDeviceCreate, un pilote peut obtenir des informations sur la propriété de l’appareil en appelant la méthode WdfDeviceXxxProperty correspondante.

Les méthodes -Ex ci-dessus diffèrent de leurs équivalents non Ex en ce qu’elles vous permettent de spécifier des propriétés à l’aide de la structure WDF_DEVICE_PROPERTY_DATA, au lieu du sous-ensemble que vous pouvez spécifier à l’aide de DEVICE_REGISTRY_PROPERTY.

Avant de recevoir les données de propriété de l’appareil, les pilotes appellent généralement WdfXxxQueryProperty simplement pour obtenir la taille de mémoire tampon requise. Pour certaines propriétés, la taille des données peut changer entre le moment où la taille requise est retournée et lorsque le pilote appelle à nouveau WdfXxxQueryProperty . Par conséquent, les pilotes doivent appeler WdfXxxQueryProperty à l’intérieur d’une boucle qui s’exécute jusqu’à ce que le status de retour ne soit pas STATUS_BUFFER_TOO_SMALL.

Il est préférable d’utiliser WdfXxxQueryProperty uniquement si la taille de mémoire tampon requise est connue et inchangée, car dans ce cas, le pilote ne doit appeler WdfXxxQueryProperty qu’une seule fois. Si la taille de mémoire tampon requise est inconnue ou varie, le pilote doit appeler WdfXxxAllocAndQueryProperty.

Accès aux propriétés de l’interface d’appareil

Les pilotes UMDF peuvent utiliser les méthodes suivantes pour récupérer ou modifier les propriétés d’interface d’appareil exposées via le modèle de propriété unifié :

Pour récupérer ou modifier une propriété d’interface d’appareil, un pilote KMDF doit appeler Directement IoGetDeviceInterfacePropertyData ou IoSetDeviceInterfacePropertyData .