ZwFlushBuffersFile 函式 (ntifs.h)
ZwFlushBuffersFile 例程是由文件系統篩選驅動程式呼叫,以將指定檔案的排清要求傳送至文件系統。
語法
NTSYSAPI NTSTATUS ZwFlushBuffersFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock
);
參數
[in] FileHandle
ZwCreateFile 或 ZwOpenFile 針對要排清緩衝區的檔案所傳回的句柄。 這個參數是必要的,而且不能是 NULL。
[out] IoStatusBlock
呼叫端 I/O 狀態區塊的位址。 這個參數是必要的,而且不能是 NULL。
傳回值
ZwFlushBuffersFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:
傳回碼 | Description |
---|---|
|
檔案位於受寫入保護的磁碟區上;這是錯誤碼。 |
|
檔案位於目前未掛接的磁碟區上;這是錯誤碼。 |
備註
文件系統篩選驅動程式可以呼叫 ZwFlushBuffersFile ,向指定檔案的文件系統發出 IRP_MJ_FLUSH_BUFFERS 要求。 排清作業是同步的。
Minifilter 驅動程序應該呼叫 FltFlushBuffers ,而不是呼叫 ZwFlushBuffersFile。
ZwFlushBuffersFile 的呼叫端必須在 IRQL = PASSIVE_LEVEL且啟用特殊核心 APC 時執行。
注意 如果 對 ZwFlushBuffersFile 函式的呼叫發生在使用者模式中,您應該使用名稱 “NtFlushBuffersFile”,而不是 “ZwFlushBuffersFile”。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (请参阅一节) |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 PowerIrpDDis (wdm) |