Partager via


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)

Voir aussi

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState