2013-08-12 1 views
0

Pour le code ci-dessous, je n'obtiens pas d'erreur mais un code retour différent de zéro, lorsque j'essaie d'ouvrir HKLM \ Security. Le code retour est 5 pour ResultC9 - l'accès est refusé. La clé existe dans le registre (confirmée via Regedit). J'ai lu l'article MSDN here mais cela ne m'a pas aidé. S'il vous plaît aviser pourquoi je reçois "5"/"Accès refusé" pour ResultC9?RegOpenKeyEx Registry Security Résultat

HKEY hKey5; 

long resultC9 = ::RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SECURITY", 0, KEY_READ, &hKey5); 
std::cout << "Value of GetLastError() is: " << GetLastError() << endl; // "0" is output to screen!  
std::wcout << "Value of resultC9 is: " << resultC9 << endl; // "5" is output to screen. 
+1

Vraisemblablement, vous n'avez pas les bons droits d'accès ... –

+0

@MatsPetersson quels droits d'accès ai-je besoin pour cette clé? –

+0

Je ne sais pas. C'est pourquoi je ne l'ai pas écrit comme une réponse. Mais je suis assez sûr que le point entier d'une section spéciale dans le Registre pour les clés de "Sécurité" est que vous ne pouvez pas les lire arbitrairement en tant qu'utilisateur régulier. –

Répondre

0

On m'a dit que je dois prendre le privilège SeTcbPrivilege pour que cela fonctionne.