From: Srix on 13 Sep 2005 01:26 Hi, I got a requirement to develop an application which checks the status of NIC card, enables or disables it. I used SetupDi..., Cm_Get_Devnode_Status_Ex, Getadapterinfo api for this purpose and compiled with Windows DDK 2k/xp on VC6. They worked perfectly on Windows 2k/XP machines :) The probblem started when I tried to compile it for windows 98 machines. In order to compile for Windows 98, I installed VC++ 4.2 & win98 ddk (DDK doc said it is compatible only with VC4.2 compiler) on a Windows 98 machine. Unlike win2K/XP DDK, the Win98 DDK didnt contain the "Iphlpapi.h". So, I downloaded the PSDK2003 and installed it. When I tried to compile the same code in this setup, I got the following errors. 1) There were lot of conflict in typedef declaration between Win98 DDK & PSDK2003 headers. After struggling for couple of days i managed to compile it. 2) Then came the linker errors: --------------- Linking... D:\PSDK2003\Lib\iphlpapi.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x3d50d14b --------------- when i referred MSDN, it said the reason could be lack of space or corrupted hardisk. But I have more than 500 MB left and 'thorough' scandisk didnt find any problemwith the hardisk. Then i comented GetAdaptersInfo() which required this Library. On compiling, I got another Link error... --------------- error LNK2001: unresolved external symbol "unsigned long __stdcall CM_Get_DevNode_Status_Ex(unsigned long *,unsigned long *,unsigned long,unsigned long,void *)"(?CM_Get_DevNode_Status_Ex@@YGKPAK0KKPAX@Z) --------------- But the library path and include path are properly set. Don't know wwhat is causing the error! When i checked Win2K/XP, I saw that there is a separate include directory for driver development (c:\winddk\3790.1830\inc\ddk\wxp\) and for application interface with devices (c:\winddk\3790.1830\inc\wxp\). But in Win98 DDK, there is only one include directory!! Does that mean only driver (.drv,.sys files) can be developed using the Win98 DDK? I am stuck here, and really confused about how to proceed! Your help will be highly appreciated. Thank you in advance. Regards, Srix
From: Thomas F. Divine [DDK MVP] on 13 Sep 2005 01:53 Did you see this note concerning the CM functions? "If you intend that your device installation application run on Windows 9x/Me, or Windows NT 4.0 or earlier, and you use the CM_Xxx functions, be sure that CfgMgr32.lib appears before SetupAPI.lib in the sources file. If your application is intended to run only on Windows 2000 or a later NT-based operating system, you can omit CfgMgr32.lib." I haven't used the CM functions on 98/ME myself, but I have used the SetupDi functions. There I use VS .NET 2003 for all platforms. The major wrinkle that I found in using SetupDi on 98/ME is that 98/ME only support the ANSI character set. You must implement the wide-character versions using character conversions if you need them. Good luck, Thomas F. Divine, Windows DDK MVP http://www.pcausa.com "Srix" <SriramKumarVH(a)gmail.com> wrote in message news:1126589207.973974.156270(a)g14g2000cwa.googlegroups.com... > Hi, > I got a requirement to develop an application which checks the status > of NIC card, enables or disables it. I used SetupDi..., > Cm_Get_Devnode_Status_Ex, Getadapterinfo api for this purpose and > compiled with Windows DDK 2k/xp on VC6. They worked perfectly on > Windows 2k/XP machines :) > > The probblem started when I tried to compile it for windows 98 > machines. In order to compile for Windows 98, I installed VC++ 4.2 & > win98 ddk (DDK doc said it is compatible only with VC4.2 compiler) on a > Windows 98 machine. Unlike win2K/XP DDK, the Win98 DDK didnt contain > the "Iphlpapi.h". So, I downloaded the PSDK2003 and installed it. When > I tried to compile the same code in this setup, I got the following > errors. > > > 1) There were lot of conflict in typedef declaration between Win98 DDK > & PSDK2003 headers. After struggling for couple of days i managed to > compile it. > > 2) Then came the linker errors: > > --------------- > Linking... > > D:\PSDK2003\Lib\iphlpapi.lib : fatal error LNK1106: invalid file or > disk full: cannot seek to 0x3d50d14b > --------------- > > when i referred MSDN, it said the reason could be lack of space or > corrupted hardisk. But I have more than 500 MB left and 'thorough' > scandisk didnt find any problemwith the hardisk. Then i comented > GetAdaptersInfo() which required this Library. On compiling, I got > another Link error... > > --------------- > error LNK2001: unresolved external symbol "unsigned long __stdcall > CM_Get_DevNode_Status_Ex(unsigned long *,unsigned long *,unsigned > long,unsigned long,void *)"(?CM_Get_DevNode_Status_Ex@@YGKPAK0KKPAX@Z) > --------------- > > But the library path and include path are properly set. Don't know > wwhat is causing the error! > > When i checked Win2K/XP, I saw that there is a separate include > directory for driver development (c:\winddk\3790.1830\inc\ddk\wxp\) and > for application interface with devices (c:\winddk\3790.1830\inc\wxp\). > But in Win98 DDK, there is only one include directory!! > > Does that mean only driver (.drv,.sys files) can be developed using > the Win98 DDK? I am stuck here, and really confused about how to > proceed! Your help will be highly appreciated. > > > Thank you in advance. > > Regards, > Srix >
From: Pavel A. on 15 Sep 2005 17:56 Do you really need to support win98? The win98 requirement is often just cut-and-paste from some previous product documents. I remember several times when after telling to management that support for win9x adds development time and even can delay product shipping, they simply removed this requirement. --PA "Srix" <SriramKumarVH(a)gmail.com> wrote in message news:1126589207.973974.156270(a)g14g2000cwa.googlegroups.com... > Hi, > I got a requirement to develop an application which checks the status > of NIC card, enables or disables it. I used SetupDi..., > Cm_Get_Devnode_Status_Ex, Getadapterinfo api for this purpose and > compiled with Windows DDK 2k/xp on VC6. They worked perfectly on > Windows 2k/XP machines :) > > The probblem started when I tried to compile it for windows 98 > machines. In order to compile for Windows 98, I installed VC++ 4.2 & > win98 ddk (DDK doc said it is compatible only with VC4.2 compiler) on a > Windows 98 machine. Unlike win2K/XP DDK, the Win98 DDK didnt contain > the "Iphlpapi.h". So, I downloaded the PSDK2003 and installed it. When > I tried to compile the same code in this setup, I got the following > errors. > > > 1) There were lot of conflict in typedef declaration between Win98 DDK > & PSDK2003 headers. After struggling for couple of days i managed to > compile it. > > 2) Then came the linker errors: > > --------------- > Linking... > > D:\PSDK2003\Lib\iphlpapi.lib : fatal error LNK1106: invalid file or > disk full: cannot seek to 0x3d50d14b > --------------- > > when i referred MSDN, it said the reason could be lack of space or > corrupted hardisk. But I have more than 500 MB left and 'thorough' > scandisk didnt find any problemwith the hardisk. Then i comented > GetAdaptersInfo() which required this Library. On compiling, I got > another Link error... > > --------------- > error LNK2001: unresolved external symbol "unsigned long __stdcall > CM_Get_DevNode_Status_Ex(unsigned long *,unsigned long *,unsigned > long,unsigned long,void *)"(?CM_Get_DevNode_Status_Ex@@YGKPAK0KKPAX@Z) > --------------- > > But the library path and include path are properly set. Don't know > wwhat is causing the error! > > When i checked Win2K/XP, I saw that there is a separate include > directory for driver development (c:\winddk\3790.1830\inc\ddk\wxp\) and > for application interface with devices (c:\winddk\3790.1830\inc\wxp\). > But in Win98 DDK, there is only one include directory!! > > Does that mean only driver (.drv,.sys files) can be developed using > the Win98 DDK? I am stuck here, and really confused about how to > proceed! Your help will be highly appreciated. > > > Thank you in advance. > > Regards, > Srix >
From: Srix on 16 Sep 2005 02:27 I Thank evry body for their replies. I tried putting CfgMgr32.lib before SetupAPI.lib and compiled it. But still getting error. --------------- Linking... D:\PSDK2003\Lib\iphlpapi.lib : fatal error LNK1106: invalid file or disk full: cannot seek to 0x3d50d14b --------------- Moreover, in the include path win98 ddk comes before PSDK 2003. when i compiled the code with this include order it gave 47 errors. Then, I put PSDK path before WIN98 DDK path and compiled the same code ( without cleanig the object files). To my surprise the no. of error reduced. Then i kept repeating this process ( alternating include path and compiling) which considerably reduced errors on each build and finally compiled without errors. I got the link errors mentioned in the original post only after this. I think the LNK1106 error is becuase , VC 4.2 compiler was unable to understand the PSDK2003 lib file format. Anyway, I think ,I have to skip doing this development for WIN98 :( thanks again for evrybody's help
From: Pavel A. on 17 Sep 2005 09:10 "Srix" <SriramKumarVH(a)gmail.com> wrote in message news:1126852044.349990.231170(a)z14g2000cwz.googlegroups.com... >.... > I think the LNK1106 error is becuase , VC 4.2 compiler was unable to > understand the PSDK2003 lib file format. This is very possible, no surprise at all. You could PSDK contemporary to VC4. --PA
|
Next
|
Last
Pages: 1 2 Prev: MPIO driver installation Next: USB Problem when using a Philips ISP1521 based hub |