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

Cette rubrique décrit comment un pilote WDF (Driver Frameworks) Windows 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 de propriété d’appareil en appelant la méthode WdfDeviceXxxProperty correspondante.

Les méthodes -Ex ci-dessus diffèrent de leurs équivalents non ex dans le fait 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 des données de propriété d’appareil, les pilotes appellent généralement WdfXxxQueryProperty uniquement 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 de nouveau WdfXxxQueryProperty. Par conséquent, les pilotes doivent appeler WdfXxxQueryProperty à l’intérieur d’une boucle qui s’exécute jusqu’à ce que l’état 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 doit appeler WdfXxxQueryProperty 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 des 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 .