WdfDeviceCreateDeviceInterface, fonction (wdfdevice.h)
[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 pour un objet d’appareil d’infrastructure.
[in] InterfaceClassGUID
Pointeur vers un GUID qui identifie la classe d’interface de périphérique.
[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 pas contenir de caractères séparateurs de chemin (« / » ou « \ »). Ce paramètre est facultatif et peut être NULL. Pour plus d'informations, consultez la section Notes qui suit.
Valeur retournée
WdfDeviceCreateDeviceInterface retourne STATUS_SUCCESS si l’opération réussit.
Pour obtenir la liste des autres valeurs de retour que WdfDeviceCreateDeviceInterface peut retourner, consultez Erreurs de création d’objet framework.
La méthode peut retourner d’autres valeurs NTSTATUS.
Un bogue case activée 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 au démarrage de l’appareil et désactivée 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 comme il convient.
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 de périphérique, le pilote peut spécifier un paramètre ReferenceString différent à chaque fois. Lorsqu’une instance d’une interface est ouverte, le gestionnaire d’E/S transmet la chaîne de référence du instance au pilote. La chaîne de référence est ajoutée au composant path du nom de l’interface instance. Le pilote peut ensuite utiliser la chaîne de référence pour déterminer les instance de la classe d’interface de périphérique en cours d’ouverture.
Pour plus d’informations sur les interfaces d’appareil et la méthode WdfDeviceCreateDeviceInterface , consultez Utilisation d’interfaces d’appareil.
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
);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfdevice.h (inclure 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) |