原 总结 API 

一直对CreateFile的参数dwDesiredAccessdwShareMode有什么不同不是很清楚,今天重读 windows核心编程的时候终于豁然开朗了。 真是书读百遍,其义自见。

简要总结如下:

  • dwDesiredAccess表示本次CreateFile想要获取的权限: 只读(GENERIC_READ),只写(GENERIC_WRITE),可读写(GENERIC_READ | GENERIC_WRITE)。
  • dwShareMode表示后续CreateFile可以取得什么权限。

dwShareMode取的各种值及含义抄录如下(摘自 Windows核心编程第5版 第10章 p293):

含义
0 要求独占对设备的访问。 如果设备己经打开,CreateFile调用会失败。如果我们成功地打开了设备,那么后续的CreateFUe调用会失败
FILE_SHARE_READ 如果有其他内核对象要使用该设备,我们要求它们不得修改设备的数据。 如果设备已经以写入方式或独占方式打开,那么我们的CreateFile会失败。 如果我们成功地打开了设备,那么后续的使用了 GENERIC_WRITE访问标志的CreateFile调用会失败
FILE_SHARE_WRITE 如果有其他内核对象要使用该设备,我们要求它们不得读取设备的数据。 如果设备已经以读取方式或独占方式打开,那么我们的CreateFUe调用会失败。 如果我们成功地打开了设备,那么后续的使用了GENERIC_READ访问标志的CreateFile调用会失畋
FILE_SHARE_READ FILE_SHARE_WRITE
FILE_SHARE DELETE 当对文件进行操作的时候,我们不关心文件是否呗逻辑删除或是被移动。在Windows内部,系统会先将文件标记为待删除,然后当该文件所有已打开的句柄都被关闭的时候,再将其真正的删除

最新文章

  1. python bytes to string
  2. javascript 方法实例
  3. ini_set()函数的使用 以及 post_max_size,upload_max_filesize的修改方法
  4. codevs2171 棋盘覆盖
  5. 启动本地Oracle
  6. Android 购物车功能的实现
  7. Phalcon 的 bootstrap.php 自动加载完成;非常人性化的设计
  8. Entify Framewrok - Join的使用方法
  9. UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 0: ordinal not in range(128)
  10. proxy_pass根据path路径转发时的"/"问题记录
  11. 大米网赚项目介绍,官方唯一客服QQ:486594009
  12. 设置Ubuntu右侧显示扩展屏幕。。。
  13. yii2 Menu组件的使用
  14. 非常棒的轨迹插件Better Trails v1.4.6
  15. Python之socket编程进阶版
  16. Mac日常使用问题
  17. Spark Sort-Based Shuffle具体实现内幕和源码详解
  18. 05_Flume_timestamp interceptor实践
  19. C# 使用GZip对字符串压缩和解压
  20. IS服务器下做301永久重定向设置方法

热门文章

  1. Mybatis报错——Mapped Statements collection already contains value for
  2. HDU—4699 Editor 双向链表+子集和
  3. python----linux下简单的排序
  4. Java多线程通讯---------wait,notify区别
  5. kill -HUP 什么意思?
  6. composer命令卡慢,使用国内源
  7. 最短路问题-- Dijkstra Choose the best route
  8. Emoji表情符号兼容方案
  9. 萤火虫系统(firefly) RK3399 python3 安装 spicy
  10. runlevel 运行级别