estructura COPY_INFORMATION (ntifs.h)
La estructura COPY_INFORMATION correlaciona las llamadas de lectura y escritura a una operación de copia de NtCopyFileChunk.
Sintaxis
typedef struct _COPY_INFORMATION {
PFILE_OBJECT SourceFileObject;
LONGLONG SourceFileOffset;
} COPY_INFORMATION, *PCOPY_INFORMATION;
Miembros
SourceFileObject
Objeto de archivo de origen de la copia.
SourceFileOffset
Desplazamiento del archivo de origen de la copia. Este valor se puede comparar con el desplazamiento del archivo del destino durante la escritura para asegurarse de que la copia es completa y fiel.
Comentarios
Las operaciones de lectura y escritura de una copia contienen la misma información en sus respectivas extensiones IRP, por lo que la correlación se puede realizar mediante COPY_INFORMATION para todas las escrituras que tengan la extensión IRP IopCopyInformationType .
Si las operaciones de lectura y escritura se correlacionan y se comprueban los datos copiados, el archivo de destino escrito se puede considerar una copia completa y fiel del origen. Esto significa que la confianza se puede pasar desde el archivo de origen al destino.
Por lo general, las copias se producen en fragmentos. Para validar toda la copia del archivo:
Cada fragmento (cada llamada a NtCopyFileChunk) debe tener su operación de escritura correlacionada con una operación de lectura anterior.
Todos los fragmentos copiados juntos deben abarcar todo el intervalo del archivo.
Un filtro puede comprobar la exactitud de los datos copiados con la información de origen proporcionada en la extensión IRP de la escritura de la siguiente manera:
- Compruebe que se ha producido una lectura coincidente en SourceFileObject.
- Compruebe que SourceFileOffset coincide con el desplazamiento del archivo de la operación de escritura.
Consulte Escenarios de copia de archivos en modo kernel y detección de escenarios de archivos de copia para obtener más información.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11, versión 22H2 |
Encabezado | ntifs.h |
Consulte también
FltGetCopyInformationFromCallbackData
IoCheckFileObjectOpenedAsCopySource