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_EXISTS0x00000001 |
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_RESTARTABLE0x00000002 |
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_WRITE0x00000004 |
Die Datei wird kopiert, und die Quelldatei wird für den Schreibzugriff geöffnet. |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
Die Kopie wird auch dann versucht, wenn die Zieldatei nicht verschlüsselt werden kann. |
COPY_FILE_COPY_SYMLINK0x00000800 |
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_BUFFERING0x00001000 |
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_PRIVILEGES0x00002000 |
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_PAUSE0x00004000 |
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_OFFLOAD0x00040000 |
Versuchen Sie nicht, den Windows-Kopierauslagerungsmechanismus zu verwenden. Dies wird im Allgemeinen nicht empfohlen. |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
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_ENCRYPTION0x00800000 |
Ignorieren Sie den verschlüsselten Zustand der Quelldatei. Unterstützt auf Windows 10 und höher. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
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_POINT0x00200000 |
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_DIRECTORY0x00000080 |
Gibt an, dass die Quelldatei eine Verzeichnisdatei ist. Wenn angegeben, wird die Quelldatei mit FILE_OPEN_FOR_BACKUP_INTENT geö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_STREAMS0x00008000 |
Kopieren Sie keine alternativen Datenströme. Unterstützt in Windows 10, Build 19041 und höher. |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
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_MODE0x08000000 |
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_TRAFFIC0x10000000 |
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_COPY0x20000000 |
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_JUNCTIONS0x00000001 |
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) |