Chargement de DLL

Signaler
Messages postés
57
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
7 octobre 2009
-
Messages postés
57
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
7 octobre 2009
-
Bonjour,



J'ai un gros problème avec le chargement dynamique d'une de mes DLL. En
effet dans mon programme je fais un loadlibrary d'une de mes DLL. Quand
je l'execute sur Win2003 serveur cela fonctionne très bien et avec la
même configuration sous WinXP j'ai une erreur d'"acces denied".



J'aurais aimé savoir si quelqu'un avait une idée à me proposer. Je sais
que quand on lance un executable, windows peut nous prevenir si des dll
pour son bon fonctionnement sont inexistante. Mais pour une DLL cela
est impossible ou alors je n'ai pas trouvé le moyen. C'est une piste à
laquelle j'ai pensé mais ca n'est pas forcement la solution à mon
probleme.



Je vous remercie tous par avance pour votre aide.



Steve

2 réponses

Messages postés
56
Date d'inscription
samedi 3 juillet 2004
Statut
Membre
Dernière intervention
30 juin 2008

Tu as essayé en chargeant la DLL avec les debug token ?

Fonction :
BOOL SetDebugPrivileges(VOID)
{
DWORD dwPID;
HANDLE hProcess;
HANDLE hToken;
LUID Luid;
TOKEN_PRIVILEGES tpDebug;

dwPID = GetCurrentProcessId(); if ((hProcess OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID)) NULL) return FALSE;
if (OpenProcessToken(hProcess, TOKEN_ALL_ACCESS, &hToken) == 0) return FALSE;
if ((LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &Luid)) == 0) return FALSE;

tpDebug.PrivilegeCount = 1;
tpDebug.Privileges[0].Luid = Luid;
tpDebug.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

if ((AdjustTokenPrivileges(hToken, FALSE, &tpDebug, sizeof(tpDebug), NULL, NULL)) == 0) return FALSE;
if (GetLastError() != ERROR_SUCCESS) return FALSE;

CloseHandle(hToken);
CloseHandle(hProcess);

return TRUE;
}

Apparemment tu ne sembles pas avoir les droits charger la DLL.
Si même avec ca ca ne marche pas, il faudra poster le code de chargement de la librairie et si possible, une petite description de la DLL :)

Amicalement,
The Destiny
Messages postés
57
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
7 octobre 2009

Rebonjour,



merci pour ta réponse mais j'ai résolu le problème tout seul en fait,
c'était à peu près ce que je pensais, en fait mon appli n'avait pas les
droit d'accés au repertoire system32 dans lesquels il y avait des DLLs
utilisées par ma DLL.