Programm wird nicht compiliert.
-
Hallo!
Ich möchte gerne einen netzwerkfähigen Treiber schreiben.
Habe aber ein Problem:#include <winsock2.h> #include <ntddk.h> NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath) { return STATUS_SUCCESS; }dieser Code wird nicht compiliert (158 Fehler). mache ich da was falsch?
wenn die Datei winsock2.h nicht eingebunden wird, wird der Code compiliert ohne Fehler
-
Klappt's evtl, wenn du die Include-Reihenfolge vertauschst?
-
nein, genau so viele fehler
-
Hm, magst du die ersten paar Fehler posten (bitte nicht alle 158)? In welcher Datei treten die auf?
-
Wäre mir sowieso neu dass man in einem Treiber einfach so Winsock Funktionen verwenden kann.
-
So sieht bei mir die Ausgabe aus, also die ersten paar fehler
BUILD: Adding /Y to COPYCMD so xcopy ops won't hang.
BUILD: Object root set to: ==> objchk_wnet_x86
BUILD: Compile and Link for i386
BUILD: Loading C:\WINDDK\3790~1.183\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Examining c:\winddk\3790~1.183\mydrivers\wshsmple directory for files to
compile.
c:\winddk\3790~1.183\mydrivers\wshsmple - 1 source files (7 lines)
BUILD: Compiling (NoSync) c:\winddk\3790~1.183\mydrivers\wshsmple directory
Compiling - wshsmple.c for i386
errors in directory c:\winddk\3790~1.183\mydrivers\wshsmple
c:\winddk\3790.1830\inc\wnet\ntdef.h(83) : error C2220: warning treated as error
- no object file generated
c:\winddk\3790.1830\inc\wnet\ntdef.h(83) : error C4005: 'MAX_NATURAL_ALIGNMENT'
: macro redefinition
c:\winddk\3790.1830\inc\wnet\ntdef.h(116) : error C4005: 'PROBE_ALIGNMENT' : mac
ro redefinition
c:\winddk\3790.1830\inc\wnet\ntdef.h(661) : error C2011: '_FLOAT128' : 'struct'
type redefinition
c:\winddk\3790.1830\inc\wnet\ntdef.h(708) : error C2011: '_LARGE_INTEGER' : 'uni
on' type redefinition
c:\winddk\3790.1830\inc\wnet\ntdef.h(726) : error C2011: '_ULARGE_INTEGER' : 'un
ion' type redefinition...............Ich habe auch versucht ntddk.h nicht einzubinden, also nur winsock2.h, lief auch nicht, aber mit nur 9 fehler.