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

河北省网站建设_网站建设公司_MySQL_seo优化

网站源码和模板,营销运营平台,网站建设网站服务流程,网页开发模板DeviceIoControl这个api我们用的不多#xff0c;可是非常重要#xff0c;有时会帮助我们实现一些特别的需求, 如获取硬件设备信息、与硬件设备通信#xff08;读写数据#xff09;等#xff0c;对比msdn#xff0c;以下我们详解一下这个api的使用方法#xff08;有什么错… DeviceIoControl这个api我们用的不多可是非常重要有时会帮助我们实现一些特别的需求, 如获取硬件设备信息、与硬件设备通信读写数据等对比msdn以下我们详解一下这个api的使用方法有什么错误再所难免各位不吝不吝赐教啊。DeviceIoControl是用来控制我们指定设备的输入输出操作使设备依照我们发的指令去工作。DeviceIoControl是kernel32中的函数须要包括的头文件是winbase.h先看函数原型BOOL DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped );哈哈參数不少并且还都非常抽象没关系我们一个一个击破它来到第一个參数hDevice,当然是要操作的设备的句柄了这个句柄须要通过CreateFile的返回值中获取对于createfile这里仅仅做一个粗略的解释HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); 參数要打开的文件名称訪问权限共享模式安全属性文件存在与不存在时的文件创建模式文件属性设定隐藏、仅仅读、压缩、指定为系统文件等文件副本句柄。要说明的是第一个參数lpFileName,是设备的名称或者是和设备关连的驱动的名称一般用\\.\DeviceName的形式比方要打开逻辑驱动盘A就用\\.\a,也能够用\\.\PhysicalDevice0,\\.\PhsycalDebive1来指定物理驱动器\\.\PhysicalDevice0表示本机的物理驱动器0(通常是主硬盘),从而来获取硬盘的序列号、模块名、扇区数、磁头数等相关信息搞定hDevice!dwIoControlCode: 当然就是控制设备的指令了指令怎么来是个问题微软已经定义好了非常多种操作在winioctl.h文件里但终于都是通过CTL_CODE宏来实现的事实上这就是一种通信协议。CTL_CODE的具体使用方法在最后来介绍。lpInBuffer: 设备操控请求数据的缓冲区基址假设dwIoControlCode 指定了一个操作该操作不须要输入数据那么这个參数设为NULLnInBufferSizelplnBuffer的sizelpOutBuffer:存放输出数据的buffer相同假设dwIoControlCode 指定了一个操作该操作不须要处理输出数据那么这个參数设为NULLnOutBufferSizehaha别说你不知道什么什么意思passlpBytesReturned实际输出数据的byteslpOverlappedIgnored; set to NULL.Are you understand?以下来到第二个參数的具体解释CTL_CODE的定义与应用CTL_CODE原型#define CTL_CODE(DeviceType, Function, Method, Access) (((DeviceType) 16) | ((Access) 14) | ((Function) 2) | (Method) )能够看到这个宏四个參数自然是一个32位分成了4部分高16位存储设备类型 这里不列举了看msdn哦14~15位訪问权限213位操作功能最后一个就是确定缓冲区别忘记上面DeviceIOControl中缓冲区的定义哦是怎样与I/O和文件系统数据缓冲区进行数据传递的方式详细取值查看msdn我们最经常使用的就是METHOD_BUFFERED Function codes 0-2047 are reserved for Microsoft; codes 2048-4095 are reserved for OEMs and IHVs. 我们能用的是20484095看下面一段这个宏经经常使用来定义IOCTLI/O控制和FSCTL文件系统控制功能控制代码全部的IOCTLs必须通过这样的方式定义以确保这些指令能被Microsoft以及其它的硬件厂商通信接口所识别The following illustration shows the format of the resulting IOCTL.援引微软定义的一个指令锁卷#define FSCTL_LOCK_VOLUME               CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  6, METHOD_BUFFERED, FILE_ANY_ACCESS)Game over!转载于:https://www.cnblogs.com/mfrbuaa/p/4265241.html
http://www.ihoyoo.com/news/108781.html

相关文章:

  • 电子商务网站建设与管理笔试王业美
  • 做网站要不要35类商标参与网站网站建设可判几年
  • 网站建设维护百家号手把手教做网站
  • 我和椅子做游戏小精灵网站深圳外贸网站设计
  • 企业制作网站一般多少钱wordpress图像描述
  • 用什么网站做问卷大兴区网站建设
  • 安阳网站建设公司出租车公司设计公司室内设计
  • 京东商城网站地址浙江企业响应式网站建设设计
  • 企业网站排名优化公司福州有哪些制作网站公司
  • 网站的建设服务hao123上网从这里开始作文
  • 网站的二级栏目怎么做wordpress+微信通知
  • 自我介绍的网页wordpress深度优化
  • wordpress做小说网站食品企业网站建设
  • 网站首页html代码的静宁网站建设
  • 学校网站建设经验介绍whois域名查询网站
  • 网站建设优化公司招聘建设直播平台网站软件
  • 茂名网站建设服务做的网站一定要收录么
  • 宠物网站项目wordpress 留言信息在哪
  • 网页设计与网站建设期末考试wordpress 安装根目录
  • 做相片软件网站一般做外贸上什么网站好
  • 途牛的旅游网站是谁做的做行程的网站推荐
  • 有什么网站可以做婚庆视频网站建设代理怎么做
  • 给设计网站做图西安旅游攻略必去景点
  • 爱网站查询做服装辅料一般什么网站找客户
  • 移动网站建设模板网站 模块
  • 免费建立移动网站吗东莞网站制作搭建
  • 加强司法机关网站建设wordpress 数字格式
  • 产品网站怎么做的wordpress 无插件主题
  • 网站建设中古典武侠中文字幕建设部网站中淼工程有限公司
  • 网站建设可行性分析网站建设网站服务流程