代码是这样的:
hDevice = CreateFile(TEXT("\\\\.\\slDRIVER1_DeviceName"), // drive
0, // no access to the drive
FILE_SHARE_READ | // share mode
FILE_SHARE_WRITE,
NULL, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
NULL); // do not copy file attributes
if(hDevice!=INVALID_HANDLE_VALUE) MessageBox(_T("loaded"));
DWORD length;
BOOL ret = DeviceIoControl(hDevice,
MY_DVC_IN_CODE,
// 功能号
in_buffer,
// 输入缓冲,要传递的信息,预先填好
in_buffer_len,
// 输入缓冲长度
NULL,
// 没有输出缓冲
0,
// 输出缓冲的长度为 0
&length,
// 返回的长度
NULL);
if(ret)MessageBox(_T("ok"));
MY_DVC_IN_CODE在驱动和应用中自定义的。
我不知道为什么调用deviceiocontrol不成功,createfile成功了,getlasterror()=5,请高手指点。
hDevice = CreateFile(TEXT("\\\\.\\slDRIVER1_DeviceName"), // drive
0, // no access to the drive
FILE_SHARE_READ | // share mode
FILE_SHARE_WRITE,
NULL, // default security attributes
OPEN_EXISTING, // disposition
0, // file attributes
NULL); // do not copy file attributes
if(hDevice!=INVALID_HANDLE_VALUE) MessageBox(_T("loaded"));
DWORD length;
BOOL ret = DeviceIoControl(hDevice,
MY_DVC_IN_CODE,
// 功能号
in_buffer,
// 输入缓冲,要传递的信息,预先填好
in_buffer_len,
// 输入缓冲长度
NULL,
// 没有输出缓冲
0,
// 输出缓冲的长度为 0
&length,
// 返回的长度
NULL);
if(ret)MessageBox(_T("ok"));
MY_DVC_IN_CODE在驱动和应用中自定义的。
我不知道为什么调用deviceiocontrol不成功,createfile成功了,getlasterror()=5,请高手指点。
解决方案 »
- 我在ListCtrl中用SHGetFilelnfo插入系统图标为什么关闭后第二次打开就没有图标了
- 如何使用getlasterror () ?
- 请问,在VC里面怎样编写程序访问其它应用软件的资源,如某个列表窗口的内容,或者其内部变量?
- 关于*.DLL文件的问题
- VC中怎么使用命令行?请高手提供点资料~!谢谢
- VC文章标和VC++到底是不是一回事?
- 菜鸟问题!
- 请教CScrollView视图中的文档如何分页打印???200分(详情内入!)
- sqlserver2000+ado的问题~~~~大家帮帮我啊~~
- 如何把二维数组转换为VARIANT?
- rc文件设置Resource View(Default)打开方式?
- 哪里可以下载到与VC++6.0相关联的MSDN的下载地址啊(英文版的)
CreateFile(TEXT("\\\\.\\slDRIVER1_DeviceName"),GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);