J'essaie actuellement d'exécuter le pilote NdisProt fourni par WinDDK 2003. J'ai compilé et installé le pilote avec succès.Utilisation des utilitaires de test WinDDK avec Visual Studio 2005
Il est livré avec un utilitaire de test nommé uiotest
Lorsque je construis l'utilitaire avec make il fonctionne correctement. Lorsque je crée une solution d'application win32 vide avec Visual Studio 2005, il ne peut pas se connecter au pilote pendant CreateFile("\\.\\NdisProt"
[...]) `. L'appel renvoie toujours un handle non valide. Je soupçonne que mon projet n'est pas construit exactement comme avec make. Voici le contenu de la « sources » fichier utilisé par faire
TARGETNAME=uiotest
TARGETPATH=obj
TARGETTYPE=PROGRAM
C_DEFINES=$(C_DEFINES) -D_WIN32WIN_
# MSC_WARNING_LEVEL=/W4
UMTYPE=console
USE_MSVCRT=1
TARGETLIBS=\
$(SDK_LIB_PATH)\user32.lib
INCLUDES=..\sys
SOURCES=\
uiotest.c
J'ai ajouté le chemin lib et chemin d'inclusion à mon projet
ici est ce qui rend le rendement de l'environement DDK
cl -nologo -Ii386\ -I. -ID:\WINDDK\3790~1.183\inc\mfc42 -I..\sys -Iobjfre_wxp_x8
6\i386 -ID:\WINDDK\3790~1.183\inc\wxp -ID:\WINDDK\3790~1.183\inc\wxp -ID:\WINDDK
\3790~1.183\inc\crt -D_X86_=1 -Di386=1 -DSTD_CALL -DCONDITION_HANDLING=1 -DNT
_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0501 /DWINVER=0x0501
-D_WIN32_IE=0x0603 -DWIN32_LEAN_AND_MEAN=1 -DDEVL=1 -D__BUILDMACHINE__=WinDD
K -DFPO=0 -DNDEBUG -D_DLL=1 -D_MT=1 -D_WIN32WIN_ /c /Zl /Zp8 /Gy /Gm- /W3
/WX /Gz /GX- /GR- /GF /GS /G6 /Ze /Gi- /QIfdiv- /hotpatch -Z7 /Oxs /Oy- -F
ID:\WINDDK\3790~1.183\inc\wxp\warning.h .\uiotest.c
uiotest.c
link -out:objfre_wxp_x86\i386\uiotest.exe -machine:ix86 @C:\Temp\nm88BE.
tmp
Microsoft (R) Incremental Linker Version 7.10.4035
Copyright (C) Microsoft Corporation. All rights reserved.
-MERGE:_PAGE=PAGE
-MERGE:_TEXT=.text
-SECTION:INIT,d
-OPT:REF
-OPT:ICF
-IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221
-INCREMENTAL:NO
-FULLBUILD
/release
-NODEFAULTLIB
/WX
-debug
-debugtype:cv
-version:5.1
-osversion:5.1
/functionpadmin:5
/safeseh
/opt:nowin98
-merge:.rdata=.text
/pdbcompress
-STACK:0x40000,0x2000
/tsaware
-subsystem:console,4.00
-base:@D:\WINDDK\3790~1.183\bin\coffbase.txt,usermode
-entry:mainCRTStartup
objfre_wxp_x86\i386\uiotest.obj
D:\WINDDK\3790~1.183\lib\wxp\i386\BufferOverflowU.lib
D:\WINDDK\3790~1.183\lib\crt\i386\msvcrt.lib
D:\WINDDK\3790~1.183\lib\wxp\i386\advapi32.lib
D:\WINDDK\3790~1.183\lib\wxp\i386\kernel32.lib
D:\WINDDK\3790~1.183\lib\wxp\i386\user32.lib
D:\WINDDK\3790~1.183\lib\wxp\i386\sehupd.lib
Je ne sais pas trop quoi vérifier pour savoir ce qui se passe, donc toute aide serait appréciable. Le nouveau projet compile et exécute, mais le CreateFile()
échoue avec INVALID_HANDLE_VALUE
Passer une chaîne étroite à CreateFileW générerait probablement un avertissement de compilateur lorsque vous compilez le programme. De quels autres avertissements de compilateur ne nous parlez-vous pas? – bk1e