COPY_INFORMATION structure (ntifs.h)

La structure COPY_INFORMATION met en corrélation les appels en lecture et en écriture à une opération de copie à partir de NtCopyFileChunk.

Syntaxe

typedef struct _COPY_INFORMATION {
  PFILE_OBJECT SourceFileObject;
  LONGLONG     SourceFileOffset;
} COPY_INFORMATION, *PCOPY_INFORMATION;

Membres

SourceFileObject

Objet de fichier source de la copie.

SourceFileOffset

Décalage de fichier du fichier source de la copie. Cette valeur peut être comparée au décalage du fichier de destination pendant l’écriture pour garantir que la copie est complète et fidèle.

Remarques

Les opérations de lecture et d’écriture d’une copie contiennent les mêmes informations dans leurs extensions IRP respectives. La corrélation peut donc être effectuée à l’aide de COPY_INFORMATION pour toutes les écritures qui ont l’extension IRP IopCopyInformationType .

Si les opérations de lecture et d’écriture sont corrélées et que les données copiées sont vérifiées, le fichier de destination écrit peut être considéré comme une copie complète et fidèle de la source. Cela signifie que l’approbation peut être transmise du fichier source à la destination.

Les copies se produisent généralement en blocs. Pour valider l’intégralité de la copie de fichier :

  • Chaque bloc (chaque appel à NtCopyFileChunk) doit avoir son opération d’écriture corrélée à une opération de lecture précédente.

  • Tous les blocs copiés ensemble doivent couvrir toute la plage du fichier.

Un filtre peut vérifier l’exactitude des données copiées avec les informations sources fournies dans l’extension IRP de l’écriture comme suit :

  • Vérifiez qu’une lecture correspondante s’est produite sur SourceFileObject.
  • Vérifiez que SourceFileOffset correspond au décalage de fichier de l’opération d’écriture.

Pour plus d’informations, consultez Copie de fichiers en mode noyau et Détection des scénarios de copie de fichier .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 22H2
En-tête ntifs.h

Voir aussi

FltGetCopyInformationFromCallbackData

IoCheckFileObjectOpenedAsCopySource

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile