Condividi tramite


struttura COPY_INFORMATION (ntifs.h)

La struttura COPY_INFORMATION correla le chiamate di lettura e scrittura a un'operazione di copia da NtCopyFileChunk.

Sintassi

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

Membri

SourceFileObject

Oggetto file di origine della copia.

SourceFileOffset

Offset del file di origine della copia. Questo valore può essere confrontato con l'offset del file di destinazione durante la scrittura per garantire che la copia sia completa e fedele.

Osservazioni

Le operazioni di lettura e scrittura di una copia contengono le stesse informazioni nelle rispettive estensioni IRP, quindi è possibile eseguire la correlazione usando COPY_INFORMATION per tutte le scritture con IopCopyInformationType estensione IRP.

Se le operazioni di lettura e scrittura sono correlate e i dati copiati vengono verificati, il file di destinazione scritto può essere considerato una copia completa e fedele dell'origine. Ciò significa che l'attendibilità può essere passata dal file di origine alla destinazione.

Le copie vengono in genere eseguite in blocchi. Per convalidare l'intera copia del file:

  • Ogni blocco (ogni chiamata a NtCopyFileChunk) deve avere la relativa operazione di scrittura correlata a un'operazione di lettura precedente.

  • Tutti i blocchi copiati insieme devono coprire l'intero intervallo del file.

Un filtro può verificare la correttezza dei dati copiati con le informazioni di origine fornite nell'estensione IRP della scrittura come indicato di seguito:

  • Verificare che si sia verificata una lettura corrispondente in SourceFileObject.
  • Verificare che SourceFileOffset corrisponda all'offset del file dell'operazione di scrittura.

Per altre informazioni, vedere copia di file in modalità kernel e rilevamento di scenari di file di copia.

Fabbisogno

Requisito Valore
client minimo supportato Windows 11, versione 22H2
intestazione ntifs.h

Vedere anche

FltGetCopyInformationFromCallbackData

IoCheckFileObjectOpenedAsCopySource

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile