Минифильтр, как изменить размер файла?

Я разрабатываю минифильтр для обнаружения сопротивления & Перетащите файл на жесткий диск. Когда пользователь перетаскивает & сбросить файл на диск:

  1. Измените имя файла на указанное имя файла. Пример: redirect_file_name.txt
  2. Затем я удаляю этот файл.

Но размер файла redirect_file_name.txt не меняется.

  1. Если размер исходного файла составляет 1 ГБ, redirect_file_name.txt — 1 ГБ.
  2. Если размер исходного файла составляет 100 МБ, redirect_file_name.txt — 100 МБ.

Я изменяю имя источника на redirect_file_name.txt с помощью эта почта

Как я могу сделать, чтобы изменить размер файла redirect_file_name.txt?

ОБНОВЛЕНИЕ: Используйте FltSetInformationFile с FileAllocationInformation

FILE_ALLOCATION_INFORMATION fileInformation;
fileInformation.AllocationSize.QuadPart = 1024;
status = FltSetInformationFile( FltObjects->Instance,
FltObjects->FileObject,
&fileInformation,
sizeof(FILE_ALLOCATION_INFORMATION),
FileAllocationInformation);

Но статус 0XC000000D (STATUS_INVALID_PARAMETER)

0

Решение

Используйте этот код в IRP_MJ_SET_INFORMATION (как сказано в комментариях)

FILE_ALLOCATION_INFORMATION fileInformation;
fileInformation.AllocationSize.QuadPart = 1024; // Size of file
status = FltSetInformationFile( FltObjects->Instance,
FltObjects->FileObject,
&fileInformation,
sizeof(FILE_ALLOCATION_INFORMATION),
FileAllocationInformation);
0

Другие решения


По вопросам рекламы [email protected]