Freigeben über


COPY_INFORMATION Struktur (ntifs.h)

Die COPY_INFORMATION Struktur korreliert Lese- und Schreibaufrufe an einen Kopiervorgang von NtCopyFileChunk.

Syntax

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

Angehörige

SourceFileObject

Das Quelldateiobjekt der Kopie.

SourceFileOffset

Der Dateioffset der Quelldatei der Kopie. Dieser Wert kann während des Schreibvorgangs mit dem Dateioffset des Ziels verglichen werden, um sicherzustellen, dass die Kopie vollständig und treu ist.

Bemerkungen

Die Lese- und Schreibvorgänge einer Kopie enthalten dieselben Informationen in ihren jeweiligen IRP-Erweiterungen, sodass die Korrelation für alle Schreibvorgänge mit der IopCopyInformationType IRP-Erweiterung COPY_INFORMATION erfolgen kann.

Wenn die Lese- und Schreibvorgänge korreliert sind und die kopierten Daten überprüft werden, kann die geschriebene Zieldatei als vollständige und treue Kopie der Quelle betrachtet werden. Dies bedeutet, dass Vertrauen von der Quelldatei an das Ziel übergeben werden kann.

Kopien erfolgen im Allgemeinen in Blöcken. So überprüfen Sie die gesamte Dateikopie:

  • Jeder Block (jeder Aufruf von NtCopyFileChunk) muss seinen Schreibvorgang mit einem vorherigen Lesevorgang korrelieren lassen.

  • Alle Blöcke, die zusammen kopiert wurden, sollten den gesamten Bereich der Datei abdecken.

Ein Filter kann die Richtigkeit der kopierten Daten mit den In der IRP-Erweiterung des Schreibvorgangs bereitgestellten Quellinformationen wie folgt überprüfen:

  • Stellen Sie sicher, dass für SourceFileObject-ein übereinstimmendes Lesevorgang aufgetreten ist.
  • Stellen Sie sicher, dass SourceFileOffset- dem Dateioffset des Schreibvorgangs entspricht.

Weitere Informationen finden Sie unter Kernelmodusdateikopie und Erkennen von Kopierdateiszenarien.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 11, Version 22H2
Header- ntifs.h

Siehe auch

FltGetCopyInformationFromCallbackData-

IoCheckFileObjectOpenedAsCopySource-

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk-

NtCreateFile-