FltFlushBuffers 函式 (fltkernel.h)

Minifilter 驅動程式會使用 FltFlushBuffers 例程,將指定檔案的排清要求傳送至文件系統。 使用 FltFlushBuffers2 來指定不同的排清類型選項。

語法

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

參數

[in] Instance

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

[in] FileObject

要排清之檔案的檔案對象指標。 這個參數是必要的,而且不能是 NULL

傳回值

FltFlushBuffers 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 Description
STATUS_MEDIA_WRITE_PROTECTED
檔案位於受寫入保護的磁碟區上。 這是錯誤碼。
STATUS_VOLUME_DISMOUNTED
檔案位於目前未掛接的磁碟區上。 這是錯誤碼。

備註

迷你篩選驅動程式可以呼叫 FltFlushBuffers ,向指定檔案的文件系統發出 IRP_MJ_FLUSH_BUFFERS 要求。 排清作業是同步的,而且會發出至指定 實例下方的實例 (s) 。

如果 FileObject 適用於檔案,則會寫入檔案快取中的檔案數據和元數據,且基礎記憶體將會同步處理以排清其快取。 如果 FileObject 適用於磁碟區,文件系統將會同時寫入磁碟區上所有已修改檔案的檔案數據和元數據,並將基礎記憶體同步處理以排清其快取。 使用 FltFlushBuffers2 更細微地控制文件系統應該執行的排清類型。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
IRQL PASSIVE_LEVEL

另請參閱

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS