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
要與通知結構中完成篩選比較的旗標位掩碼。 如果已設定完成篩選中的任何對應位,則通知條件就會存在。 如需可能的旗標值,請參閱 FsRtlNotifyFullChangeDirectoryCompletionFilter 參數。
[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
如果在所監看的樹狀結構中執行周遊檢查,則傳遞至文件系統的內容指標。 如需詳細資訊,請參閱 FsRtlNotifyFullChangeDirectoryTraverseCallback 參數。
傳回值
沒有
言論
FsRtlNotifyFullReportChange 會在修改檔案時由文件系統呼叫,以便完成擱置的通知變更 IRP。
FsRtlNotifyFullReportChange 在通知清單中尋找符合指定篩選條件和路徑名稱的通知結構。 如果找到相符專案,FsRtlNotifyFullReportChange 會完成通知結構的所有擱置 IRP。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIs(storport),PowerIrpDDis(wdm) |