FltFlushBuffers 函式 (fltkernel.h)
小型篩選驅動程式會使用 FltFlushBuffers 例程,將指定檔案的排清要求傳送至文件系統。 使用 FltFlushBuffers2 來指定不同的排清類型選項。
語法
NTSTATUS FLTAPI FltFlushBuffers(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject
);
參數
[in] Instance
呼叫端的不透明實例指標。 這是必要參數,而且無法 NULL。
[in] FileObject
要排清之檔案的檔案對象指標。 這是必要參數,而且無法 NULL。
傳回值
FltFlushBuffers 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | 描述 |
---|---|
|
檔案位於寫入保護的磁碟區上。 這是錯誤碼。 |
|
檔案位於目前未掛接的磁碟區上。 這是錯誤碼。 |
言論
小型篩選驅動程式可以呼叫 FltFlushBuffers,對指定的檔案向文件系統發出 IRP_MJ_FLUSH_BUFFERS 要求。 排清作業是同步的,而且會在指定的實例 下方發出實例。
如果 fileObject 適用於檔案,則會寫入檔案快取中的檔案數據和元數據,並將同步處理基礎記憶體來排清其快取。 如果 FileObject 適用於磁碟區,檔系統將會寫入磁碟區上所有已修改檔案的檔案數據和元數據,並將基礎記憶體同步處理以排清其快取。 使用 FltFlushBuffers2 更細微地控制文件系統應該執行的排清類型。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | fltkernel.h (包括 Fltkernel.h) |
連結庫 | FltMgr.lib |
IRQL | PASSIVE_LEVEL |