加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – FileSystemWatcher – 目标目录所需的最小权限?

发布时间:2020-12-16 01:38:46 所属栏目:百科 来源:网络整理
导读:使用.NET FileSystemWatcher http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx监视完整文件的目录:已更改;创建;删除;重命名的活动. 运行FileSystemWatcher的帐户在其正在观看的目录上所需的权限最小的是什么? 它似乎是READ,但我
使用.NET FileSystemWatcher http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx监视完整文件的目录:已更改;创建;删除;重命名的活动.

运行FileSystemWatcher的帐户在其正在观看的目录上所需的权限最小的是什么?

它似乎是READ,但我找不到任何记录.

谢谢

解决方法

底层API是ReadDirectoryChangesW. MSDN Library文章中提到的唯一事情是目录句柄上需要FILE_LIST_DIRECTORY访问权限,并且需要使用FILE_FLAG_BACKUP_SEMANTICS选项打开目录.

.NET框架代码通常很有用.私有FileSystemWatcher.StartRaisingEvents()方法使用此代码打开目录句柄:

directoryHandle = NativeMethods.CreateFile(
    directory,// Directory name
    UnsafeNativeMethods.FILE_LIST_DIRECTORY,// access (read-write) mode
    UnsafeNativeMethods.FILE_SHARE_READ |
    UnsafeNativeMethods.FILE_SHARE_DELETE |
    UnsafeNativeMethods.FILE_SHARE_WRITE,// share mode
    null,// security descriptor
    UnsafeNativeMethods.OPEN_EXISTING,// how to create
    UnsafeNativeMethods.FILE_FLAG_BACKUP_SEMANTICS |
    UnsafeNativeMethods.FILE_FLAG_OVERLAPPED,// file attributes
    new SafeFileHandle(IntPtr.Zero,false));   // file with attributes to copy

仅对异步通知使用FILE_FLAG_OVERLAPPED.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读