WINDOWS核心编程——设备IO

IO是程序与外部通信的主要方式,程序通过API可以与以下设备通信,windows将这些抽象为设备通过CreateFile函数打开设备,通过CloseHandle关闭设备。


HANDLE CreateFile(
   PCTSTR pszName,  //普通文件名或者设备文件名
   DWORD dwDesiredAccess,  //访问模式(写/读)
   DWORD dwShareMode,   //共享模式
   PSECURITY_ATTRIBUTES psa, //指向安全属性的指针
   DWORD dwCreationDisposition, //如何创建
   DWORD dwFlagsAndAttributes, //文件属性
   HANDLE hFileTemplate //用于复制文件句柄
   );
各个参数的说明如下:
psaName既表示设备类型也表示该类设备一个实例。
dwDesiredAccess用来指定我们以何种方式和设备通信。可以传入以下值:
    0                           不允许读写,但可以改变设备属性。
    GENERIC_READ                只读访问
    GENERIC_WRITE               只写访问
    GENERIC_READ|GENERIC_WRITE  读写访问
dwSharedMode用来指定共享权限:
    0                                独占对设备的访问。如果设备已经打开,我们    的CreateFile会失败。
    FILE_SHARE_READ                  只读共享,不允许修改内容。如果设备已经以写入或独占方式打开,我们的CreateFile会失败。
    FILE_SHARE_WRITE                 写共享,不允许读取内容。如果设备已经以读取或独占方式打开,我们的CreateFile会失败。
    FILE_SHARE_READ|FILE_SHARE_WRITE  不关心向设备读还是写数据。如果设备已经以独占方式打开,我们的CreateFile会失败。
    FIEL_SHARE_DELETE                 先将文件标记待删除,所有对该文件引用的句柄都关闭之后,才将其真正的删除。
psa指向一个PSECURITY_ATTRIBUTES结构,用来指定安全属性。
dwCreationDisposition参数对文件的含义更重大。它可以是以下值:
    CREATE_NEW        创建一个新文件。如果同名文件存在则失败。
    CREATE_ALWAYS     文件同名文件存在与否都创建文件。存在时会覆盖。
    OPEN
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值