SetupQueueDefaultCopyA-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 funktion SetupQueueDefaultCopy fügt eine einzelne Datei zu einer Setupdateiwarteschlange zum Kopieren hinzu, wobei die Standardquellmedien und das Standardziel verwendet werden, wie in einer INF-Datei angegeben.
Syntax
WINSETUPAPI BOOL SetupQueueDefaultCopyA(
[in] HSPFILEQ QueueHandle,
[in] HINF InfHandle,
[in] PCSTR SourceRootPath,
[in] PCSTR SourceFilename,
[in] PCSTR TargetFilename,
[in] DWORD CopyStyle
);
Parameter
[in] QueueHandle
Behandeln Sie eine Setupdateiwarteschlange, wie von SetupOpenFileQueuezurückgegeben.
[in] InfHandle
Handle to an open INF file that contains the SourceDisksFiles and SourceDisksNames sections. Wenn plattformspezifische Abschnitte für das System des Benutzers vorhanden sind (z. B. SourceDisksNames.x86 und SourceDisksFiles.x86), wird der plattformspezifische Abschnitt verwendet.
[in] SourceRootPath
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die das Stammverzeichnis der Quelle für diese Kopie angibt, z. B. A:.
[in] SourceFilename
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Dateinamen der zu kopierenden Datei angibt.
[in] TargetFilename
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Dateinamen der Zieldatei angibt.
[in] CopyStyle
Flags, die das Verhalten des Dateikopievorgangs steuern. Diese Flags können eine Kombination aus den folgenden Werten sein.
SP_COPY_DELETESOURCE
Löschen Sie die Quelldatei nach erfolgreicher Kopie. Der Anrufer wird nicht benachrichtigt, wenn der Löschvorgang fehlschlägt.
SP_COPY_REPLACEONLY
Kopieren Sie die Datei nur, wenn dies geschieht, eine Datei im Zielpfad überschreiben würde.
SP_COPY_NEWER_OR_SAME
Überprüfen Sie jede Datei, die kopiert wird, um festzustellen, ob die Versionsressourcen angeben, dass sie in der Version gleich oder nicht neuer als eine vorhandene Kopie des Ziels ist.
Die Dateiversionsinformationen, die bei Versionsüberprüfungen verwendet werden, sind die in der dwFileVersionMS und dwFileVersionLS Member einer VS_FIXEDFILEINFO Struktur angegeben, wie sie von den Versionsfunktionen ausgefüllt werden. Wenn eine der Dateien keine Versionsressourcen enthält oder identische Versionsinformationen enthalten, wird die Quelldatei als neuer betrachtet.
Wenn die Quelldatei in version oder neuer nicht gleich ist und CopyMsgHandler angegeben wird, wird der Aufrufer benachrichtigt und kann die Kopie abbrechen. Wenn CopyMsgHandler nicht angegeben ist, wird die Datei nicht kopiert.
SP_COPY_NEWER_ONLY
Überprüfen Sie 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üfen Sie, ob die Zieldatei vorhanden ist, und benachrichtigen Sie in diesem Fall den Anrufer, der die Kopie veto kann. Wenn CopyMsgHandler nicht angegeben ist, wird die Datei nicht überschrieben.
SP_COPY_NODECOMP
Dekomprimieren Sie die Datei nicht. Wenn dieses Flag festgelegt ist, erhält die Zieldatei nicht die nicht komprimierte Form des Quellnamens (falls zutreffend). Beispielsweise führt das Kopieren von f:\x86\cmd.ex_ zu \install\temp zu einer Zieldatei von \install\temp\cmd.ex_. Wenn das SP_COPY_NODECOMP Flag nicht angegeben wurde, wird die Datei dekomprimiert, und das Ziel wird \install\temp\cmd.exeaufgerufen. Der Dateinameteil von DestinationName, falls angegeben, wird entfernt und durch den Dateinamen der Quelldatei ersetzt. Wenn SP_COPY_NODECOMP angegeben ist, können keine Sprach- oder Versionsinformationen überprüft werden.
SP_COPY_LANGUAGEAWARE
Überprüfen Sie jede Datei, die kopiert wird, um festzustellen, ob sich ihre Sprache von der Sprache einer vorhandenen Datei unterscheidet, die sich bereits auf dem Ziel befindet. Wenn ja, und CopyMsgHandler angegeben ist, wird der Aufrufer benachrichtigt und kann die Kopie abbrechen. Wenn CopyMsgHandler nicht angegeben ist, wird die Datei nicht kopiert.
SP_COPY_SOURCE_ABSOLUTE
SourceFile- ist ein vollständiger Quellpfad. Suchen Sie sie nicht im SourceDisksNames Abschnitt der INF-Datei nach.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot- ist der vollständige Pfadteil der Quelldatei. Ignorieren Sie die relative Quelle, die in der SourceDisksNames Abschnitt 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
Wenn das Ziel vorhanden ist, verhalten Sie sich so, als ob sie verwendet wird, und stellen Sie die Datei zum Kopieren im nächsten Systemneustart in die Warteschlange.
SP_COPY_IN_USE_NEEDS_REBOOT
Wenn die Datei während des Kopiervorgangs verwendet wurde, benachrichtigen Sie den Benutzer, dass das System neu gestartet werden muss.
SP_COPY_NOSKIP
Geben Sie dem Benutzer nicht die Möglichkeit, eine Datei zu überspringen.
SP_COPY_FORCE_NOOVERWRITE
Überprüfen Sie, ob die Zieldatei vorhanden ist, und wenn ja, wird die Datei nicht überschrieben. Der Anrufer wird nicht benachrichtigt.
SP_COPY_FORCE_NEWER
Überprüfen Sie jede datei, die kopiert wird, um festzustellen, ob 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. Der Anrufer wird nicht benachrichtigt.
SP_COPY_WARNIFSKIP
Wenn der Benutzer versucht, eine Datei zu überspringen, warnen Sie, dass sich das Überspringen einer Datei auf die Installation auswirken kann. (Wird für systemkritische Dateien verwendet.)
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Wenn ein UNC-Verzeichnis als Zielverzeichnis eines Dateikopievorgangs angegeben ist, müssen Sie sicherstellen, dass es vorhanden ist, bevor die Warteschlange zugesichert wird. Die Setupfunktionen überprüfen nicht, ob UNC-Verzeichnisse vorhanden sind und nicht erstellt werden. Wenn das UNC-Zielverzeichnis nicht vorhanden ist, schlägt die Dateikopie fehl.
Das von dieser Funktion verwendete Standardziel wird durch den DefaultDestDir Schlüssel im Abschnitt DestinationDirs einer INF-Datei angegeben.
Für diese Funktion ist eine Windows INF-Datei erforderlich. Einige ältere INF-Dateiformate werden möglicherweise nicht unterstützt.
Anmerkung
Der header setupapi.h definiert SetupQueueDefaultCopy 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 |