SetupDiSelectBestCompatDrv-Funktion (setupapi.h)

Die SetupDiSelectBestCompatDrv-Funktion ist der Standardhandler für die DIF_SELECTBESTCOMPATDRV Installationsanforderung.

Syntax

WINSETUPAPI BOOL SetupDiSelectBestCompatDrv(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Parameter

[in] DeviceInfoSet

Ein Handle für einen Geräteinformationssatz , der ein Geräteinformationselement enthält, das das Gerät darstellt, für das der beste kompatible Treiber ausgewählt werden soll.

[in, out] DeviceInfoData

Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur , die das Geräteinformationselement in DeviceInfoSet angibt. SetupDiSelectBestCompatDrv wählt den besten Treiber für ein Geräteinformationselement aus der Liste der kompatiblen Treiber für das angegebene Gerät aus.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt SetupDiSelectBestCompatDrvTRUE zurück. Andernfalls gibt die Funktion FALSE zurück, und der protokollierte Fehler kann durch einen Aufruf von GetLastError abgerufen werden.

Hinweise

Wenn der Aufrufer von SetupDiSelectBestCompatDrv Mitglied der Gruppe Administratoren ist und sich die Klasse des Geräts von der Klasse des ausgewählten Treibers unterscheidet, legt SetupDiSelectBestCompatDrv die Klasse des Geräts auf die Klasse des Treibers fest. Wenn dieses Verhalten nicht gewünscht ist, rufen Sie diese Funktion auf einer niedrigeren Berechtigungsstufe auf.

Hinweis Nur ein Klasseninstallationsprogramm sollte SetupDiSelectBestCompatDrv aufrufen und nur in situationen, in denen das Klasseninstallationsprogramm Treiberauswahlvorgänge ausführen muss, nachdem SetupDiSelectBestCompatDrv den Standardtreiberauswahlvorgang abgeschlossen hat. In solchen Situationen muss das Klasseninstallationsprogramm SetupDiSelectBestCompatDrv direkt aufrufen, wenn das Installationsprogramm eine DIF_SELECTBESTCOMPATDRV-Anforderung verarbeitet. Weitere Informationen zum Aufrufen des Standardhandlers finden Sie unter Aufrufen von DIF-Standardcodehandlern.
 
SetupDiSelectBestCompatDrv wurde in erster Linie entwickelt, um den besten kompatiblen Treiber für ein Geräteinformationselement auf einem lokalen Computer auszuwählen. Obwohl SetupDiSelectBestCompatDrv nicht fehlschlägt, wenn der Geräteinformationssatz für einen Remotecomputer festgelegt ist, ist das Ergebnis nur eingeschränkt nutzbar, da der Geräteinformationssatz nicht später als Eingabe mit DIF_Xxx-Installationsanforderungen oder SetupDi Xxx-Funktionen verwendet werden kann, die keine Vorgänge für einen Remotecomputer unterstützen. Insbesondere kann der Geräteinformationssatz nicht später als Eingabe mit einer DIF_INSTALLDEVICE Installationsanforderung verwendet werden, um ein Gerät auf einem Remotecomputer zu installieren.

Informationen dazu, wie der beste Treiber ausgewählt wird, finden Sie unter So wählt Windows Treiber aus.

Rufen Sie SetupDiGetSelectedDriver auf, um den ausgewählten Treiber für ein Gerät abzurufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 2000 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile setupapi.h (schließen Sie Setupapi.h ein)
Bibliothek Setupapi.lib
DLL Setupapi.dll

Weitere Informationen

DIF_SELECTBESTCOMPATDRV

SP_DEVINFO_DATA