
Envoyé par
vimacs
Effectivement, dans une doc j'ai le prototype des fonctions pour pouvoir les utiliser ( c'est plus pratique ). C'est d'ailleurs ce qui me permet d'appeler les fonctions.
Bon, ben faut transformer ça en un fichier .H pour commencer, et définir le bon type d'importation.
Exemple (entête .H d'utilisation de la librairie) :
1 2 3 4
| // Type fonctionnel pour importer "DWORD FunctionDll1(DWORD,DWORD,LPVOID)" depuis la DLL.
typedef __declspec(dllimport) DWORD (__stdcall *ptrfunctiondll1) ( DWORD param1, DWORD param2, LPVOID param3 ) ;
// Définit le pointeur de fonction lui-même.
extern ptrfunctiondll1 FunctionDll1 ; |
Fichier .C d'importation "réelle" :
FunctionDll1 = GetProcAddress(hLibrary,"FunctionDll1");
Voilà. J'ai un doute sur l'utilité réelle du "__declspec(dllimport)" (peut-être pas nécessaire, à tester), le reste est bon.
Tu n'as plus qu'à répéter la séquence "déclaration de type / de fonction / GetProcAddress" pour chaque fonction de la DLL, et prévoir bien sûr le code LoadLibrary/FreeLibrary adéquat tout autour.
Partager