Freigeben über


SetupDiOpenDeviceInfoA-Funktion (setupapi.h)

Die SetupDiOpenDeviceInfo-Funktion fügt einem Geräteinformationssatz ein Geräteinformationselement für ein Gerät instance hinzu, sofern noch kein Element im Geräteinformationssatz vorhanden ist, und ruft Informationen ab, die das Geräteinformationselement für das Gerät instance 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 für den Geräteinformationssatz, zu dem SetupDiOpenDeviceInfo ein Geräteinformationselement hinzufügt, sofern noch keins vorhanden ist, für das gerät instance, das von DeviceInstanceId angegeben wird.

[in] DeviceInstanceId

Ein Zeiger auf eine NULL-endende Zeichenfolge, die das Gerät instance Bezeichner eines Geräts bereitstellt (z. B. "Root*PNP0500\0000"). Wenn DeviceInstanceIdNULL ist oder auf eine Zeichenfolge der Länge Null verweist, fügt SetupDiOpenDeviceInfo dem angegebenen Geräteinformationssatz ein Geräteinformationselement für das Stammgerät in der Gerätestruktur hinzu, sofern noch keins vorhanden ist.

[in, optional] hwndParent

Das Handle zum Fenster der obersten Ebene, das für jede Benutzeroberfläche im Zusammenhang mit der Installation des Geräts verwendet werden soll.

[in] OpenFlags

Eine Variable vom Typ DWORD, die steuert, wie das Geräteinformationselement geöffnet wird. Der Wert dieses Parameters kann mindestens einer der folgenden Werte sein:

DIOD_CANCEL_REMOVE

Wenn dieses Flag angegeben ist und das Gerät für die ausstehende Entfernung markiert wurde, bricht das Betriebssystem die ausstehende Entfernung ab.

DIOD_INHERIT_CLASSDRVS

Wenn dieses Flag angegeben wird, erbt das resultierende Geräteinformationselement die Klassentreiberliste, sofern vorhanden, die dem Geräteinformationssatz zugeordnet ist. Wenn ein Treiber für den Geräteinformationssatz ausgewählt ist, wird für das neue Geräteinformationselement derselbe Treiber ausgewählt.

Wenn das Geräteinformationselement bereits vorhanden war, wird seine Klassentreiberliste (sofern vorhanden) 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 das Gerät empfängt instance, das von DeviceInstanceId angegeben wird. Der Aufrufer muss cbSize auf sizeof(SP_DEVINFO_DATA) festlegen. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

SetupDiOpenDeviceInfo gibt TRUE zurück, wenn es erfolgreich ist. Andernfalls gibt die Funktion FALSE zurück, und der protokollierte Fehler kann mit einem Aufruf von GetLastError abgerufen werden.

Hinweise

Wenn dieses Gerät instance einer Gruppe hinzugefügt wird, die über eine zugeordnete Klasse verfügt, muss die Geräteklasse identisch sein, andernfalls schlägt der Aufruf fehl. In diesem Fall gibt ein Aufruf von GetLastError ERROR_CLASS_MISMATCH zurück.

Wenn das neue Geräteinformationselement erfolgreich geöffnet wurde, aber der vom Aufrufer bereitgestellte DeviceInfoData-Puffer ungültig ist, gibt diese Funktion FALSE zurück. In diesem Fall gibt ein Aufruf von GetLastError ERROR_INVALID_USER_BUFFER zurück. Das Geräteinformationselement wird jedoch trotzdem als neues Element des Satzes hinzugefügt.

Hinweis

Der Header setupapi.h definiert SetupDiOpenDeviceInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile setupapi.h (schließen Sie Setupapi.h ein)
Bibliothek Setupapi.lib

Weitere Informationen

SP_DEVINFO_DATA

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo