Partager via


Méthode IWDFDevice ::CreateDeviceInterface (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]

La méthode CreateDeviceInterface crée un instance d’une classe d’interface d’appareil.

Syntaxe

HRESULT CreateDeviceInterface(
  [in]           LPCGUID pDeviceInterfaceGuid,
  [in, optional] PCWSTR  pReferenceString
);

Paramètres

[in] pDeviceInterfaceGuid

Pointeur vers le GUID d’une classe d’interface d’appareil.

[in, optional] pReferenceString

Pointeur vers une chaîne terminée par NULL qui contient le nom du instance de l’interface de l’appareil. Ce paramètre est facultatif. Le pilote peut passer null si le pilote n’a pas à fournir de nom. Si le pilote doit fournir un nom, la chaîne que le pilote transmet ne doit pas contenir de caractères séparateurs de chemin (« / » ou « \ »).

Valeur retournée

CreateDeviceInterface retourne S_OK si l’opération réussit. Sinon, cette méthode retourne l’un des codes d’erreur définis dans Winerror.h.

Remarques

Les pilotes peuvent utiliser le paramètre pReferenceString pour différencier différentes instances d’une seule interface. En d’autres termes, si un pilote appelle CreateDeviceInterface deux fois pour la même classe d’interface de périphérique, le pilote peut spécifier une chaîne différente pour pReferenceString à chaque fois. Lorsqu’une instance d’une interface est ouverte, l’infrastructure 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.

Si CreateDeviceInterface réussit, l’état initial de l’interface est désactivé. Si la création réussit, l’infrastructure active et désactive automatiquement l’interface en fonction de l’état PnP de l’appareil. En outre, un pilote peut désactiver et réactiver une interface d’appareil si nécessaire en appelant IWDFDevice ::AssignDeviceInterfaceState.

Pour plus d’informations sur les interfaces d’appareil, consultez Utilisation d’interfaces d’appareil dans les pilotes basés sur UMDF.

Exemples

L’exemple de code suivant montre comment créer une interface d’appareil instance. Dans cet exemple, le pilote appelle explicitement IWDFDevice ::AssignDeviceInterfaceState pour activer l’interface.

    //
    // Create the device interface.
    //
    HRESULT hr;
    if (S_OK == hr) {
        hr = m_FxDevice->CreateDeviceInterface(
                         &GUID_DEVINTERFACE_OSRUSBFX2,
                         NULL);
    }
    if (S_OK == hr) {
        hr = m_FxDevice->AssignDeviceInterfaceState(
                        &GUID_DEVINTERFACE_OSRUSBFX2,
                        NULL,
                        TRUE);
    }

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.5
En-tête wudfddi.h (inclure Wudfddi.h)
DLL WUDFx.dll

Voir aussi

IWDFDevice

IWDFDevice ::AssignDeviceInterfaceState