structure COPYFILE2_EXTENDED_PARAMETERS_V2 (winbase.h)
Contient des fonctionnalités supplémentaires mises à jour au-delà de la structure COPYFILE2_EXTENDED_PARAMETERS pour la fonction CopyFile2 .
Syntaxe
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;
Membres
dwSize
Contient la taille de cette structure, sizeof(COPYFILE2_EXTENDED_PARAMETERS_V2)
.
dwCopyFlags
Contient une combinaison de zéro ou plus de ces valeurs d’indicateur.
Valeur | Signification |
---|---|
COPY_FILE_FAIL_IF_EXISTS0x00000001 |
Si le fichier de destination existe, l’opération de copie échoue immédiatement. S’il existe un fichier ou un répertoire portant le nom de destination, l’appel de fonction CopyFile2 échoue avec HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) ou HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) . Si COPY_FILE_RESUME_FROM_PAUSE est également spécifié, un échec est déclenché uniquement si le fichier de destination n’a pas d’en-tête de redémarrage valide. |
COPY_FILE_RESTARTABLE0x00000002 |
Le fichier est copié d’une manière qui peut être redémarrée si les mêmes noms de fichiers source et de destination sont réutilisés. C’est plus lent. |
COPY_FILE_OPEN_SOURCE_FOR_WRITE0x00000004 |
Le fichier est copié et le fichier source est ouvert pour l’accès en écriture. |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
La copie sera tentée même si le fichier de destination ne peut pas être chiffré. |
COPY_FILE_COPY_SYMLINK0x00000800 |
Si le fichier source est un lien symbolique, le fichier de destination est également un lien symbolique pointant vers le même fichier que le lien symbolique source. |
COPY_FILE_NO_BUFFERING0x00001000 |
La copie est effectuée à l’aide d’E/S sans débogage, en contournant les ressources du cache système. Cet indicateur est recommandé pour les copies de fichiers très volumineuses. Il n’est pas recommandé de suspendre les copies qui utilisent cet indicateur. |
COPY_FILE_REQUEST_SECURITY_PRIVILEGES0x00002000 |
La copie est tentée, en spécifiant ACCESS_SYSTEM_SECURITY pour le fichier source et ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER pour le fichier de destination. Si ces demandes sont refusées, la demande d’accès est réduite au niveau de privilège le plus élevé pour lequel l’accès est accordé. Pour plus d’informations, consultez Droit d’accès SACL. Cela peut être utilisé pour permettre au rappel CopyFile2ProgressRoutine d’effectuer des opérations nécessitant des privilèges plus élevés, telles que la copie des attributs de sécurité pour le fichier. |
COPY_FILE_RESUME_FROM_PAUSE0x00004000 |
Le fichier de destination est examiné pour voir s’il a été copié à l’aide de COPY_FILE_RESTARTABLE. Si tel est le cas, la copie est reprise. Si ce n’est pas le cas, le fichier sera entièrement copié. |
COPY_FILE_NO_OFFLOAD0x00040000 |
N’essayez pas d’utiliser le mécanisme de déchargement de copie Windows. Ceci n’est généralement pas recommandé. |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
Au lieu de bloquer, le fichier doit être copié et chiffré sur la destination si pris en charge par le système de fichiers de destination. Pris en charge sur Windows 10 et versions ultérieures. |
COPY_FILE_IGNORE_SOURCE_ENCRYPTION0x00800000 |
Ignorez l’état chiffré du fichier source. Pris en charge sur Windows 10 et versions ultérieures. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
Ne demandez pas WRITE_DAC pour l’accès au fichier de destination. Pris en charge sur Windows 10 et versions ultérieures. |
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT0x00200000 |
Copiez toujours le point d’analyse, quel que soit le type. Il incombe à l’appelant de comprendre la signification du point d’analyse. Pris en charge sur Windows 10, build 19041 et versions ultérieures. |
COPY_FILE_DIRECTORY0x00000080 |
Indique que le fichier source est un fichier de répertoire. Lorsqu’il est fourni, le fichier source est ouvert avec FILE_OPEN_FOR_BACKUP_INTENT . Le fichier de répertoire aura ses autres flux de données, ses informations de point d’analyse et ses EAs copiés comme un fichier normal. Pris en charge dans Windows 10, build 19041 et versions ultérieures. |
COPY_FILE_SKIP_ALTERNATE_STREAMS0x00008000 |
Ne copiez pas d’autres flux de données. Pris en charge dans Windows 10, build 19041 et versions ultérieures. |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
Ne préallouez pas la taille du fichier de destination avant d’effectuer la copie. Pris en charge dans Windows 10, build 19041 et versions ultérieures. |
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE0x08000000 |
Activez le mode LowFreeSpace. Aucune E/S qui se chevauche n’est utilisée. Le déchargement ODX et SMB n’est pas tenté. Pris en charge dans Windows 10, build 19041 et versions ultérieures. |
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC0x10000000 |
Demandez au canal de transfert sous-jacent de compresser les données pendant l’opération de copie. La demande peut ne pas être prise en charge pour tous les supports, auquel cas elle est ignorée. Les attributs et paramètres de compression (complexité du calcul, utilisation de la mémoire) ne sont pas configurables via cette API et peuvent être modifiés entre différentes versions de système d’exploitation. Cet indicateur a été introduit dans Windows 10, version 1903 et Windows Server 2022. Sur Windows 10, l’indicateur est pris en charge pour les fichiers résidant sur des partages SMB, où la version négociée du protocole SMB est SMB v3.1.1 ou ultérieure. |
COPY_FILE_ENABLE_SPARSE_COPY0x20000000 |
Activez la conservation de l’état éparse du fichier pendant la copie. Pris en charge dans Windows 11, build 22H2 et versions ultérieures. |
pfCancel
Si cet indicateur a la valeur TRUE pendant l’opération de copie, l’opération de copie est annulée.
pProgressRoutine
Adresse facultative d’une fonction de rappel de type PCOPYFILE2_PROGRESS_ROUTINE appelée chaque fois qu’une autre partie du fichier a été copiée. Ce paramètre peut être NULL. Pour plus d’informations sur la fonction de rappel de progression, consultez la fonction de rappel CopyFile2ProgressRoutine . Si pProgressRoutineOld et pProgressRoutine sont fournis, pProgressRoutineOld est prioritaire.
pvCallbackContext
Pointeur vers les informations de contexte spécifiques à l’application à passer à CopyFile2ProgressRoutine.
dwCopyFlagsV2
Contient une combinaison de zéro ou plus de ces valeurs d’indicateur.
Valeur | Signification |
---|---|
COPY_FILE2_V2_DONT_COPY_JUNCTIONS0x00000001 |
Désactivez la copie des jonctions. |
ioDesiredSize
facultatif. Taille demandée (en octets) pour chaque opération d’E/S (c’est-à-dire un cycle de lecture/écriture lors de la copie du fichier). Cela peut être réduit si la mémoire est insuffisante. Si zéro, la taille par défaut est utilisée. Cela peut être ignoré si ioDesiredRate est également fourni
ioDesiredRate
facultatif. Taux moyen d’E/S demandé, en kilo-octets par seconde. Si zéro, les copies sont effectuées aussi rapidement que possible.
pProgressRoutineOld
SourceOplockKeys
reserved[6]
reserved[7]
reserved[8]
pProgressRoutineOld. facultatif. Adresse d’une ancienne fonction de rappel de type LPPROGRESS_ROUTINE appelée chaque fois qu’une autre partie du fichier a été copiée. Ce paramètre peut être NULL. Pour plus d’informations, sur la fonction de rappel de progression, consultez LPPROGRESS_ROUTINE rappel. Si pProgressRoutineOld et pProgressRoutine sont fournis, pProgressRoutineOld est prioritaire.
Remarques
Pour compiler une application qui utilise cette structure, définissez la macro _WIN32_WINNT comme _WIN32_WINNT_WIN8 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Configuration requise
Client minimal pris en charge | Windows 11 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
En-tête | winbase.h (inclure Windows.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour