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 plusieurs 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. Si un fichier ou un répertoire existe avec 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é de manière à pouvoir être redémarré si les 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 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 accès SACL Right. 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 c’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. 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 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. C’est la responsabilité de 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élocalisez 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 de compression et les paramètres (complexité de calcul, utilisation de la mémoire) ne sont pas configurables via cette API et sont susceptibles de changer entre les différentes versions du 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 de protocole SMB négociée est SMB v3.1.1 ou ultérieure. |
COPY_FILE_ENABLE_SPARSE_COPY0x20000000 |
Activez la conservation de l’état épars du fichier pendant 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 CopyFile2ProgressRoutine fonction de rappel. Si les deux pProgressRoutineOld et pProgressRoutine sont fournis, pProgressRoutineOld est prioritaire.
pvCallbackContext
Pointeur vers des informations de contexte spécifiques à l’application à passer à l'CopyFile2ProgressRoutine.
dwCopyFlagsV2
Contient une combinaison de zéro ou plusieurs de ces valeurs d’indicateur.
Valeur | Signification |
---|---|
COPY_FILE2_V2_DONT_COPY_JUNCTIONS0x00000001 |
Désactivez la copie des jonctions. |
ioDesiredSize
Optionnel. 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 une mémoire insuffisante est disponible. Si zéro, la taille par défaut est utilisée. Cela peut être ignoré si ioDesiredRate est également fourni
ioDesiredRate
Optionnel. Taux d’E/S moyen 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. Optionnel. Adresse d’une fonction de rappel de type ancien 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_ROUTINEde rappel . Si les deux 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 une version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 11 [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
d’en-tête | winbase.h (inclure Windows.h) |