阅读:1788回复:4
请教斑竹
我用vc做了一个操作pci(amcc5933)卡的应用程序,当初是用WinDriver生成的框架代码,调用的也是Windriver提供的API函数,可现在,运行应用程序时,必须先运行一下Windriver找到5933,然后才能运行我的应用程序,我想问一下,怎样才能不事先运行Windriver?
|
|
沙发#
发布于:2001-09-13 08:24
你的程序调用WD_License()了吗?
HANDLE hWD; WD_LICENSE lic; hWD = WD_Open(); if (hWD!=INVALID_HANDLE_VALUE) { // replace the quoted string with your license string strcpy(lic.cLicense, "12345abcde12345.Company Name"); WD_License(hWD, &lic); WD_Close(hWD); } |
|
板凳#
发布于:2001-09-13 09:41
请问Windrinver在运行时做了些什么呢?是不是它在windrv.vxd里做了些什么?
|
|
地板#
发布于:2001-09-13 12:00
好久以前,我用softice跟踪过它:
windriver 调用CreateFile()打开windrvr.sys,发送IOCTL_WD_LICENSE。driver里的一全局变量来表示,如果license的,发送的IOCTL就能执行,否则不予执行,并给出提示(Failed Locking Device)!你可以做两个小程序,一个调用了license,一个没调用,先调用没licensed程序,此程序不能正常运行;如果先调用了licensed程序,然后调用没licensed程序,此时没licensed程序也能正常运行。 |
|
地下室#
发布于:2001-09-14 15:03
好了,小生在这里先谢过了,不过,我现在的硬件忽然出了点儿毛病,只有过几天才能够验证了,呵呵,谢谢了^_^!
|
|