我用DriverStudio2.6生成的程序框架(2000下)(ISA或不控制硬件).我不做任何修改,想要用Monitor载入,起先,出现Starttype=4,在改过了Start=2后,出现0xc0000034错误,是STATUS_OBJECT_NAME_NOT_FOUND ....
全文
回复(18) 2002-06-18 15:04 来自版块 - 开发工具使用
表情
i11usi0n我已经知道为什么了 原因是我没有定义FileObject而直接给了它NULL 谢谢tigerzd和arthurtu了(2002-06-27 18:26)
i11usi0nPUNICODE_STRING ObjectName; ObjectName = (PUNICODE_STRING)ExAllocatePool(NonPagedPool,sizeof(UNICODE_STRING)); RtlInitUnicodeString(Obje...(2002-06-27 17:26)
tigerzdPUNICODE_STRING ObjectName; RtlInitUnicodeString(ObjectName,L\"\\\\Device\\\\ParallelPort0\"); 指针没有赋值肯定出错。 UNICODE_STRING Obj...(2002-06-27 16:54)
i11usi0n是我在贴子里写错了,在我的程序里是用PUNICODE_STRING.如果不是用它,编译都会通不过的.我不知道还有没有其他的得到并口设备的方法. 我为得到这一步都快要自杀了.....痛苦 真是不好意思. [编辑 - 6/27/02 by i11usi0n](2002-06-27 16:37)
arthurtu // 既然不是指针了,不这样也可以了。 RtlZeroMemory(objn,sizeof(PUNICODE_STRING)); RtlInitUnicodeString(objn,L\"\\\\Device\\\\ParallelPort0\"); ...(2002-06-26 09:22)
i11usi0n哦,不好意思,我没有说清.现在不是PUNICODE的问题了,而是PDeviceObject的问题,我的程序是如下 PDEVICE_OBJECT bdo; PUNICODE_STRING objn; NTSTATUS status = STATUS_SUCCES...(2002-06-26 08:53)
arthurtu看样子你要再复习C语言了。 你自己create的pointer,没有赋值就用的话,当然会出问题的。 如: int *pn; printf(\"%d\", *pn); // what\'s *pn? // should be i...(2002-06-25 09:10)
i11usi0n但是我用IoGetDeviceObjectPointer时也出同样的错误.我想知道的是:是不是这里的设备对象也要初始化,如果是,我该怎样初始化. 我用同样的Rtlzeromemory不行,想用IoCreateDevice(),可是觉得这样不太合适.又要麻烦了 :P(2002-06-25 08:53)
arthurtuno thanks :D(2002-06-25 08:46)
i11usi0n用它RtlZeroMemory(ObjectName, sizeof(UNICODE_STRING) + sizeof(L\"\\\\...\")); 会直接重起,后来我用RtlZeroMemory(ObjectName, sizeof(PUNICODE_ST...(2002-06-24 17:01)

返回顶部