SP_FILE_COPY_PARAMS_W-Struktur (setupapi.h)
Die SP_FILE_COPY_PARAMS-Struktur beschreibt einen einzelnen Dateikopiervorgang.
Syntax
typedef struct _SP_FILE_COPY_PARAMS_W {
DWORD cbSize;
HSPFILEQ QueueHandle;
PCWSTR SourceRootPath;
PCWSTR SourcePath;
PCWSTR SourceFilename;
PCWSTR SourceDescription;
PCWSTR SourceTagfile;
PCWSTR TargetDirectory;
PCWSTR TargetFilename;
DWORD CopyStyle;
HINF LayoutInf;
PCWSTR SecurityDescriptor;
} SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W;
Member
cbSize
Größe der Struktur in Bytes. Legen Sie auf den Wert fest: sizeof(SP_FILE_COPY_PARAMS)
.
QueueHandle
Handle für eine Setupdateiwarteschlange, wie von SetupOpenFileQueue zurückgegeben.
SourceRootPath
Optionaler Zeiger auf den Stamm der Quelle für diese Kopie, z. B. A:.
SourcePath
Optionaler Zeiger auf den Pfad relativ zu SourceRootPath , in dem die Datei gefunden werden kann.
SourceFilename
Dateiname teil der zu kopierenden Datei.
SourceDescription
Optionaler Zeiger auf eine Beschreibung der Quellmedien, die bei Datenträgeraufforderungen verwendet werden sollen.
SourceTagfile
Optionaler Zeiger auf eine Tagdatei, deren Anwesenheit in SourceRootPath das Vorhandensein des Quellmediums angibt. Wenn nicht angegeben, wird die Datei selbst bei Bedarf als Tagdatei verwendet.
TargetDirectory
Verzeichnis, in das die Datei kopiert werden soll.
TargetFilename
Optionaler Zeiger auf den Namen der Zieldatei. Wenn nicht angegeben, hat die Zieldatei den gleichen Namen wie die Quelldatei.
CopyStyle
Flags, die das Verhalten des Dateikopiervorgangs steuern. Diese Flags können eine Kombination der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Löschen Sie die Quelldatei nach erfolgreichem Kopieren. Der Aufrufer wird nicht benachrichtigt, wenn der Löschvorgang fehlschlägt. |
|
Kopieren Sie die Datei nur, wenn dadurch eine Datei im Zielpfad überschrieben würde. Der Anrufer wird nicht benachrichtigt. |
|
Überprüfen Sie jede datei, die kopiert wird, um festzustellen, ob die Versionsressourcen darauf hindeuten, dass es sich entweder um dieselbe Version oder nicht um eine neuere Version als eine vorhandene Kopie auf dem Ziel handelt.
Die bei Versionsüberprüfungen verwendeten Dateiversionsinformationen sind die in den Membern dwFileVersionMS und dwFileVersionLS einer VS_FIXEDFILEINFO-Struktur angegeben, die von den Versionsfunktionen ausgefüllt werden. Wenn eine der Dateien nicht über Versionsressourcen verfügt oder identische Versionsinformationen enthält, wird die Quelldatei als neuer betrachtet. Wenn die Quelldatei in der Version oder neuer nicht gleich ist und CopyMsgHandler angegeben ist, wird der Aufrufer benachrichtigt und kann die Kopie abbrechen. Wenn CopyMsgHandler nicht angegeben ist, wird die Datei nicht kopiert. |
|
Überprüfen Sie jede datei, die kopiert wird, um festzustellen, ob die Versionsressourcen darauf hinweisen, dass sie nicht neuer als eine vorhandene Kopie auf dem Ziel ist. Wenn die Quelldatei neuer, aber nicht gleich der Version des vorhandenen Ziels ist, wird die Datei kopiert. |
|
Überprüfen Sie, ob die Zieldatei vorhanden ist, und benachrichtigen Sie den Aufrufer, der möglicherweise ein Veto gegen die Kopie hat. Wenn CopyMsgHandler nicht angegeben ist, wird die Datei nicht überschrieben. |
|
Dekomprimieren Sie die Datei nicht. Wenn dieses Flag festgelegt ist, erhält die Zieldatei nicht die unkomprimierte Form des Quellnamens (falls zutreffend). Das Kopieren von f:\x86\cmd.ex_ nach \\install\temp führt beispielsweise zu einer Zieldatei von \\install\temp\cmd.ex_. Wenn das flag SP_COPY_NODECOMP nicht angegeben wurde, wird die Datei dekomprimiert, und das Ziel wird \\install\temp\cmd.exe aufgerufen. Der Dateiname-Teil von DestinationName wird entfernt und durch den Dateinamen der Quelldatei ersetzt. Wenn SP_COPY_NODECOMP angegeben ist, können keine Sprach- oder Versionsinformationen überprüft werden. |
|
Überprüfen Sie jede Datei, die kopiert wird, um festzustellen, ob sich ihre Sprache von der Sprache einer vorhandenen Datei unterscheidet, die bereits auf dem Ziel vorhanden ist. Wenn dies der Grund ist und CopyMsgHandler angegeben ist, wird der Aufrufer benachrichtigt und kann die Kopie abbrechen. Wenn CopyMsgHandler nicht angegeben ist, wird die Datei nicht kopiert. |
|
SourceFile ist ein vollständiger Quellpfad. Suchen Sie ihn nicht im Abschnitt SourceDisksNames der INF-Datei. |
|
SourcePathRoot ist der vollständige Pfadteil der Quelldatei. Ignorieren Sie die relative Quelle, die im Abschnitt SourceDisksNames der INF-Datei für das Quellmedium angegeben ist, auf dem sich die Datei befindet. Dieses Flag wird ignoriert, wenn SP_COPY_SOURCE_ABSOLUTE angegeben ist. |
|
Wenn das Ziel vorhanden ist, verhalten Sie sich so, als wäre es nicht verwendet, und stellen Sie die Datei zum Kopieren beim nächsten Systemneustart in die Warteschlange. |
|
Wenn die Datei während des Kopiervorgangs verwendet wurde, benachrichtigen Sie den Benutzer, dass das System neu gestartet werden muss. |
|
Geben Sie dem Benutzer nicht die Möglichkeit, eine Datei zu überspringen. |
|
Überprüfen Sie, ob die Zieldatei vorhanden ist, und wenn ja, wird die Datei nicht überschrieben. Der Anrufer wird nicht benachrichtigt. |
|
Überprüfen Sie jede Datei, die kopiert wird, um festzustellen, ob ihre Versionsressourcen (oder Zeitstempel für Nicht-Imagedateien) darauf hindeuten, dass sie nicht neuer als eine vorhandene Kopie auf dem Ziel ist. Wenn die zu kopierende Datei nicht neuer ist, wird die Datei nicht kopiert. Der Anrufer wird nicht benachrichtigt. |
|
Wenn der Benutzer versucht, eine Datei zu überspringen, warnt er, dass sich das Überspringen einer Datei auf die Installation auswirken kann. (Wird für systemkritische Dateien verwendet.) |
LayoutInf
Handle mit dem INF, das zum Abrufen von Quellinformationen verwendet werden soll.
SecurityDescriptor
Eine optionale Sicherheitsdeskriptorzeichenfolge, die die ACL angibt, die auf die Datei angewendet werden soll.
Hinweise
Hinweis
Der Setupapi.h-Header definiert SP_FILE_COPY_PARAMS 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) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | setupapi.h |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für