共用方式為


IRP_MJ_SET_INFORMATION等位的FLT_PARAMETERS

作業之FLT_IO_PARAMETER_BLOCK結構的MajorFunction字段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

  • ( 未命名的結構 )
    包含下列成員的結構。

  • ReplaceIfExists:用於重新命名或鏈接作業。 設定為 TRUE ,以指定已經存在且具有相同名稱的檔案,會以指定的檔案取代。 如果具有指定名稱的檔案已經存在,則重新命名或鏈接作業應該會失敗,則設定為 FALSE

  • AdvanceOnly:文件尾作業的旗標。 這會決定 FileInformationClass == FileEndOfFileInformation,EndOfFile 成員FILE_END_OF_FILE_INFORMATION結構的用法。 如果 為 TRUE,只有當檔案增加目前的有效數據長度時,才會從 EndOfFile 設定新的有效數據長度。 如果為 FALSE,則會從 EndOfFile 設定新的檔案大小。

  • ClusterCount:保留供系統使用。 請勿使用。

  • DeleteHandle:保留供系統使用。 請勿使用。

  • InfoBuffer:輸入緩衝區的指標,其中包含要設定的檔案資訊。

備註

IRP_MJ_SET_INFORMATION作業的 FLT_PARAMETERS 結構包含回呼數據所代表之集合資訊作業的參數, (FLT_CALLBACK_DATA) 結構。 它包含在FLT_IO_PARAMETER_BLOCK結構中。

IRP_MJ_SET_INFORMATION是以 IRP 為基礎的作業。

Cache Manager 會將 AdvanceOnly 成員設定為 TRUE ,以通知文件系統將磁碟上的目前有效數據長度前進到 EndOfFile 中新的有效數據長度。 如果 AdvanceOnlyFALSE則會在 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