SP_FILE_COPY_PARAMS_A Struktur (setupapi.h)
Die SP_FILE_COPY_PARAMS Struktur beschreibt einen einzelnen Dateikopievorgang.
Syntax
typedef struct _SP_FILE_COPY_PARAMS_A {
DWORD cbSize;
HSPFILEQ QueueHandle;
PCSTR SourceRootPath;
PCSTR SourcePath;
PCSTR SourceFilename;
PCSTR SourceDescription;
PCSTR SourceTagfile;
PCSTR TargetDirectory;
PCSTR TargetFilename;
DWORD CopyStyle;
HINF LayoutInf;
PCSTR SecurityDescriptor;
} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
Angehörige
cbSize
Größe der Struktur in Byte. Legen Sie den Wert fest: sizeof(SP_FILE_COPY_PARAMS)
.
QueueHandle
Behandeln Sie eine Setupdateiwarteschlange, wie von SetupOpenFileQueuezurü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 wo die Datei gefunden werden kann.
SourceFilename
Der Dateinameteil der zu kopierenden Datei.
SourceDescription
Optionaler Zeiger auf eine Beschreibung der Quellmedien, die während der Datenträgeraufforderung verwendet werden sollen.
SourceTagfile
Optionaler Zeiger auf eine Tagdatei, deren Anwesenheit bei 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 denselben Namen wie die Quelldatei.
CopyStyle
Flags, die das Verhalten des Dateikopievorgangs steuern. Diese Flags können eine Kombination aus den folgenden Werten sein.
Wert | Bedeutung |
---|---|
|
Löschen Sie die Quelldatei nach erfolgreicher Kopie. Der Aufrufer wird nicht benachrichtigt, wenn der Löschvorgang fehlschlägt. |
|
Kopieren Sie die Datei nur, wenn dies geschieht, eine Datei im Zielpfad überschreiben würde. Der Anrufer wird nicht benachrichtigt. |
|
Überprüfen Sie jede Datei, die kopiert wird, um festzustellen, ob die Versionsressourcen angeben, dass sie entweder die gleiche 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. |
|
Ü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. |
|
Ü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. |
|
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_ in \\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 als \\install\temp\cmd.exebezeichnet. Der Dateinameteil 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. |
|
Ü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. |
|
SourceFile- ist ein vollständiger Quellpfad. Suchen Sie sie nicht im Abschnitt "SourceDisksNames" der INF-Datei nach. |
|
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. |
|
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. |
|
Wenn die Datei während des Kopiervorgangs nicht 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-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. |
|
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.) |
LayoutInf
Handle to the INF to use to obtain source information.
SecurityDescriptor
Eine optionale Sicherheitsdeskriptorzeichenfolge, die die für die Datei anzuwendende ACL angibt.
Bemerkungen
Anmerkung
Der header setupapi.h 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 |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Header- | setupapi.h |