0

ハードディスクへのファイルのドラッグ&ドロップを検出するミニフィルターを開発しています。ユーザーがファイルをドライブにドラッグ アンド ドロップする場合:

  1. ファイル名を指定したファイル名に変更します。例: redirect_file_name.txt
  2. 次に、このファイルを削除します。

ただし、redirect_file_name.txt ファイルのサイズは変わりません。

  1. ソース ファイルのサイズが 1GB の場合、redirect_file_name.txt は 1GB です。
  2. ソース ファイルのサイズが 100MB の場合、redirect_file_name.txt は 100MB です。

この投稿でソース名を redirect_file_name.txt に変更します

ファイル redirect_file_name.txt のサイズを変更するにはどうすればよいですか?

更新: FileAllocationInformation で FltSetInformationFile を使用する

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

しかし、ステータスは 0XC000000D (STATUS_INVALID_PARAMETER) です

4

1 に答える 1

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);
于 2015-02-03T09:51:12.000 に答える