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 |