Utilser une fonction d'une DLL d'un driver XP dans une autre DLL ?

Utilser une fonction d'une DLL d'un driver XP dans une autre DLL ? - C - Programmation

Marsh Posté le 15-01-2006 à 19:53:31    

Bonjour !
 
Ce topic s adresse au ceux qui ont déjà utiliser des fonctions C/C++ d'une DLL livrée avec un driver de périphérique sous Win2000/Xp :
 
J'expose le contexte :
1. Je dois creer une DLL qui appelle des fonctions d'une autre DLL.
2. Ma DLL sera ensuite utilisé dans prog en Java : cette étape fonctionne...
3. Le périphérique est un composant USB.
4. Les pilotes sont installés ( les fichiers sont bien dans windows/system32), enfin je crois car :
5. Je n'ai pas encore le composant ...
6. J'utilise cl pour compiler ( Microsoft toolkit 2003)
 
Mais :
Je n'arrive pas à compiler ma DLL dès que  je fais appel à une fonction du driver.
Je recois comme message d'erreur :
 
// debut du message console
cl -I"E:\Microsoft Visual C++ Toolkit 2003\include"  -I"E:\Java\jdk1.5.0_06\incl
ude" -I"E:\Java\jdk1.5.0_06\include\win32" -LD JFTD2XX.c -FeJFTD2XX.dll
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
 
JFTD2XX.c
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.
 
/dll
/implib:JFTD2XX.lib
/out:JFTD2XX.dll
JFTD2XX.obj
   Creating library JFTD2XX.lib and object JFTD2XX.exp
//ERREUR  pour liker la fonction FT_Open()
JFTD2XX.obj : error LNK2019: unresolved external symbol __imp__FT_Open reference
d in function _Java_JFTD2XX_jFT_1Open@12
//ERREUR  pour liker la fonction FT_Close()
JFTD2XX.obj : error LNK2019: unresolved external symbol __imp__FT_Close referenc
ed in function _Java_JFTD2XX_jFT_1Close@8
JFTD2XX.dll : fatal error LNK1120: 2 unresolved externals
make: *** [JFTD2XX.dll] Error 2
//fin message console
 
Donc cl n'arrivve pas à référencer mes fonctions : si je les enlève je peux compiler et executer mon prog...
 
Question :
* Ai je oublié un paramètre pour inclure la DLL du driver ( FTD2XX.dll, la mienne s'appelle JFTD2XX.dll le J pour Java , vous me suivez :p ) à ma DLL?
* Pour compiler, faudrait il que la DLL soit chargé en mémoire ?  
* Une autre idée ??
 
Merci de votre aide,
Matox

Reply

Marsh Posté le 15-01-2006 à 19:53:31   

Reply

Marsh Posté le 16-01-2006 à 06:51:39    

Une petite idée ce matin?

Reply

Marsh Posté le 16-01-2006 à 12:02:57    

un driver ne s'execute pas en mode noyau ? donc il ne pourrait pas être appelé directement par une dll en mode utilisateur ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 16-01-2006 à 18:57:41    

On peut le charger en VC++ par un Loadlibrary(), mais dans mon cas j'utilise juste le cl
Un autre idée ?

Reply

Marsh Posté le 17-01-2006 à 07:49:48    

Personne ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed