[DLL] exporter des méthodes
Bonjour,
je suis entrain d'essayer de faire une bête dll qui exporte 2 méthodes et un exécutable qui les exploite. J'ai vu énormément de chose à ce sujet, mais, j'ai beau lire et essayer, mon problème ne se resoud pas...
le code de ma dll est:
- pour le header:
Code:
1 2
| DWORD Init();
DWORD Submit(); |
- pour le .cpp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include "stdafx.h"
#include "mock.h"
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
DWORD Init(void)
{
return ERROR_SUCCESS;
}
DWORD Submit(void)
{
return ERROR_SUCCESS;
} |
et le .def qui va avec:
Code:
1 2 3 4
| LIBRARY "mock"
EXPORTS
Init @1
Submit @2 |
Du coté de l'executable mon main contient:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| HMODULE hModule;
FARPROC pInit;
FARPROC pSubmit;
wprintf(_T("Loading mock.dll : \t\t\t\t"));
if(!(hModule = LoadLibrary(_T("ntdll.dll")))){
wprintf(_T("[FAIL] error: %u\n"), GetLastError());
FreeLibrary(hModule);
return GetLastError();
}
wprintf(_T("[OK]\n"));
//charge l'adresse de Init
wprintf(_T("Loading Init method : \t\t\t"));
if(!(pInit = GetProcAddress(hModule,"Init"))){
wprintf(_T("[FAIL] error: %u\n"), GetLastError());
FreeLibrary(hModule);
return GetLastError();
}
wprintf(_T("[OK]\n"));
FreeLibrary(hModule); |
j'ai beau faire, la librairie se charge, mais je narrive pas à trouver la méthode init...
Est ce que quelqu'un voie le problème ou peut m'aider???
Merci!!!
PS: j'ai essayer de regarder aver __declspec(dllexport) et/ou de faire un typedef comme indiqué dans la FAQ sans plus de résultats...