Share via


SetupOpenInfFileW-Funktion (setupapi.h)

[Diese Funktion ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt "Anforderungen" angegeben sind. Es kann in nachfolgenden Versionen geändert oder entfernt werden. SetupAPI sollte nicht mehr für die Installation von Anwendungen verwendet werden. Verwenden Sie stattdessen den Windows Installer zum Entwickeln von Anwendungsinstallationsprogrammen. SetupAPI wird weiterhin zum Installieren von Gerätetreibern verwendet.]

Die SetupOpenInfFile-Funktion öffnet eine INF-Datei und gibt ein Handle zurück.

Syntax

WINSETUPAPI HINF SetupOpenInfFileW(
  [in] PCWSTR FileName,
  [in] PCWSTR InfClass,
  [in] DWORD  InfStyle,
  [in] PUINT  ErrorLine
);

Parameter

[in] FileName

Zeiger auf eine NULL-Zeichenfolge, die den Namen (und optionalen Pfad) der zu öffnenden INF-Datei enthält. Wenn der Dateiname keine Pfadtrennzeichen enthält, wird er zuerst im Verzeichnis %windir%\inf und dann im Verzeichnis %windir%\system32 gesucht. Wenn der Dateiname Pfadtrennzeichen enthält, wird davon ausgegangen, dass es sich um eine vollständige Pfadspezifikation handelt, und es wird keine weitere Verarbeitung durchgeführt.

[in] InfClass

Optionaler Zeiger auf eine NULL-Zeichenfolge, die die Klasse der gewünschten INF-Datei enthält. Diese Zeichenfolge muss mit dem Class-Wert des Abschnitts Version (z. B. Class=Net) übereinstimmen. Wenn im Wert Klasse kein Eintrag vorhanden ist, aber im Abschnitt Version ein Eintrag für ClassGUID vorhanden ist, wird der entsprechende Klassenname für diese GUID abgerufen und für den Vergleich verwendet.

[in] InfStyle

Format der zu öffnenden oder suchenden INF-Datei. Dieser Parameter kann eine Kombination der folgenden Flags sein.

INF_STYLE_OLDNT

Ein Legacy-INF-Dateiformat.

INF_STYLE_WIN4

Ein Windows INF-Dateiformat.

[in] ErrorLine

Optionaler Zeiger auf eine Variable, auf die diese Funktion die (1-basierte) Zeilennummer zurückgibt, bei der beim Laden der INF-Datei ein Fehler aufgetreten ist. Dieser Wert ist nur dann zuverlässig, wenn GetLastError keine ERROR_NOT_ENOUGH_MEMORY zurückgibt. Wenn eine Nicht-Arbeitsspeicher-Bedingung auftritt, kann ErrorLine 0 sein.

Rückgabewert

Die Funktion gibt bei erfolgreicher Ausführung ein Handle für die geöffnete INF-Datei zurück. Andernfalls wird der Rückgabewert INVALID_HANDLE_VALUE. Erweiterte Fehlerinformationen können durch einen Aufruf von GetLastError abgerufen werden.

Hinweise

Wenn das Laden fehlschlägt, weil der INF-Dateityp nicht mit InfClass übereinstimmt, gibt die Funktion INVALID_HANDLE_VALUE zurück, und ein Aufruf von GetLastError gibt ERROR_CLASS_MISMATCH zurück.

Wenn mehrere INF-Dateistile angegeben werden, kann der Stil der geöffneten INF-Datei durch Aufrufen der SetupGetInfInformation-Funktion bestimmt werden.

Da es mehrere Klassen-GUID mit demselben Klassennamen gibt, sollten Aufrufer, die an INF-Dateien einer bestimmten Klasse (d. h. einer bestimmten Klassen-GUID) interessiert sind, den ClassGUID-Wert aus der INF-Datei abrufen, indem sie SetupQueryInfVersionInformation aufrufen.

Bei Legacy-INF-Dateien muss die InfClass-Zeichenfolge mit dem Typ übereinstimmen, der im OptionType-Wert des Abschnitts "Identification " in der INF-Datei angegeben ist (z. B. OptionType=NetAdapter).

Hinweis

Der setupapi.h-Header definiert SetupOpenInfFile 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 nicht codierungsneutralem Code 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) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile setupapi.h
Bibliothek Setupapi.lib
DLL Setupapi.dll
APIs ext-ms-win-setupapi-inf-l1-1-0 (eingeführt in Windows 8)

Siehe auch

Funktionen

Übersicht

SetupCloseInfFile

SetupGetInfInformation

SetupOpenAppendInfFile