FsRtlNotifyFullReportChange 函式 (ntifs.h)
FsRtlNotifyFullReportChange 例程會完成擱置的通知變更 IRP。
語法
void FsRtlNotifyFullReportChange(
[in] PNOTIFY_SYNC NotifySync,
[in] PLIST_ENTRY NotifyList,
[in] PSTRING FullTargetName,
[in] USHORT TargetNameOffset,
[in, optional] PSTRING StreamName,
[in, optional] PSTRING NormalizedParentName,
[in] ULONG FilterMatch,
[in] ULONG Action,
[in, optional] PVOID TargetContext
);
參數
[in] NotifySync
目前磁碟區的不透明同步處理物件的指標。
[in] NotifyList
通知清單前端的指標。 清單中的每個元素都是不透明的通知結構。
[in] FullTargetName
ANSI 或 Unicode 字串的指標,其中包含檔案的完整路徑名稱。
[in] TargetNameOffset
名稱最後元件 之 FullTargetName 字串內的位移。
[in, optional] StreamName
ANSI 或 Unicode 字串的選擇性指標,其中包含要以檔名儲存的數據流名稱。
[in, optional] NormalizedParentName
ANSI 或 Unicode 字串的選擇性指標,其中包含與 FullTargetName 字串中相同的路徑,但以對應長名稱取代的所有簡短名稱。
[in] FilterMatch
要與通知結構中完成篩選比較的旗標位掩碼。 如果已設定完成篩選中的任何對應位,則會有通知條件存在。 如需可能的旗標值,請參閱 FsRtlNotifyFullChangeDirectory 的 CompletionFilter 參數。
[in] Action
指定動作程序代碼,如果有的話,要儲存在用戶的緩衝區中。 動作程式代碼可以是下列其中一個值。
動作程序代碼 | 意義 |
---|---|
FILE_ACTION_ADDED | 已建立新的檔案或子目錄。 |
FILE_ACTION_REMOVED | 檔案或子目錄已刪除。 |
FILE_ACTION_MODIFIED | 檔案或子目錄已修改 (,但尚未建立或刪除) 。 |
FILE_ACTION_RENAMED_OLD_NAME | 這是已重新命名之檔案的舊名稱。 |
FILE_ACTION_RENAMED_NEW_NAME | 這是已重新命名之檔案的新名稱。 |
FILE_ACTION_ADDED_STREAM | 已開啟新的數據流。 |
FILE_ACTION_REMOVED_STREAM | 數據流已關閉。 |
FILE_ACTION_MODIFIED_STREAM | 數據流已修改 (,但未開啟或關閉) 。 |
FILE_ACTION_REMOVED_BY_DELETE | 刪除檔案作業已從索引中移除物件標識碼。 |
FILE_ACTION_ID_NOT_TUNNELLED | 檔案的物件標識碼無法通道,因為其物件標識碼符合已經存在檔案的標識碼。 |
FILE_ACTION_TUNNELLED_ID_COLLISION | 無法通道傳送檔案的物件標識碼,因為檔案已經有物件標識符。 |
[in, optional] TargetContext
如果在受監看的樹狀結構中執行周遊檢查,則傳遞至文件系統的內容指標。 如需詳細資訊,請參閱 FsRtlNotifyFullChangeDirectory 的 TraverseCallback 參數。
傳回值
無
備註
FsRtlNotifyFullReportChange 會在修改檔案時由文件系統呼叫,以便完成擱置通知變更 IRP。
FsRtlNotifyFullReportChange 會在通知清單中尋找符合指定篩選和路徑名稱的通知結構。 如果找到相符專案, FsRtlNotifyFullReportChange 會完成通知結構的所有擱置 IRP。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 PowerIrpDDis (wdm) |