阅读:1135回复:3
版主、高手请帮忙,很有挑战性的问题
用paththru改写的驱动程序,在Administrator下安装好可用,但到了普通用户登录时,就出现中途出错,弹出的对话框是QuerryDriver提示错误:The MAC handle is invalid。
用源程序跟踪时,发现在CreatFile()函数时出现错误,可能是普通用户无权限写设备的原因。不知哪位同仁也遇到过该问题,怎么解决呢?请高手们指点一下吧。 |
|
沙发#
发布于:2002-07-25 15:41
错误是什么啊,可不可以说的更详细些,你都改了些什么
|
|
板凳#
发布于:2002-07-29 10:55
错误主要出在下面打开miniport设备时无效。具体操作如下,在administrator身份下这样打开是对的,但在普通用户登陆时打开却不正确。调试时GetLastError()返回的数据值为0。
分析原因是不是设备文件名在普通用户下不能写成\"\\\\\\\\.\\\\ms_sfilter\"? szMACFileName=\"\\\\\\\\.\\\\ms_sfilter\"; hDevice = CreateFile( szMACFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,// NULL, OPEN_EXISTING,//ALWAYS,// 0, INVALID_HANDLE_VALUE ); if(hDevice == INVALID_HANDLE_VALUE) { AfxMessageBox(\"The MAC handle is invalid.\\n\"); DWORD err=GetLastError(); CString str; str.Format(\"%d\",err); AfxMessageBox(str); hDevice = NULL; } else AfxMessageBox(\"The MAC handle is OK.\\n\"); |
|
地板#
发布于:2002-07-29 11:11
CreateFile里面有好多的参数,好象有一个是关于安全的,我不太清楚,不知道是不是和这个有关,只是猜想!
|
|