estrutura COPY_INFORMATION (ntifs.h)
A estrutura COPY_INFORMATION correlaciona chamadas de leitura e gravação a uma operação de cópia de NtCopyFileChunk.
Sintaxe
typedef struct _COPY_INFORMATION {
PFILE_OBJECT SourceFileObject;
LONGLONG SourceFileOffset;
} COPY_INFORMATION, *PCOPY_INFORMATION;
Membros
SourceFileObject
O objeto de arquivo de origem da cópia.
SourceFileOffset
O deslocamento de arquivo do arquivo de origem da cópia. Esse valor pode ser comparado ao deslocamento de arquivo do destino durante a gravação para garantir que a cópia seja completa e fiel.
Comentários
As operações de leitura e gravação de uma cópia contêm as mesmas informações em suas respectivas extensões IRP, portanto, a correlação pode ser feita usando COPY_INFORMATION para todas as gravações que têm a extensão IRP IopCopyInformationType .
Se as operações de leitura e gravação estiverem correlacionadas e os dados copiados forem verificados, o arquivo de destino gravado poderá ser considerado uma cópia completa e fiel da origem. Isso significa que a confiança pode ser passada do arquivo de origem para o destino.
As cópias geralmente acontecem em partes. Para validar a cópia inteira do arquivo:
Cada parte (cada chamada para NtCopyFileChunk) deve ter sua operação de gravação correlacionada a uma operação de leitura anterior.
Todas as partes copiadas juntas devem abranger todo o intervalo do arquivo.
Um filtro pode verificar a exatidão dos dados copiados com as informações de origem fornecidas na extensão IRP da gravação da seguinte maneira:
- Verifique se ocorreu uma leitura correspondente em SourceFileObject.
- Verifique se SourceFileOffset corresponde ao deslocamento de arquivo da operação de gravação.
Confira Copiar arquivo no modo kernel e detectar cenários de arquivo de cópia para obter mais informações.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 11, versão 22H2 |
Cabeçalho | ntifs.h |
Confira também
FltGetCopyInformationFromCallbackData
IoCheckFileObjectOpenedAsCopySource