SetupDiOpenDeviceInfoA, fonction (setupapi.h)

La fonction SetupDiOpenDeviceInfo ajoute un élément d’informations d’appareil pour une instance d’appareil à un jeu d’informations sur l’appareil, s’il n’existe pas déjà dans le jeu d’informations sur l’appareil et récupère les informations qui identifient l’élément d’informations de l’appareil pour l’instance de l’appareil dans le jeu d’informations sur l’appareil.

Syntaxe

WINSETUPAPI BOOL SetupDiOpenDeviceInfoA(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PCSTR            DeviceInstanceId,
  [in, optional]  HWND             hwndParent,
  [in]            DWORD            OpenFlags,
  [out, optional] PSP_DEVINFO_DATA DeviceInfoData
);

Paramètres

[in] DeviceInfoSet

Un handle du jeu d’informations d’appareil auquel SetupDiOpenDeviceInfo ajoute un élément d’informations sur l’appareil, s’il n’existe pas déjà, pour l’instance d’appareil spécifiée par DeviceInstanceId.

[in] DeviceInstanceId

Pointeur vers une chaîne terminée par NULL qui fournit l’identificateur d’instance d’appareil d’un appareil (par exemple, « Root*PNP0500\0000 »). Si DeviceInstanceId est NULL ou fait référence à une chaîne de longueur nulle, SetupDiOpenDeviceInfo ajoute un élément d’informations d’appareil au jeu d’informations d’appareil fourni, s’il n’existe pas déjà, pour l’appareil racine dans l’arborescence de l’appareil.

[in, optional] hwndParent

Handle vers la fenêtre de niveau supérieur à utiliser pour toute interface utilisateur liée à l’installation de l’appareil.

[in] OpenFlags

Variable de type DWORD qui contrôle l’ouverture de l’élément d’informations d’appareil. La valeur de ce paramètre peut être une ou plusieurs des suivantes :

DIOD_CANCEL_REMOVE

Si cet indicateur est spécifié et que l’appareil a été marqué pour la suppression en attente, le système d’exploitation annule la suppression en attente.

DIOD_INHERIT_CLASSDRVS

Si cet indicateur est spécifié, l’élément d’informations sur l’appareil résultant hérite de la liste des pilotes de classe, le cas échéant, associé au jeu d’informations sur l’appareil. En outre, s’il existe un pilote sélectionné pour le jeu d’informations sur l’appareil, ce même pilote est sélectionné pour le nouvel élément d’informations sur l’appareil.

Si l’élément d’informations sur l’appareil était déjà présent, sa liste de pilotes de classe, le cas échéant, est remplacée par la liste héritée.

[out, optional] DeviceInfoData

Pointeur vers une structure SP_DEVINFO_DATA fournie par l’appelant qui reçoit des informations sur l’élément d’informations d’appareil pour l’instance d’appareil spécifiée par DeviceInstanceId. L’appelant doit définir cbSize sur sizeof(SP_DEVINFO_DATA). Ce paramètre est facultatif et peut être NULL.

Valeur de retour

SetupDiOpenDeviceInfo retourne TRUE si elle réussit. Sinon, la fonction retourne FALSE et l’erreur journalisée peut être récupérée avec un appel à GetLastError.

Remarques

Si cette instance d’appareil est ajoutée à un jeu qui a une classe associée, la classe d’appareil doit être identique ou l’appel échoue. Dans ce cas, un appel à GetLastError retourne ERROR_CLASS_MISMATCH.

Si le nouvel élément d’informations sur l’appareil est correctement ouvert, mais que l’appelant DeviceInfoData tampon n’est pas valide, cette fonction retourne FALSE. Dans ce cas, un appel à GetLastError retourne ERROR_INVALID_USER_BUFFER. Toutefois, l’élément d’informations sur l’appareil est ajouté en tant que nouveau membre de l’ensemble.

Note

L’en-tête setupapi.h définit SetupDiOpenDeviceInfo comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
plateforme cible Bureau
d’en-tête setupapi.h (include Setupapi.h)
bibliothèque Setupapi.lib

Voir aussi

SP_DEVINFO_DATA

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo