当前位置: 首页 > article >正文

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


http://www.kler.cn/a/571064.html

相关文章:

  • 如何在.NET Core中解决缓存穿透、缓存雪崩和缓存击穿问题:多级缓存策略详解
  • 人工智能之数学基础:线性代数中矩阵的初印象
  • 使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码
  • Sqlserver安全篇之_启用TLS即配置SQL Server 数据库引擎以加密连接
  • 【智能机器人开发全流程:硬件选型、软件架构与ROS实战,打造高效机器人系统】
  • 影刀RPA开发拓展--SQL常用语句全攻略
  • AWS Amazon Aurora MySQL 性能监控与安全治理实战指南
  • Metal学习笔记十一:贴图和材质
  • 变分自编码器(Variational Autoencoder, VAE)中的解码器(Decoder)详解
  • 简述Spark的宽窄依赖以及Stage是怎么划分的以及每个stage又是怎么划分task任务数
  • 2020最新Java面试题
  • 开源链动2+1模式AI智能名片S2B2C商城小程序中的互动节奏调整策略
  • k8s面试题总结(八)
  • 量子计算 + 大数据:数据分析的终极加速器
  • 在 Ubuntu 系统 22.04 上安装 Docker
  • leetcode0016 最接近的三数之和 - medium
  • 机器学习(五)
  • 一、Redis 基础入门:概述与应用场景
  • 依赖注入与控制反转什么关系
  • Rust Async 并发编程:任务、消息传递与 `join`