共用方式為


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 == FileEndOfFileInformationEndOfFile 成員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 為基礎的作業。

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