Share via


COPYFILE2_EXTENDED_PARAMETERS_V2-Struktur (winbase.h)

Enthält aktualisierte, zusätzliche Funktionen, die über die COPYFILE2_EXTENDED_PARAMETERS-Struktur für die CopyFile2-Funktion hinausgehen.

Syntax

typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 {
  DWORD                         dwSize;
  DWORD                         dwCopyFlags;
  BOOL                          *pfCancel;
  PCOPYFILE2_PROGRESS_ROUTINE   pProgressRoutine;
  PVOID                         pvCallbackContext;
  DWORD                         dwCopyFlagsV2;
  ULONG                         ioDesiredSize;
  ULONG                         ioDesiredRate;
  LPPROGRESS_ROUTINE            pProgressRoutineOld;
  PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys;
#if ...
  PVOID                         reserved[6];
#elif
  PVOID                         reserved[7];
#else
  PVOID                         reserved[8];
#endif
} COPYFILE2_EXTENDED_PARAMETERS_V2;

Member

dwSize

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

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 auf eine Weise kopiert, die 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
Der Kopiervorgang erfolgt mit nicht gepufferten E/A-Vorgängen, 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
Der Kopierversuch wird versucht, wobei für die Quelldatei und ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER für 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-Zugriffsrecht. Dies kann verwendet werden, um dem CopyFile2ProgressRoutine-Rückruf die Ausführung von Vorgängen zu ermöglichen, 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 der Kopiervorgang fortgesetzt. Andernfalls wird die Datei vollständig kopiert.
COPY_FILE_NO_OFFLOAD
0x00040000
Versuchen Sie nicht, den Windows-Kopierauslagerungsmechanismus 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 Zugriff auf die Zieldatei 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 enthält die alternativen 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 den Kopiervorgang durchführen, wird die Größe der Zieldatei nicht vorab zugewiesen. 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 wird 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, Speicherauslastung) können nicht über diese API konfiguriert werden und können zwischen verschiedenen Betriebssystemversionen geändert werden.

Dieses Flag wurde in Windows 10 Version 1903 und Windows Server 2022 eingeführt. 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 die Beibehaltung des Sparsezustands der Datei während des Kopiervorgangs. 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 . Wenn sowohl pProgressRoutineOld als auch pProgressRoutine bereitgestellt werden, hat pProgressRoutineOld Vorrang.

pvCallbackContext

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

dwCopyFlagsV2

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

Wert Bedeutung
COPY_FILE2_V2_DONT_COPY_JUNCTIONS
0x00000001
Deaktivieren Sie das Kopieren von Verbindungen.

ioDesiredSize

Optional. Die angeforderte Größe (in Bytes) für jeden E/A-Vorgang (d. h. ein Lese-/Schreibzyklus beim Kopieren der Datei). Dies kann reduziert werden, wenn nicht genügend Arbeitsspeicher verfügbar ist. Wenn null, wird die Standardgröße verwendet. Dies kann ignoriert werden, wenn auch ioDesiredRate bereitgestellt wird.

ioDesiredRate

Optional. Die angeforderte durchschnittliche E/A-Rate in Kilobyte pro Sekunde. Wenn null, werden Kopien so schnell wie möglich ausgeführt.

pProgressRoutineOld

SourceOplockKeys

reserved[6]

reserved[7]

reserved[8]

pProgressRoutineOld. Optional. Die Adresse einer Rückruffunktion des alten Stils vom Typ LPPROGRESS_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 unter LPPROGRESS_ROUTINE Rückruf. Wenn sowohl pProgressRoutineOld als auch pProgressRoutine bereitgestellt werden, hat pProgressRoutineOld Vorrang.

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

   
Unterstützte Mindestversion (Client) Windows 11 [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

COPYFILE2_EXTENDED_PARAMETERS

CopyFile2ProgressRoutine

Strukturen in der Dateiverwaltung

LPPROGRESS_ROUTINE

Verwenden der Windows-Header