2013-05-15 23 views

回答

3

該標誌是許多標誌可以傳遞給你的FSEventStreamCallback功能之一:

kFSEventStreamEventFlagItemCreated = 0x00000100, 
    kFSEventStreamEventFlagItemRemoved = 0x00000200, 
    kFSEventStreamEventFlagItemInodeMetaMod = 0x00000400, 
    kFSEventStreamEventFlagItemRenamed = 0x00000800, 
    kFSEventStreamEventFlagItemModified = 0x00001000, 
    kFSEventStreamEventFlagItemFinderInfoMod = 0x00002000, 
    kFSEventStreamEventFlagItemChangeOwner = 0x00004000, 
    kFSEventStreamEventFlagItemXattrMod = 0x00008000, 
    kFSEventStreamEventFlagItemIsFile = 0x00010000, 
    kFSEventStreamEventFlagItemIsDir = 0x00020000, 
    kFSEventStreamEventFlagItemIsSymlink = 0x00040000 

這是一個當文件系統(FS)事件發生這就是所謂的回調。

有趣的是,即使FSEvents.h文件也沒有提供這些事件標誌的任何有用的詳細說明。但據推測創建項目時調用回調,或刪除或重命名,或修改,等等。現在

,關於節點:

Inodes are a unique ID that the Macintosh file system uses to track files。如果與文件關聯的索引節點號碼發生更改或以某種方式修改,我推測是用「kFSEventStreamEventFlagItemInodeMetaMod」調用回調時。

+0

這似乎並不是一個權威的答案。這是信息性的,但實際的問題是「它何時設置?」即使在查看其他標誌列表時,「kFSEventStreamEventFlagItemModified」也是可以傳遞的另一個標誌,所以這會使它看起來像是相互排斥的:「如果與文件關聯的inode編號被更改或以某種方式修改「 –