PRJ_NOTIFICATION列舉 (projectedfslib.h)
傳送 PRJ_NOTIFICATION_CB回呼時指定的通知值。
Syntax
typedef enum PRJ_NOTIFICATION {
PRJ_NOTIFICATION_FILE_OPENED = 0x00000002,
PRJ_NOTIFICATION_NEW_FILE_CREATED = 0x00000004,
PRJ_NOTIFICATION_FILE_OVERWRITTEN = 0x00000008,
PRJ_NOTIFICATION_PRE_DELETE = 0x00000010,
PRJ_NOTIFICATION_PRE_RENAME = 0x00000020,
PRJ_NOTIFICATION_PRE_SET_HARDLINK = 0x00000040,
PRJ_NOTIFICATION_FILE_RENAMED = 0x00000080,
PRJ_NOTIFICATION_HARDLINK_CREATED = 0x00000100,
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 0x00000200,
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 0x00000400,
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 0x00000800,
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 0x00001000
} ;
常數
PRJ_NOTIFICATION_FILE_OPENED 值: 0x00000002 - 指出已建立現有檔案或資料夾的句柄。 - 提供者可以在回應通知時,為此檔案或資料夾指定新的通知遮罩。 |
PRJ_NOTIFICATION_NEW_FILE_CREATED 值: 0x00000004 - 已建立新的檔案或資料夾。 - 提供者可以在回應通知時,為此檔案或資料夾指定新的通知遮罩。 |
PRJ_NOTIFICATION_FILE_OVERWRITTEN 值: 0x00000008 - 已覆寫或取代現有的檔案。 - 提供者可以在回應通知時,為此檔案或資料夾指定新的通知遮罩。 |
PRJ_NOTIFICATION_PRE_DELETE 值: 0x00000010 - 即將刪除檔案或資料夾。 - 如果提供者從回呼傳回錯誤 HRESULT 程式代碼,則刪除將不會生效。 |
PRJ_NOTIFICATION_PRE_RENAME 值: 0x00000020 - 即將重新命名檔案或資料夾。 - 如果提供者從回呼傳回錯誤 HRESULT 程式代碼,則重新命名將不會生效。 - 如果PRJ_NOTIFICATION_CB的 callbackData-FilePathName> 參數是空字串,這表示重新命名是從虛擬化實例外部移動檔案/目錄。 在此情況下,如果提供者已註冊 PRJ_NOTIFICATION_CB 回呼,即使提供者在註冊包含目的地路徑的子樹時未指定此位,也會一律傳送此通知。 不過,如果在註冊包含目的地路徑的子樹時,指定的提供者PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS,將會隱藏通知。 - 如果 PRJ_NOTIFICATION_CB 的 destinationFileName 參數是空字串,這表示重新命名正在將檔案/資料夾移出虛擬化實例。 - 如果PRJ_NOTIFICATION_CB的 callbackData-FilePathName> 和 destinationFileName 參數都是非空字串串,這表示重新命名位於虛擬化實例內。 如果提供者在 PrjStartVirtualizing 選項參數的 NotificationMappings 成員中為來源和目的地路徑指定不同的通知遮罩,則註冊來源或目的地路徑時,如果提供者指定這個位,就會傳送此通知。 |
PRJ_NOTIFICATION_PRE_SET_HARDLINK 值: 0x00000040 - 即將為檔案建立硬連結。 - 如果提供者從回呼傳回錯誤 HRESULT 程式代碼,則硬式連結作業將不會生效。 - 如果 PRJ_NOTIFICATION_CB 的 callbackData-FilePathName> 參數是空字串,這表示會在虛擬化實例內建立硬式連結名稱,亦即虛擬化實例內會建立新的硬式連結至虛擬化實例外部的檔案。 在此情況下,如果提供者已註冊 PRJ_NOTIFICATION_CB 回呼,即使提供者在註冊新硬式連結名稱的子樹時未指定這個位,也會一律傳送此通知。 不過,如果在註冊包含目的地路徑的子樹時,指定的提供者PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS,將會隱藏通知。 - 如果 PRJ_NOTIFICATION_CB 的 destinationFileName 參數是空字串,這表示會在虛擬化實例外部建立硬式連結名稱,也就是在虛擬化實例內檔案的虛擬實例外部建立新的硬式連結。 - 如果 PRJ_NOTIFICATION_CB 的 callbackData-FilePathName> 和 destinationFileName 參數都是非空字串串,這表示新的硬式連結將會在虛擬化實例內的虛擬實例中建立。 如果提供者在 PrjStartVirtualizing 選項參數的 NotificationMappings 成員中為來源和目的地路徑指定不同的通知遮罩,則註冊來源或目的地路徑時,如果提供者指定這個位,就會傳送此通知。 |
PRJ_NOTIFICATION_FILE_RENAMED 值: 0x00000080 - 指出檔案/資料夾已重新命名。 檔案/資料夾可能已移至虛擬化實例。 - 如果 PRJ_NOTIFICATION_CB 的 callbackData-FilePathName> 參數是空字串,這表示重新命名會將檔案/目錄從虛擬化實例外部移動。 在此情況下,如果提供者已註冊PRJ_NOTIFICATION_CB回呼,則 ProjFS 一律會傳送此通知,即使提供者未在註冊包含目的地路徑的子樹時指定此位也一樣。 - 如果 PRJ_NOTIFICATION_CB 的 destinationFileName 參數是空字串,這表示重新命名會將檔案/目錄移出虛擬化實例。 - 如果PRJ_NOTIFICATION_CB的 callbackData-FilePathName> 和 destinationFileName 參數都是非空字串串,這表示重新命名是在虛擬化實例內。 如果提供者在 PrjStartVirtualizing 選項參數的 NotificationMappings 成員中為來源和目的地路徑指定不同的通知遮罩,則如果提供者在註冊來源或目的地路徑時指定這個位,ProjFS 就會傳送此通知。 - 提供者可以在回應通知時,為此檔案/目錄指定新的通知遮罩。 |
PRJ_NOTIFICATION_HARDLINK_CREATED 值: 0x00000100 - 指出已為檔案建立硬式連結。 - 如果 PRJ_NOTIFICATION_CB 的 callbackData-FilePathName> 參數是空字串,這表示硬式連結名稱是在虛擬化實例內建立,亦即虛擬化實例內已建立新的硬式連結至虛擬化實例外部的檔案。 在此情況下,如果提供者已註冊PRJ_NOTIFICATION_CB回呼,則 ProjFS 一律會傳送此通知,即使提供者在註冊新硬式連結名稱的子樹時未指定這個位也一樣。 - 如果 PRJ_NOTIFICATION_CB 的 destinationFileName 參數是空字串,這表示硬式連結名稱是在虛擬化實例外部建立,也就是在虛擬化實例內存在的檔案外部建立新的硬式連結。 - 如果PRJ_NOTIFICATION_CB的 callbackData-FilePathName> 和 destinationFileName 參數都是非空字串,這表示虛擬實例內已針對存在於虛擬化實例內的檔案建立新的硬式連結。 如果提供者在 PrjStartVirtualizing 選項參數的 NotificationMappings 成員中為來源和目的地路徑指定不同的通知遮罩,則如果提供者在註冊來源或目的地路徑時指定這個位,ProjFS 就會傳送此通知。 |
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION 值: 0x00000200 - 檔案/資料夾上的句柄已關閉,且檔案的內容在開啟句柄時未修改,且檔案/資料夾未刪除 |
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED 值: 0x00000400 - 已在檔案上關閉句柄,且檔案的內容在開啟句柄時已修改。 |
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED 值: 0x00000800 - 已關閉檔案/資料夾上的句柄,且在關閉句柄時刪除該句柄。 - 如果提供者也註冊來接收PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED通知,而且檔案已使用關閉導致刪除檔案的句柄進行修改,則 PRJ_NOTIFICATION_CB 的 operationParameters-FileDeletedOnHandleClose.IsFileModified> 參數會是 TRUE。 這僅適用於檔案,不適用於目錄 |
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL 值: 0x00001000 - 檔案即將從佔位元展開至完整檔案,亦即其內容可能會遭到修改。 - 如果提供者從回呼傳回錯誤 HRESULT 程式代碼,檔案將不會展開為完整檔案,而觸發轉換的 I/O 將會失敗。 - 如果有多個賽車 I/O 會展開相同的檔案,提供者只會針對檔案收到此通知值一次。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1809 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server [僅限傳統型應用程式] |
標頭 | projectedfslib.h |