Freigeben über


COPYFILE2_EXTENDED_PARAMETERS-Struktur (winbase.h)

Enthält erweiterte Parameter für die CopyFile2-Funktion.

Syntax

typedef struct COPYFILE2_EXTENDED_PARAMETERS {
  DWORD                       dwSize;
  DWORD                       dwCopyFlags;
  BOOL                        *pfCancel;
  PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
  PVOID                       pvCallbackContext;
} COPYFILE2_EXTENDED_PARAMETERS;

Member

dwSize

Enthält die Größe dieser Struktur, sizeof(COPYFILE2_EXTENDED_PARAMETERS).

dwCopyFlags

Enthält eine Kombination aus null oder mehr dieser Flagwerte.

Wert Bedeutung
COPY_FILE_FAIL_IF_EXISTS
0x00000001
Wenn die Zieldatei vorhanden ist, schlägt der Kopiervorgang sofort fehl. Wenn eine Datei oder ein Verzeichnis mit dem Zielnamen vorhanden ist, schlägt der CopyFile2-Funktionsaufruf mit oder HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)HRESULT_FROM_WIN32(ERROR_FILE_EXISTS)fehl. Wenn auch COPY_FILE_RESUME_FROM_PAUSE angegeben wird, wird ein Fehler nur ausgelöst, wenn die Zieldatei keinen gültigen Neustartheader aufweist.
COPY_FILE_RESTARTABLE
0x00000002
Die Datei wird so kopiert, dass sie neu gestartet werden kann, wenn die gleichen Quell- und Zieldateinamen erneut verwendet werden. Dies ist langsamer.
COPY_FILE_OPEN_SOURCE_FOR_WRITE
0x00000004
Die Datei wird kopiert, und die Quelldatei wird für den Schreibzugriff geöffnet.
COPY_FILE_ALLOW_DECRYPTED_DESTINATION
0x00000008
Die Kopie wird auch dann versucht, wenn die Zieldatei nicht verschlüsselt werden kann.
COPY_FILE_COPY_SYMLINK
0x00000800
Wenn die Quelldatei ein symbolischer Link ist, ist die Zieldatei auch ein symbolischer Link, der auf dieselbe Datei wie der symbolische Quelllink verweist.
COPY_FILE_NO_BUFFERING
0x00001000
Die Kopie wird mithilfe von nicht gepufferten E/A-Vorgängen durchgeführt, wobei die Systemcacheressourcen umgangen werden. Dieses Flag wird für sehr große Dateikopien empfohlen. Es wird nicht empfohlen, Kopien anzuhalten, die dieses Flag verwenden.
COPY_FILE_REQUEST_SECURITY_PRIVILEGES
0x00002000
Die Kopie wird versucht, wobei für die Quelldatei und ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER die Zieldatei angegeben ACCESS_SYSTEM_SECURITY wird. Wenn diese Anforderungen verweigert werden, wird die Zugriffsanforderung auf die höchste Berechtigungsstufe reduziert, für die der Zugriff gewährt wird. Weitere Informationen finden Sie unter SACL-Zugriffsberechtigung. Dies kann verwendet werden, damit der CopyFile2ProgressRoutine-Rückruf Vorgänge ausführt, die höhere Berechtigungen erfordern, z. B. das Kopieren der Sicherheitsattribute für die Datei.
COPY_FILE_RESUME_FROM_PAUSE
0x00004000
Die Zieldatei wird untersucht, um festzustellen, ob sie mit COPY_FILE_RESTARTABLE kopiert wurde. Wenn ja, wird die Kopie fortgesetzt. Andernfalls wird die Datei vollständig kopiert.
COPY_FILE_NO_OFFLOAD
0x00040000
Versuchen Sie nicht, den Windows-Kopier-Auslagerungsmechanismus zu verwenden. Dies wird im Allgemeinen nicht empfohlen.
COPY_FILE_IGNORE_EDP_BLOCK
0x00400000
Anstatt zu blockieren, sollte die Datei kopiert und auf dem Ziel verschlüsselt werden, wenn sie vom Zieldateisystem unterstützt wird. Unterstützt auf Windows 10 und höher.
COPY_FILE_IGNORE_SOURCE_ENCRYPTION
0x00800000
Ignorieren Sie den verschlüsselten Zustand der Quelldatei. Unterstützt auf Windows 10 und höher.
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC
0x02000000
Fordern Sie keine WRITE_DAC für den Zieldateizugriff an. Unterstützt auf Windows 10 und höher.
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT
0x00200000
Kopieren Sie immer den Analysepunkt unabhängig vom Typ. Es liegt in der Verantwortung des Aufrufers, die Bedeutung des Analysepunkts zu verstehen. Unterstützt auf Windows 10, Build 19041 und höher.
COPY_FILE_DIRECTORY
0x00000080
Gibt an, dass die Quelldatei eine Verzeichnisdatei ist. Wenn angegeben, wird die Quelldatei mit FILE_OPEN_FOR_BACKUP_INTENTgeöffnet. Die Verzeichnisdatei verfügt über alternative Datenströme, Analysepunktinformationen und EAs, die wie eine normale Datei kopiert werden. Unterstützt in Windows 10, Build 19041 und höher.
COPY_FILE_SKIP_ALTERNATE_STREAMS
0x00008000
Kopieren Sie keine alternativen Datenströme. Unterstützt in Windows 10, Build 19041 und höher.
COPY_FILE_DISABLE_PRE_ALLOCATION
0x04000000
Bevor Sie die Kopie durchführen, müssen Sie die Zieldateigröße nicht vorab allocatsieren. Unterstützt in Windows 10, Build 19041 und höher.
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE
0x08000000
Aktivieren Sie den LowFreeSpace-Modus. Es werden keine überlappenden E/A-Vorgänge verwendet. ODX- und SMB-Auslagerung werden nicht versucht. Unterstützt in Windows 10, Build 19041 und höher.
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC
0x10000000
Fordern Sie den zugrunde liegenden Übertragungskanal an, die Daten während des Kopiervorgangs zu komprimieren. Die Anforderung wird möglicherweise nicht für alle Medien unterstützt, in diesem Fall wird sie ignoriert. Die Komprimierungsattribute und -parameter (Rechenkomplexität, Arbeitsspeicherauslastung) sind über diese API nicht konfigurierbar und können sich zwischen verschiedenen Betriebssystemversionen ändern. Unterstützt in Windows Server 2022 und Windows 10, Build 1903 und höher. (Auf Windows 10 wird das Flag für Dateien unterstützt, die sich auf SMB-Freigaben befinden, wobei die ausgehandelte SMB-Protokollversion SMB v3.1.1 oder höher ist.)
COPY_FILE_ENABLE_SPARSE_COPY
0x20000000
Aktivieren Sie das Beibehalten des Sparsezustands der Datei während des Kopierens. Unterstützt in Windows 11, Build 22H2 und höher.

pfCancel

Wenn dieses Flag während des Kopiervorgangs auf TRUE festgelegt ist, wird der Kopiervorgang abgebrochen.

pProgressRoutine

Die optionale Adresse einer Rückruffunktion vom Typ PCOPYFILE2_PROGRESS_ROUTINE , die jedes Mal aufgerufen wird, wenn ein anderer Teil der Datei kopiert wurde. Dieser Parameter kann NULL sein. Weitere Informationen zur Statusrückruffunktion finden Sie in der Rückruffunktion CopyFile2ProgressRoutine .

pvCallbackContext

Ein Zeiger auf anwendungsspezifische Kontextinformationen, die an copyFile2ProgressRoutine übergeben werden sollen.

Hinweise

Um eine Anwendung zu kompilieren, die diese Struktur verwendet, definieren Sie das _WIN32_WINNT Makro als _WIN32_WINNT_WIN8 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Kopfzeile winbase.h (einschließlich Windows.h)

Weitere Informationen

CopyFile2

CopyFile2ProgressRoutine

Strukturen in der Dateiverwaltung

COPYFILE2_EXTENDED_PARAMETERS_V2