CreateFileReadFileWriteFileDeviceIoControlCloseHandle函数说明.docVIP

  • 11
  • 0
  • 约1.49万字
  • 约 10页
  • 2017-09-02 发布于浙江
  • 举报

CreateFileReadFileWriteFileDeviceIoControlCloseHandle函数说明.doc

CreateFileReadFileWriteFileDeviceIoControlCloseHandle函数说明

CreateFile,ReadFile,WriteFile,DeviceIoControl,CloseHandle函数说明 一、*****CreateFile***** ??? 这个函数可以创建或打开一个对象的句柄,凭借此句柄就可以控制这些对象: 控制台对象、通信资源对象、目录对象(只能打开)、磁盘设备对象、文件对象、邮槽对象、管道对象。 ??? 函数原型: HANDLE CreateFile( LPCTSTR lpFileName,???????????????????????? // file name对象路径名 DWORD dwDesiredAccess,????????????????????? // access mode控制模式 DWORD dwShareMode,????????????????????????? // share mode共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD 安全属性(也即销毁方式) DWORD dwCreationDisposition,??????????????? // how to create DWORD dwFlagsAndAttributes,???????????????? // file attributes HANDLE hTemplateFile??????????????????????? // handle to template file ); 【Parameters】 1、lpFileName ??? 一个指向无终结符的字符串的指针,来指明要创建或打开的对象的名字。 ??? 在Windows NT/2000/XP平台上:如果用ANSI版本的函数,字符串长度应限制在MAX_PATH;如果用Unicode版本的函数,这个限制可以扩充到32000个Unicode字符。 ??? 在Windows95/98/Me平台上:只能用ANSI版本的函数,字符串长度限制在MAX_PATH。 2、dwDesiredAccess ??? 指明对象的控制模式。一个应用程序可以包含读控制、写控制、读/写控制、设备查询控制。 这个参数的取值可以是下面这些的组合: ??? 0???????????????????????????????????????????? 指定设备查询控制:程序可以不访问设备就查询到设备属性。 ??? GENERIC_READ??????????????? 指定读控制,可以从对象中读取数据(指针将可以移动)。 ??? GENERIC_WRITE?????????????? 指定写控制,可以向对象中写数据(指针将可以移动)。 ??? ---------------------------------------------------------------------- ??? 另外,还可以指定下面的控制标志: 标准控制权限(16-23位掩码): ??? DELETE???????????????????? 删除对象的权限。 ??? READ_CONTROL??? 从对象的安全描述符中读取信息的权限,但不包括SACL(系统访问控制列表)中的信息。 ??? WRITE_DAC????????????? 修改对象安全描述符中的DACL(随机访问控制列表)的权限 ??? WRITE_OWNER????? 修改对象安全描述符中的属主的权限 ??? SYNCHRONIZE???? 同步化使用对象的权限,即可以创建一个线程等待信号量释放(但有些对象不支持这个权限)。 ??? STANDARD_RIGHTS_REQUIRED??? 等价于前面四种权限的总合(通常这四种是必须具有的权限)。 ??? STANDARD_RIGHTS_READ??????? 一般等价于READ_CONTROL ??? STANDARD_RIGHTS_WRITE?????? 一般等价于READ_CONTROL ??? STANDARD_RIGHTS_EXECUTE???? 一般等价于READ_CONTROL ??? STANDARD_RIGHTS_ALL???????? 等价于前面五种权限的总合。 特殊控制权限(0-15位掩码): ??? SPECIFIC_RIGHTS_ALL ??? ACCESS_SYSTEM_SECURITY ??? MAXIMUM_ALLOWED ??? GENERIC_READ ??? GENERIC_WRITE ??? GENERIC_EXECUTE ??? GENERIC_ALL 注:实质上是通过ACCESS_MASK结构体的一个双字值来设置标准权限、特殊权限和一般权限的。 3、dwShareMode ???

文档评论(0)

1亿VIP精品文档

相关文档