Ntropy
17-05-2010, 12:14
Salve a tutti,
Ho scritto una dll con alcune funzioni e fino a qui tutto ok, adesso avrei necessità che la dll venga caricata da un programma per la prima volta, compia alcune operazioni di inizializzazione e poi la funzione della dll viene chiamata una o più volte a secondo della necessità dal programma chiamanete e successivamente il programma termina e la dll viene scaricata.
Vorrei inserire le operazioni di inizializzazione qui:
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
/*codice di inizializzazione*/
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
ma quando carico la dll con HINSTANCE hinstDLL = LoadLibrary("nome.dll");
non viene eseguito il codice di inizializzazione. Non dovrebbe essere eseguito direttamente ogni volta che carico la dll per la prima volta o devo chiamarlo io in qualche maniera?
grazie 1000 per l'aiuto
Ho scritto una dll con alcune funzioni e fino a qui tutto ok, adesso avrei necessità che la dll venga caricata da un programma per la prima volta, compia alcune operazioni di inizializzazione e poi la funzione della dll viene chiamata una o più volte a secondo della necessità dal programma chiamanete e successivamente il programma termina e la dll viene scaricata.
Vorrei inserire le operazioni di inizializzazione qui:
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
/*codice di inizializzazione*/
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
ma quando carico la dll con HINSTANCE hinstDLL = LoadLibrary("nome.dll");
non viene eseguito il codice di inizializzazione. Non dovrebbe essere eseguito direttamente ogni volta che carico la dll per la prima volta o devo chiamarlo io in qualche maniera?
grazie 1000 per l'aiuto