I am trying to compile NDIS 4 driver on window xp machine. I am geetting lot of problen from winbase.h. Please suggest if some include path is missing.or to be added. My source file look like TARGETNAME=drvF8NdisRtx TARGETPATH=obj TARGETTYPE=MINIPORT TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib INCLUDES= SOURCES= \ drvxxx.c \ drvyyy.c PRECOMPILED_INCLUDE=precomp.h PRECOMPILED_PCH=precomp.pch PRECOMPILED_OBJ=precomp.obj I am getting below error: c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2146: syntax error : missin g ')' before identifier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2081: 'HEAP_INFORMATION_CLA SS' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2061: syntax error : identi fier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(1752) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2146: syntax error : missin g ')' before identifier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2081: 'HEAP_INFORMATION_CLA SS' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2061: syntax error : identi fier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(1763) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2146: syntax error : missin g ')' before identifier 'lpSelectorEntry' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2081: 'LPLDT_ENTRY' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2061: syntax error : identi fier 'lpSelectorEntry' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2283) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2532) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2539) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2546) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(2555) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C1003: error count exceeds 1 00; stopping compilation Precompiling - precomp.h for i386 drvf8ndis.h(44) : error C2143: syntax error : missing ')' before '*' drvf8ndis.h(44) : error C2081: 'F8LOG_MSG' : name in formal parameter list illeg al drvf8ndis.h(44) : error C2143: syntax error : missing '{' before '*' drvf8ndis.h(44) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(294) : error C2061: syntax error : identif ier 'CRITICAL_SECTION' c:\winddk\2600.1106\inc\crt\winbase.h(294) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(295) : error C2061: syntax error : identif ier 'PCRITICAL_SECTION' c:\winddk\2600.1106\inc\crt\winbase.h(295) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(296) : error C2061: syntax error : identif ier 'LPCRITICAL_SECTION' c:\winddk\2600.1106\inc\crt\winbase.h(296) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(298) : error C2061: syntax error : identif ier 'CRITICAL_SECTION_DEBUG' c:\winddk\2600.1106\inc\crt\winbase.h(298) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(299) : error C2061: syntax error : identif ier 'PCRITICAL_SECTION_DEBUG' c:\winddk\2600.1106\inc\crt\winbase.h(299) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(300) : error C2061: syntax error : identif ier 'LPCRITICAL_SECTION_DEBUG' c:\winddk\2600.1106\inc\crt\winbase.h(300) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(303) : error C2061: syntax error : identif ier 'LPLDT_ENTRY' c:\winddk\2600.1106\inc\crt\winbase.h(303) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1142) : error C4005: 'InterlockedExchangeP ointer' : macro redefinition c:\winddk\2600.1106\inc\crt\winbase.h(1155) : error C2059: syntax error : '(' c:\winddk\2600.1106\inc\crt\winbase.h(1184) : error C4005: 'InterlockedCompareEx changePointer' : macro redefinition c:\winddk\2600.1106\inc\crt\winbase.h(1197) : error C2375: 'InitializeSListHead' : redefinition; different linkage c:\winddk\2600.1106\inc\crt\winbase.h(1204) : error C2373: 'InterlockedPopEntryS List' : redefinition; different type modifiers c:\winddk\2600.1106\inc\crt\winbase.h(1212) : error C2373: 'InterlockedPushEntry SList' : redefinition; different type modifiers c:\winddk\2600.1106\inc\crt\winbase.h(1219) : error C2373: 'ExInterlockedFlushSL ist' : redefinition; different type modifiers c:\winddk\2600.1106\inc\crt\winbase.h(1226) : error C2059: syntax error : '(' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2146: syntax error : missin g ')' before identifier 'lpBuffer' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2081: 'PMEMORY_BASIC_INFORM ATION' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2061: syntax error : identi fier 'lpBuffer' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1544) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(1546) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2146: syntax error : missin g ')' before identifier 'lpBuffer' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2081: 'PMEMORY_BASIC_INFORM ATION' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2061: syntax error : identi fier 'lpBuffer' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1606) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(1608) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2146: syntax error : missin g ')' before identifier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2081: 'HEAP_INFORMATION_CLA SS' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2061: syntax error : identi fier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1749) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(1752) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2146: syntax error : missin g ')' before identifier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2081: 'HEAP_INFORMATION_CLA SS' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2061: syntax error : identi fier 'HeapInformationClass' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(1759) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(1763) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2146: syntax error : missin g ')' before identifier 'lpSelectorEntry' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2081: 'LPLDT_ENTRY' : name in formal parameter list illegal c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2061: syntax error : identi fier 'lpSelectorEntry' c:\winddk\2600.1106\inc\crt\winbase.h(2282) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2283) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2531) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2532) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2538) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2539) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2545) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2546) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2061: syntax error : identi fier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2059: syntax error : ';' c:\winddk\2600.1106\inc\crt\winbase.h(2553) : error C2059: syntax error : ',' c:\winddk\2600.1106\inc\crt\winbase.h(2555) : error C2059: syntax error : ')' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2146: syntax error : missin g ')' before identifier 'lpCriticalSection' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2144: syntax error : '<Unkn own>' should be preceded by '<Unknown>' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C2143: syntax error : missin g ')' before 'identifier' c:\winddk\2600.1106\inc\crt\winbase.h(2561) : error C1003: error count exceeds 1 00; stopping compilation Compiling - drvf8ndisker.c for i386 drvf8ndisker.c(949) : error C1010: unexpected end of file while looking for prec ompiled header directive Compiling - drvf8ndisrtx.c for i386 drvf8ndisrtx.c(2115) : error C1010: unexpected end of file while looking for pre compiled header directive Compiling - generating code... for i386 BUILD: Compile errors: not linking c:\winddk\2600.1106\src\network\ndis \f8000 di rectory BUILD: Done 5 files compiled - 210 Errors - 3086 LPS C:\WINDDK\2600.1106\src\network\ndis\F8000>build BUILD: Adding /Y to COPYCMD so xcopy ops won't hang. BUILD: Object root set to: ==> objfre_wxp_x86 BUILD: Compile and Link for i386 BUILD: Loading C:\WINDDK\2600~1.110\build.dat... BUILD: Computing Include file dependencies: BUILD: Done thanking in advace for amy help. I am new in NDIS driver development Regards Rahul
Uhm, are you sure you can include winbase.h from a driver? I think there's an error in your include files and u are including windows.h in a driver. You need to include ntddk.h (or wdm.h, or ndis.h). Moreover, I suggest you to migrate to a newer DDK: the best one is obviously WDK 6000, but at least the DDK for Windows Server 2003 SP1 (DDK 3790.1830) Hope it helps GV
Two comments on this: 1. Do not migrate to a newer DDK unless you are trying to upgrade to NDIS 5.0. Moving to the WDK will make it very hard to have an NDIS 4.0 driver. 2. You should never include winbase.h in a driver, so there is something really wrong here.