主页 > 软件开发  > 

CDefView::_OnFSNotify函数分析

CDefView::_OnFSNotify函数分析

进入CDefView::_OnFSNotify函数时状态栏

_UpdateStatusBar函数之后增加一个对象,变成7个对象。

LRESULT CDefView::_OnFSNotify(LONG lNotification, LPCITEMIDLIST* ppidl) {     LPITEMIDLIST pidl;     LPCITEMIDLIST pidlItem;

    // we may be registered for notifications on pidls that are different from     // the one returned by _GetViewPidl (ftp folder).     switch (lNotification)     {     case SHCNE_DRIVEADD:     case SHCNE_CREATE:     case SHCNE_MKDIR:         pidlItem = _pidlMonitor ? ILFindChild(_pidlMonitor, ppidl[0]) : NULL;         pidl = _ObjectExists(pidlItem, FALSE);         if (pidl)         {             _AddOrUpdateItem(pidlItem, pidl);         }         break;

    default:         TraceMsg(TF_DEFVIEW, "DefView: unknown FSNotify %08lX, doing full update", lNotification);         _FullViewUpdate(FALSE);         break;     }

    _UpdateStatusBar(FALSE);     return 0; }

第二部分:

// //  File System Notification flags //

#define SHCNE_RENAMEITEM          0x00000001L #define SHCNE_CREATE              0x00000002L #define SHCNE_DELETE              0x00000004L #define SHCNE_MKDIR               0x00000008L #define SHCNE_RMDIR               0x00000010L #define SHCNE_MEDIAINSERTED       0x00000020L #define SHCNE_MEDIAREMOVED        0x00000040L #define SHCNE_DRIVEREMOVED        0x00000080L #define SHCNE_DRIVEADD            0x00000100L #define SHCNE_NETSHARE            0x00000200L #define SHCNE_NETUNSHARE          0x00000400L #define SHCNE_ATTRIBUTES          0x00000800L #define SHCNE_UPDATEDIR           0x00001000L #define SHCNE_UPDATEITEM          0x00002000L #define SHCNE_SERVERDISCONNECT    0x00004000L #define SHCNE_UPDATEIMAGE         0x00008000L #define SHCNE_DRIVEADDGUI         0x00010000L #define SHCNE_RENAMEFOLDER        0x00020000L #define SHCNE_FREESPACE           0x00040000L

标签:

CDefView::_OnFSNotify函数分析由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CDefView::_OnFSNotify函数分析