SetupDiOpenDeviceInfoA-Funktion (setupapi.h)
Die SetupDiOpenDeviceInfo-Funktion fügt einem Geräteinformationssatz ein Geräteinformationselement für eine Geräteinstanz hinzu, sofern noch nicht im Geräteinformationssatz vorhanden ist, und ruft Informationen ab, die das Geräteinformationselement für die Geräteinstanz im Geräteinformationssatz identifiziert.
Syntax
WINSETUPAPI BOOL SetupDiOpenDeviceInfoA(
[in] HDEVINFO DeviceInfoSet,
[in] PCSTR DeviceInstanceId,
[in, optional] HWND hwndParent,
[in] DWORD OpenFlags,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
Parameter
[in] DeviceInfoSet
Ein Handle zum Geräteinformationssatz, dem SetupDiOpenDeviceInfo ein Geräteinformationselement hinzufügt, sofern noch nicht vorhanden, für die Geräteinstanz, die durch DeviceInstanceIdangegeben wird.
[in] DeviceInstanceId
Ein Zeiger auf eine MIT NULL beendete Zeichenfolge, die den Geräteinstanzbezeichner eines Geräts bereitstellt (z. B. "Root*PNP0500\0000"). Wenn DeviceInstanceIdNULL- ist oder auf eine leere Zeichenfolge verweist, SetupDiOpenDeviceInfo dem angegebenen Geräteinformationssatz ein Geräteinformationselement hinzu, sofern noch nicht vorhanden, für das Stammgerät in der Gerätestruktur.
[in, optional] hwndParent
Das Handle für das Fenster auf oberster Ebene, das für jede Benutzeroberfläche im Zusammenhang mit der Installation des Geräts verwendet werden soll.
[in] OpenFlags
Eine Variable vom DWORD-Typ, die steuert, wie das Geräteinformationselement geöffnet wird. Der Wert dieses Parameters kann eine oder mehrere der folgenden Werte sein:
DIOD_CANCEL_REMOVE
Wenn dieses Kennzeichen angegeben ist und das Gerät für das ausstehende Entfernen markiert wurde, bricht das Betriebssystem die ausstehende Entfernung ab.
DIOD_INHERIT_CLASSDRVS
Wenn dieses Flag angegeben ist, erbt das resultierende Geräteinformationselement die Klassentreiberliste( falls vorhanden), die dem Geräteinformationssatz zugeordnet ist. Wenn ein ausgewählter Treiber für den Geräteinformationssatz vorhanden ist, wird derselbe Treiber für das neue Geräteinformationselement ausgewählt.
Wenn das Geräteinformationselement bereits vorhanden war, wird die Klassentreiberliste ggf. durch die geerbte Liste ersetzt.
[out, optional] DeviceInfoData
Ein Zeiger auf eine vom Aufrufer bereitgestellte SP_DEVINFO_DATA Struktur, die Informationen über das Geräteinformationselement für die Geräteinstanz empfängt, die durch DeviceInstanceIdangegeben wird. Der Aufrufer muss cbSize- auf Sizeof(SP_DEVINFO_DATA)festlegen. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
SetupDiOpenDeviceInfo gibt TRUE- zurück, wenn dies erfolgreich ist. Andernfalls gibt die Funktion FALSE- zurück, und der protokollierte Fehler kann mit einem Aufruf von GetLastErrorabgerufen werden.
Bemerkungen
Wenn diese Geräteinstanz einem Satz hinzugefügt wird, der eine zugeordnete Klasse aufweist, muss die Geräteklasse identisch sein, oder der Aufruf schlägt fehl. In diesem Fall gibt ein Aufruf von GetLastError ERROR_CLASS_MISMATCH zurück.
Wenn das neue Geräteinformationselement erfolgreich geöffnet wird, aber der vom Aufrufer bereitgestellte DeviceInfoData- Puffer ungültig ist, gibt diese Funktion FALSEzurück. In diesem Fall gibt ein Aufruf von GetLastError ERROR_INVALID_USER_BUFFER zurück. Das Geräteinformationselement wird jedoch trotzdem als neues Element der Gruppe hinzugefügt.
Anmerkung
Der Header setupapi.h definiert SetupDiOpenDeviceInfo als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows. |
Zielplattform- | Desktop |
Header- | setupapi.h (include Setupapi.h) |
Library | Setupapi.lib |