阅读:2924回复:5
有关WinIo的问题,谢谢指教,40分相送!!
我下载了WinIo的相关资料,并按照要求将WinIo.dll、WinIo.vxd、WinIo.sys存放到正确的位置,编译也能通过,但是为什么在调用它的函数时就不能正确返回呢(首先调用的是InitializeWinIo()函数,就返回不成功)。谢谢指教,40分相送!!
|
|
沙发#
发布于:2004-11-09 14:15
winio.sys和winio.vxd应该需要安装为service才能使用
具体的,你可使用CreateService等函数来加载这个驱动, 然后去调用winio.dll中的函数才有效 |
|
|
板凳#
发布于:2004-11-09 14:45
我下载资料的网站的介绍:
WINIO是一个绿色环保软件,它不需要向注册表中添加任何信息,只要你把WINIO.VXD、WINIO.SYS、WINIO.DLL放在你的应用程序所在的文件夹下就可以了。 这该如何理解呢? 你所说的使用CreateService等函数来加载这个驱动,可以给个例子吗? :( |
|
地板#
发布于:2004-11-09 14:53
我下载资料的网站的介绍: ddk中有sample |
|
|
地下室#
发布于:2004-11-09 15:02
刚才看了一下winio中已经在InitializeWinIo函数中调用了
InstallWinIoDriver函数 bool _stdcall InstallWinIoDriver(PSTR pszWinIoDriverPath, bool IsDemandLoaded) { SC_HANDLE hSCManager; SC_HANDLE hService; // Remove any previous instance of the driver RemoveWinIoDriver(); hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (hSCManager) { // Install the driver hService = CreateService(hSCManager, "WINIO", "WINIO", SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, (IsDemandLoaded == true) ? SERVICE_DEMAND_START : SERVICE_SYSTEM_START, SERVICE_ERROR_NORMAL, pszWinIoDriverPath, NULL, NULL, NULL, NULL, NULL); CloseServiceHandle(hSCManager); if (hService == NULL) return false; } else return false; CloseServiceHandle(hService); return true; } 所以你不需要调用了,而直接调用InitializeWinIo就可以了,你可调试一下,看到底是什么错误 或者在InitializeWinIo后调用GetLastError()看看 |
|
|
5楼#
发布于:2004-11-09 16:21
看一看里面的readme.txt
里面有使用的方法 |
|
|