共用方式為


FltSetInformationFile 函式 (fltkernel.h)

FltSetInformationFile 設定指定檔案的資訊。

語法

NTSTATUS FLTAPI FltSetInformationFile(
  [in] PFLT_INSTANCE          Instance,
  [in] PFILE_OBJECT           FileObject,
  [in] PVOID                  FileInformation,
  [in] ULONG                  Length,
  [in] FILE_INFORMATION_CLASS FileInformationClass
);

參數

[in] Instance

呼叫端的不透明實例指標。 這是必要參數,而且無法 NULL

[in] FileObject

檔案的檔案對象指標。 這是必要參數,而且無法 NULL

[in] FileInformation

呼叫端配置的緩衝區指標,其中包含要為檔案設定的資訊。 FileInformationClass 參數會指定信息的類型。 這是必要參數,而且無法 NULL

[in] Length

FileInformation 緩衝區的大小,以位元組為單位。

[in] 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

傳回值

FltSetInformationFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值。

言論

小型篩選驅動程式會呼叫 FltSetInformationFile 來設定指定檔案的資訊。 檔案目前必須開啟。

檔案重新命名作業會對傳遞至 fltSetInformationFile 的參數值施加下列限制:如 FILE_RENAME_INFORMATION參考專案中所述,檔案或目錄只能在磁碟區內重新命名。 換句話說,重新命名作業無法讓檔案或目錄移至不同的磁碟區。 ZwSetInformationFile不同,FltSetInformationFile 不會驗證FILE_RENAME_INFORMATION結構的內容。 因此,FltSetInformationFile 的呼叫端負責確保檔案或目錄的新名稱位於與舊名稱相同的磁碟區上。

小型篩選驅動程式必須使用 FltSetInformationFile,而不是 ZwSetInformationFile重新命名檔案。

要求

要求 價值
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
連結庫 FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

另請參閱

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

FltQueryInformationFile

FltQueryVolumeInformationFile

ZwSetInformationFile