SetupInstallFilesFromInfSectionW-Funktion (setupapi.h)
[Diese Funktion steht für die Verwendung in den im Abschnitt "Anforderungen" angegebenen Betriebssystemen zur Verfügung. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein. 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 für die Installation von Gerätetreibern verwendet.]
Die SetupInstallFilesFromInfSection Funktionswarteschlangen alle Dateien für eine Installation, die in den Abschnitten "Dateien kopieren", "Dateien löschen" und "Dateien umbenennen" angegeben sind, die in einem Installationsabschnitt aufgeführt sind.
Wenn eine Datei geändert wird, muss der Aufrufer dieser Funktion über Berechtigungen zum Schreiben in das Zielverzeichnis verfügen.
Syntax
WINSETUPAPI BOOL SetupInstallFilesFromInfSectionW(
[in] HINF InfHandle,
[in] HINF LayoutInfHandle,
[in] HSPFILEQ FileQueue,
[in] PCWSTR SectionName,
[in] PCWSTR SourceRootPath,
[in] UINT CopyFlags
);
Parameter
[in] InfHandle
Das Handle zu einer INF-Datei, die den zu installierenden Abschnitt enthält.
[in] LayoutInfHandle
Ein optionaler Zeiger auf ein Handle auf die INF-Datei, die die Abschnitte SourceDisksFiles und SourceDisksNames enthält.
Wenn LayoutInfHandle- nicht angegeben ist, werden die Abschnitte SourceDisksFiles und SourceDisksNames aus InfHandle- verwendet.
[in] FileQueue
Das Handle für die Warteschlange, in der Installationsvorgänge hinzugefügt werden sollen.
[in] SectionName
Der Name des Abschnitts "Installieren" im InfHandle Parameter, in dem die Abschnitte "Dateien kopieren", "Dateien löschen" und "Dateien umbenennen" aufgeführt sind, die die zu installierenden Dateien enthalten.
Verwenden Sie eine null--terminated-Zeichenfolge.
[in] SourceRootPath
Ein optionaler Zeiger auf einen Stammpfad zu den Quelldateien, die kopiert werden sollen, z. B. A:\ oder \pegasus\win\install.
Verwenden Sie eine null--terminated-Zeichenfolge.
[in] CopyFlags
Ein optionaler Zeiger auf eine Reihe von Flags, die das Verhalten des Dateikopievorgangs steuern.
Die Flags können eine Kombination aus den folgenden Werten sein.
SP_COPY_DELETESOURCE
Löscht die Quelldatei, wenn die Kopieraufgabe erfolgreich ist.
Der Anrufer wird nicht benachrichtigt, wenn eine Löschaufgabe fehlschlägt.
SP_COPY_REPLACEONLY
Kopiert eine Datei nur, um eine Datei im Zielpfad zu überschreiben.
SP_COPY_NEWER_OR_SAME
Überprüft jede Datei, die kopiert wird, um zu bestimmen, ob die Versionsressourcen angeben, dass es sich um dieselbe Version handelt, oder nicht neuer als eine vorhandene Kopie des Ziels.
Wenn es sich bei der Quelldatei nicht um eine neuere oder gleiche Version handelt, benachrichtigt die Funktion den Aufrufer, der die Kopie abbrechen kann.
Die Dateiversionsinformationen, die während der Versionsüberprüfung verwendet werden, werden in der dwFileVersionMS angegeben und dwFileVersionLS Member einer VS_FIXEDFILEINFO Struktur, wie sie von den Win32-Versionsfunktionen ausgefüllt wird.
Wenn eine der Dateien keine Versionsressourcen enthält oder identische Versionsinformationen enthalten, wird die Quelldatei als neuer betrachtet.
SP_COPY_NEWER_ONLY
Überprüft jede Datei, die kopiert wird, um festzustellen, ob die Versionsressourcen angeben, dass sie nicht neuer als eine vorhandene Kopie des Ziels ist.
Wenn die Quelldatei neuer, aber nicht gleich der Version des vorhandenen Ziels ist, wird die Datei kopiert.
SP_COPY_NOOVERWRITE
Überprüft, ob die Zieldatei vorhanden ist oder nicht.
Wenn die Zieldatei vorhanden ist, benachrichtigt die Funktion den Aufrufer, der die Kopie abbrechen kann.
SP_COPY_NODECOMP
Eine Datei wird nicht dekomprimieren.
Wenn dieses Flag festgelegt ist, erhält die Zieldatei nicht die nicht komprimierte Form des Quellnamens, z. B. wenn Sie f:\x86\cmd.ex_ in \install\temp kopieren, ist das Ergebnis die folgende Zieldatei: \install\temp\cmd.ex_.
Wenn das SP_COPY_NODECOMP Flag nicht angegeben ist, wird die Datei dekomprimiert, und das Ziel wird \install\temp\cmd.exeaufgerufen.
Der Dateiname-Teil von DestinationName (sofern angegeben) wird gelöscht und durch den Dateinamen der Quelldatei ersetzt. Wenn SP_COPY_NODECOMP angegeben ist, können keine Sprach- und Versionsinformationen überprüft werden.
SP_COPY_LANGUAGEAWARE
Überprüft jede Datei, die kopiert wird, um zu bestimmen, ob sich die Sprache von der Sprache einer vorhandenen Datei unterscheidet, die sich bereits auf dem Ziel befindet.
Wenn die Sprache anders ist, benachrichtigt die Funktion den Aufrufer, der die Kopieraufgabe abbrechen kann.
SP_COPY_SOURCE_ABSOLUTE
SourceFile ist ein vollständiger Quellpfad.
Suchen Sie sie nicht im Abschnitt "SourceDisksNames" der INF-Datei nach.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot ist der vollständige Pfadteil der Quelldatei.
Ignorieren Sie die relative Quelle, die im Abschnitt "SourceDisksNames" der INF-Datei für die Quellmedien angegeben ist, in der sich die Datei befindet. Dieses Kennzeichen wird ignoriert, wenn SP_COPY_SOURCE_ABSOLUTE angegeben wird.
SP_COPY_FORCE_IN_USE
Stellt die Datei für das Kopieren im nächsten Systemneustart in die Warteschlange, wenn das Ziel vorhanden ist und verwendet wird.
SP_COPY_IN_USE_NEEDS_REBOOT
Benachrichtigt den Benutzer, dass das System neu gestartet werden muss, wenn die Datei während eines Kopiervorgangs verwendet wird.
SP_COPY_NOSKIP
Ermöglicht dem Benutzer nicht, eine Datei zu überspringen.
SP_COPY_FORCE_NOOVERWRITE
Überprüft, ob die Zieldatei vorhanden ist oder nicht, und wenn das Ziel vorhanden ist, wird die Datei nicht überschrieben, und der Aufrufer wird nicht benachrichtigt.
SP_COPY_FORCE_NEWER
Überprüft jede Datei, die kopiert wird, um zu identifizieren, dass ihre Versionsressourcen (oder Zeitstempel für Nicht-Bilddateien) angeben, dass sie nicht neuer als eine vorhandene Kopie des Ziels ist.
Wenn die kopierte Datei nicht neuer ist, wird die Datei nicht kopiert, und der Aufrufer wird nicht benachrichtigt.
SP_COPY_WARNIFSKIP
Warnt, dass sich das Überspringen einer Datei auf eine Installation auswirken kann, wenn der Benutzer versucht, eine Datei zu überspringen.
Verwenden Sie dieses Kennzeichen für systemkritische Dateien.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
SetupInstallFilesFromInfSection kann mehrmals aufgerufen werden, um die Dateien in die Warteschlange zu stellen, die in mehreren INF-Abschnitten angegeben sind. Nachdem die Warteschlange erfolgreich zugesichert wurde und die Dateien kopiert, umbenannt und/oder gelöscht werden, können SetupInstallFromInfSection- aufgerufen werden, um Registrierungs- und INI-Installationsvorgänge auszuführen.
Wenn ein UNC-Verzeichnis als Zielverzeichnis einer Dateiinstallation angegeben ist, müssen Sie sicherstellen, dass das UNC-Verzeichnis vorhanden ist, bevor Sie SetupInstallFilesFromInfSectionaufrufen. Die Setupfunktionen überprüfen nicht auf das Vorhandensein von Verzeichnissen und erstellen keine UNC-Verzeichnisse. Wenn das UNC-Zielverzeichnis nicht vorhanden ist, schlägt die Dateiinstallation fehl.
Anmerkung
Der Header setupapi.h definiert SetupInstallFilesFromInfSection 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- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | setupapi.h |
Library | Setupapi.lib |
DLL- | Setupapi.dll |