COPYFILE2_EXTENDED_PARAMETERS structure (winbase.h)
Contient des paramètres étendus pour la fonction CopyFile2.
Syntaxe
typedef struct COPYFILE2_EXTENDED_PARAMETERS {
DWORD dwSize;
DWORD dwCopyFlags;
BOOL *pfCancel;
PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
PVOID pvCallbackContext;
} COPYFILE2_EXTENDED_PARAMETERS;
Membres
dwSize
Contient la taille de cette structure, sizeof(COPYFILE2_EXTENDED_PARAMETERS)
.
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 utilisés à nouveau. 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 est 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 non chiffrées, 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 reprend. 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. Cela 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 s’il est 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 EA 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éallouer 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 superposée 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é de calcul, utilisation de la mémoire) ne sont pas configurables via cette API et peuvent être modifiés entre différentes versions du système d’exploitation. Pris en charge dans Windows Server 2022 et Windows 10, build 1903 et versions ultérieures. (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 version ultérieure.) |
COPY_FILE_ENABLE_SPARSE_COPY0x20000000 |
Activez la conservation de l’état partiellement alloué du fichier lors de la copie. Pris en charge dans Windows 11, build 22H2 et versions ultérieures. |
pfCancel
Si cet indicateur est défini sur 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 .
pvCallbackContext
Pointeur vers les informations de contexte spécifiques à l’application à passer à CopyFile2ProgressRoutine.
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
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [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) |