C++ 如何从32位应用程序调用64位驱动程序
使用DebugView比我想象的要简单。几个小时后,结果发现64位内核驱动程序是罪魁祸首。。。愚蠢的我。。。哼C++ 如何从32位应用程序调用64位驱动程序,c++,windows,driver,32bit-64bit,C++,Windows,Driver,32bit 64bit,使用DebugView比我想象的要简单。几个小时后,结果发现64位内核驱动程序是罪魁祸首。。。愚蠢的我。。。哼 你将如何解决这个问题 因为我个人的内核签名证书过期了,第一次拿到证书很痛苦,他们甚至不再卖了 有人能为修改后的64位sys文件重新签名一次吗?我可以提供我以前签名的原始驱动程序,如果您需要它进行二进制比较等 status = ZwDuplicateObject(hProcess,(HANDLE)SysHandle[i].Handle,ZwCurrentProcess(),&Object
你能发布你的代码吗?你不能在64位版本的windows上运行32位驱动程序。请看最后一个问题:@NathanOliver该问题询问如何在32位应用程序中调用64位驱动程序。OP似乎有一个32位应用程序可以在32位windows上运行,但不能在64位windows上运行,因为驱动程序是64位的。否:否,createfile不会失败hdev返回一个32位地址,如0x00004724,并且err watch仅在调用DeviceIoControl后更改。64位驱动程序需要的是64位地址,而不是32位地址。这可能是原因。虽然在32位和64位驱动程序的32位应用程序端,也不确定如何实现该功能,但该函数的其他参数可能需要强制转换或扩展。不知道如何正确编码这就是我寻求帮助的原因。你确定问题是因为应用程序是32位的吗?当编译为64位时,相同的代码可以工作吗?(问题更可能是64位驱动程序中的错误。)从32位应用程序调用64位驱动程序不需要做任何特殊的操作。