请教一个关于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说参数不正确,我实在看不出来哪个参数不正确。
请教究竟应该怎么写?
谢谢!