Поделиться через


FLT_PARAMETERS для объединения IRP_MJ_SET_INFORMATION

Компонент объединения используется, когда поле MajorFunction структуры FLT_IO_PARAMETER_BLOCK для операции IRP_MJ_SET_INFORMATION.

Синтаксис

typedef union _FLT_PARAMETERS {
  ...    ;
  struct {
    ULONG                                    Length;
    FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
    PFILE_OBJECT                             ParentOfTarget;
    union {
      struct {
        BOOLEAN ReplaceIfExists;
        BOOLEAN AdvanceOnly;
      };
      ULONG  ClusterCount;
      HANDLE DeleteHandle;
    };
    PVOID                                    InfoBuffer;
  } SetFileInformation;
  ...    ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;

Члены

  • SetFileInformation: структура, содержащая следующие элементы.

  • Длина: длина буфера в байтах в InfoBuffer.

  • FileInformationClass: тип сведений, которые необходимо задать для файла. Это может быть:

    Значение Значение
    FileAllocationInformation Задайте FILE_ALLOCATION_INFORMATION для файла.
    FileBasicInformation Задайте FILE_BASIC_INFORMATION для файла.
    FileDispositionInformation Задайте FILE_DISPOSITION_INFORMATION для файла.
    FileEndOfFileInformation Задайте FILE_END_OF_FILE_INFORMATION для файла.
    FileLinkInformation Задайте FILE_LINK_INFORMATION для файла.
    FilePositionInformation Задайте FILE_POSITION_INFORMATION для файла.
    FileRenameInformation Задайте FILE_RENAME_INFORMATION для файла.
    FileValidDataLengthInformation Задайте FILE_VALID_DATA_LENGTH_INFORMATION для файла.
  • ParentOfTarget: для операций переименования или связывания. Если InfoBuffer-FileName> содержит полное имя файла или infoBuffer-RootDirectory> не равно NULL, этот элемент является указателем на объект файла для родительского каталога файла, который является целевым объектом операции. В противном случае имеет значение NULL.

  • ( неименованная struct )
    Структура, содержащая следующие элементы.

  • ReplaceIfExists: для операций переименования или связывания. Задайте значение TRUE , чтобы указать, что файл, который уже существует с таким же именем, должен быть заменен заданным файлом. Установите значение FALSE , если операция переименования или связывания должна завершиться ошибкой, если файл с заданным именем уже существует.

  • AdvanceOnly: флаг для операций с завершением работы с файлами. Это определяет использование элемента EndOfFileFILE_END_OF_FILE_INFORMATION структуры при fileInformationClass == FileEndOfFileInformation. Если задано значение TRUE, новая допустимая длина данных для файла будет задана из EndOfFile только в том случае, если она увеличивает текущую допустимую длину данных. Если значение FALSE, новый размер файла задается из EndOfFile.

  • ClusterCount: зарезервировано для системного использования. Не используйте.

  • DeleteHandle: зарезервировано для системного использования. Не используйте.

  • InfoBuffer: указатель на входной буфер, содержащий устанавливаемые сведения о файлах.

Комментарии

Структура FLT_PARAMETERS для операций IRP_MJ_SET_INFORMATION содержит параметры для операции set-information, представленной структурой данных обратного вызова (FLT_CALLBACK_DATA). Он содержится в FLT_IO_PARAMETER_BLOCK структуре.

IRP_MJ_SET_INFORMATION — это операция на основе IRP.

Для элемента AdvanceOnly диспетчер кэша задает значение TRUE , чтобы уведомить файловую систему о том, что текущая допустимая длина данных на диске будет расширена до новой допустимой длины данных в EndOfFile. Если параметр AdvanceOnly имеет значение FALSE, в элементе EndOfFile устанавливается новый размер файла, который может быть больше или меньше текущего размера файла.

Требования

Тип требования Требование
Заголовок Fltkernel.h (включая Fltkernel.h)

См. также раздел

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IRP_MJ_SET_INFORMATION