Je charge dynamiquement plusieurs API de registre à partir de la bibliothèque Advapi32.dll. Sous Windows XP et Vista tout est OK. Sous Windows 7, je continue d'obtenir l'erreur Le paramètre est incorrect et dans certains cas (comme RegCloseKey) mon application se bloque.Chargement dynamique de la fonction de registre sur Windows 7?
Le code J'utilise est l'habituel:
// RegCreateKeyEx
typedef LONG (WINAPI *MyRegCreateKeyEx)(HKEY, LPCTSTR, DWORD, LPTSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
MyRegCreateKeyEx LoadedRegCreateKeyEx;
puis-je utiliser LoadLibrary pour charger Advapi.dll et GetProcAddress pour trouver l'adresse à RegCreateKeyEx. Comme:
LoadedRegCreateKeyEx = (MyRegCreateKeyEx)GetProcAddress(LibHandle, "RegCreateKeyEx");
Tout retourne OK, il n'y a pas d'erreurs et les pointeurs semblent correctes, mais il ne fonctionne pas sous Windows 7. Toutes les idées? Quelque chose a changé? Y a-t-il une manière différente de faire ceci pour Windows 7?
Merci jess.
EDIT: Il semble que ce problème s'étend à tous les types d'API sur Windows 7. Une idée?
L'essayez-vous sur Windows 7 ** x64 **? – SLaks
x86 et x64. dans les deux cas, la même chose arrive. – Jessica
avez-vous le même problème lorsque vous appelez RegCreateKeyEx directement plutôt que celui chargé dynamiquement? – karoberts