Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique à KMDF et UMDF]
La méthode WdfDeviceCreateDeviceInterface crée une interface d’appareil pour un appareil spécifié.
Syntaxe
NTSTATUS WdfDeviceCreateDeviceInterface(
[in] WDFDEVICE Device,
[in] const GUID *InterfaceClassGUID,
[in, optional] PCUNICODE_STRING ReferenceString
);
Paramètres
[in] Device
Handle vers un objet d’appareil framework.
[in] InterfaceClassGUID
Pointeur vers un GUID qui identifie la classe d’interface d’appareil.
[in, optional] ReferenceString
Pointeur vers une structure UNICODE_STRING qui décrit une chaîne de référence pour l’interface de l’appareil. La chaîne ne doit contenir aucun caractère de séparateur de chemin (« / » ou « \ »). Ce paramètre est facultatif et peut être NULL. Pour plus d’informations, consultez la section Remarques suivante.
Valeur de retour
WdfDeviceCreateDeviceInterface retourne STATUS_SUCCESS si l’opération réussit.
Pour obtenir la liste d’autres valeurs de retour qui WdfDeviceCreateDeviceInterface peuvent retourner, consultez Erreurs de création d’objets framework.
La méthode peut retourner d’autres valeurs NTSTATUS .
Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.
Remarques
Le pilote peut appeler WdfDeviceCreateDeviceInterface à partir de EVT_WDF_DRIVER_DEVICE_ADD, ou après le démarrage de l’appareil.
Si le pilote appelle cette fonction à partir de sa fonction de rappel EVT_WDF_DRIVER_DEVICE_ADD, l’interface est automatiquement activée lorsque l’appareil démarre et est désactivé lorsque l’appareil s’arrête. Pour empêcher l’activation automatique, le pilote peut appeler WdfDeviceSetDeviceInterfaceStateEx avec le paramètre IsInterfaceEnabled défini sur FALSE.
Si le pilote appelle cette fonction une fois que l’appareil a déjà démarré, l’interface reste désactivée. Le pilote peut appeler WdfDeviceSetDeviceInterfaceState le cas échéant.
Les pilotes peuvent utiliser le paramètre ReferenceString pour différencier différentes instances d’une seule interface. En d’autres termes, si un pilote appelle WdfDeviceCreateDeviceInterface deux fois pour la même classe d’interface d’appareil, le pilote peut spécifier un paramètre ReferenceString à chaque fois. Lorsqu’une instance d’une interface est ouverte, le gestionnaire d’E/S transmet la chaîne de référence de l’instance au pilote. La chaîne de référence est ajoutée au composant de chemin d’accès du nom de l’instance d’interface. Le pilote peut ensuite utiliser la chaîne de référence pour déterminer quelle instance de la classe d’interface d’appareil est ouverte.
Pour plus d’informations sur les interfaces d’appareil et la méthode WdfDeviceCreateDeviceInterface, consultez Using Device Interfaces.
Exemples
L’exemple suivant inscrit la classe d’interface de port COM pour un appareil.
NTSTATUS status;
status = WdfDeviceCreateDeviceInterface(
Device,
(LPGUID) &GUID_DEVINTERFACE_COMPORT,
NULL
);
Exigences
| Exigence | Valeur |
|---|---|
| plateforme cible | Universel |
| version minimale de KMDF | 1.0 |
| version minimale de UMDF | 2.0 |
| d’en-tête | wdfdevice.h (include Wdf.h) |
| bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
| IRQL | PASSIVE_LEVEL |
| règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |