共用方式為


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 的呼叫端負責確保檔案或目錄的新名稱位於與舊名稱相同的磁碟區上。

Minifilter 驅動程式必須使用 FltSetInformationFile ,而非 ZwSetInformationFile 來重新命名檔案。

規格需求

需求
目標平台 Universal
標頭 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