目前我已经可以通过DeviceIoControl函数将应用程序启动,但是我的目的是在驱动加载时让他启动应用程序,而不是通过DeviceIoControl函数来启动。也就是说我要达到的目的是:机器启动后改应用程序自动启动。现在如果我将DeviceIoControl中的启动应用程序的...
全文
回复(14) 2002-08-05 10:08 来自版块 - 内核编程
表情
quartz我看了一下RtlCreateProcessParamters函数的实现,如果可选参数为0 ,他事实上就是将创建进程的PEB拷贝到新创建的进程中。但是驱动程序的进程是什么呢?他的环境块是操作系统进程的环境块吗?(2002-08-07 17:53)
quartz你有没有试过在系统正在使用运行的情况下加载驱动程序啊?你要把一些可疑的问题排除掉啊!也许那个函数需要访问的资源还没有加载啊,也有可能是那个函数必须在对应的irql上面才可以运行的啊 我就是在系统正在使用运行的情况下加载驱动程序的!出现的错误是:Break Due to K...(2002-08-07 17:50)
guardee你有没有试过在系统正在使用运行的情况下加载驱动程序啊?你要把一些可疑的问题排除掉啊!也许那个函数需要访问的资源还没有加载啊,也有可能是那个函数必须在对应的irql上面才可以运行的啊(2002-08-06 20:37)
NoukMay be trace the VxD service _SHELL_CALLDLL to port to NT kernel. Oh..The NT4 has the ZwW32Call. [编辑 - 8/7/02 by Nouk](2002-08-06 19:04)
zydcat我感觉是IRQL的限制,DRIVERENTRY是在DISPATCH_LVEL的,而DeviceIOControl是在PASSIVE_LEVEL的,应用程序是在PASSIVE_LEVEL运行的;而且应用程序的代码也是在分页内存中的,它也没法在DISPATCH_LEVEL中加载 ...(2002-08-06 15:29)
kwxkzk我感觉是IRQL的限制,DRIVERENTRY是在DISPATCH_LVEL的,而DeviceIOControl是在PASSIVE_LEVEL的,应用程序是在PASSIVE_LEVEL运行的;而且应用程序的代码也是在分页内存中的,它也没法在DISPATCH_LEVEL中加载 ...(2002-08-06 15:25)
quartz在start type=3的时候,在DriverEntry中不是完全不能调用ntdll.dll的导出函数,而是RtlCreateProcessParameters函数不能调用,而且在start type=2的时候,也不是所有的ntdll.dll导出的函数不能使用,而是上面的函数不...(2002-08-06 14:38)
tigerzd[quote]肯定不行的啦。驱动程序Start Type = 2,驱动程序加载的时候,是系统初始化的时候,Win32子系统还没有启动吧,ntdll.dll肯定还没有加载呢,怎么执行应用程序? 可以考虑这样,在DriverEntry中启动一个线程,在线程中尝试查找ntdll.dl...(2002-08-06 10:18)
tigerzd等我实验一下就知道了。 :)(2002-08-06 09:43)
guardee肯定不行的啦。驱动程序Start Type = 2,驱动程序加载的时候,是系统初始化的时候,Win32子系统还没有启动吧,ntdll.dll肯定还没有加载呢,怎么执行应用程序? 可以考虑这样,在DriverEntry中启动一个线程,在线程中尝试查找ntdll.dll,直到找到n...(2002-08-06 09:29)

返回顶部