阅读:1372回复:1
请教关于DeviceIoControl函数的用法
我想发送一个控制码给驱动程序,部分代码如下
DWORD dw; CString s; HANDLE handle; s.Format(_T(\"\\\\??\\\\COM%d\"),m_Port);//m_Port=1、2、3... BOOL res=DeviceIoControl(hDevice,IOCTL_SERMON_STARTMONITOR,(PVOID) (LPCTSTR) s,(s.GetLength()+1)*sizeofWCHAR),&handle,sizeof(MHANDLE),&dw,NULL); 其中hDevice是CreateFile返回的设备对象句柄。 但是程序运行时,返回的res总是不正确,就是函数没有成功返回,GetLastError说参数不正确,我看不出来哪个参数不正确。 请教究竟应该怎么写? 谢谢! |
|
沙发#
发布于:2003-07-03 11:52
从你的程序上,看不出错误,如果有问题,我想可能是你的字符传递出现了问题,这要看你的driver能否正确识别你的参数了,你的传递强行指定的字符串长度可能有问题,如果是我,我会显性使用字符串,而不是CString.
|
|