MSDN原文地址:DeviceIoControl function DeviceIoControl 将控制代码直接发送到指定的设备驱动程序,使相应的设备执行相应的操作。 句法: BOOL WINAPIDeviceIoControl( _In_ HANDLE hDevice, _In_ DWORD dwIoControlCode, _In_opt_ LPVOID lpInBuffer, _In_ DWORD nInBufferSize, _Out_opt_ LPVOID lpOutBuffer, _In_ ...
实战DeviceIoControl 之二:获取软盘/硬盘/光盘的参数 Q在MSDN的那个demo中,将设备名换成“A:”取A盘参数,先用资源管理器读一下盘,再运行这个程序可以成功,但换一张盘后就失败;换成“CDROM0”取CDROM参数,无论如何都不行。这个问题如何解决呢? A取软盘参数是从软盘上读取格式化后的信息,也就是必须执行读操作,...
Q请举一个简单的样例说明怎样通过DeviceIoControl訪问设备驱动程序。 A这里有一个从MSDN上摘抄来的demo程序,演示在NT/2000/XP中怎样通过DeviceIoControl获取硬盘的基本參数。 代码语言:javascript 复制 /* The code of interest is in the subroutine GetDriveGeometry. The code in main shows how to interpret the re...
Instead, use the corresponding standard Win32 function DeviceIoControl. The FSD Manager determines the file system type and calls the MyFSD_DeviceIoControl implementation of the function.複製 BOOL MyFSD_DeviceIoControl( PFILEpFile,DWORDdwIoControlCode,PVOIDpInBuf,DWORDnInBufSize,PVOIDpOutBuf,DWORDnOut...
DeviceIOControl具体解释-各个击破,DeviceIoControl这个api我们用的不多,可是非常重要,有时会帮助我们实现一些特别的需求,如获取硬件设备信息、与硬件设备通信(读写数据)等,对比msdn,以下我们详解一下这个api的使用方法(有什么错误再所难免,各位不吝不吝赐教啊)。
以下内容全部来自于MSDN,里面部分内容一时不知道怎么翻译,为了不浪费太多的时间,所以暂时用“暂缺”代替,以后有机会再补上。内容繁多,差错难免,不当之处,敬请指正。 一、DeviceIoControl()各参数的简单说明 利用DeviceIoControl()函数可以实现对系统硬件的操作,该函数通过向指定设备的驱动程序发送控制码从而让该设备执行相...
The DeviceIoControl function is described in the Microsoft Developer Network (MSDN) Software Developer Kit(SDK) and Device Driver Developer Kit (DDK). The DeviceIoControl function sends a control code directly to a specified device driver, causing the corresponding device to complete the specified ...
Q在MSDN的那个demo中,将设备名换成“A:”取A盘参数,先用资源管理器读一下盘,再运行这个程序可以成功,但换一张盘后就失败;换成“CDROM0”取CDROM参数,无论如何都不行。这个问题如何解决呢? A取软盘参数是从软盘上读取格式化后的信息,也就是必须执行读操作,这一点与硬盘不同。将CreateFile中的访问方式改为GE...
可以看到,这个宏四个参数,自然是一个32位分成了4部分,高16位存储设备类型( 这里不列举了,看msdn哦),14~15位访问权限,2~13位操作功能,最后一个就是确定缓冲区(别忘记上面DeviceIOControl中缓冲区的定义哦)是如何与I/O和文件系统数据缓冲区进行数据传递的方式(具体取值查看msdn)我们最常用的就是METHOD_BUFFERED ...
Q在MSDN的那个demo中,将设备名换成“A:”取A盘参数,先用资源管理器读一下盘,再运行这个程序可以成功,但换一张盘后就失败;换成“CDROM0”取CDROM参数,无论如何都不行。这个问题如何解决呢? A取软盘参数是从软盘上读取格式化后的信息,也就是必须执行读操作,这一点与硬盘不同。将CreateFile中的访问方式改为GE...