J'éssaie de charger une ruche via RegLoadKey(), qui me répond par une
erreur 1314 (ERROR_PRIVILEGE_NOT_HELD). Je tente donc d'activer les
privilèges SE_BACKUP_NAME et SE_RESTORE_NAME en appelant
AdjustTokenPrivileges(), tout cela en mode debug sous VC avec un compte
admin.
m'appel à GetLastError() après cette dernière fonction renvois
systématiquement ERROR_NOT_ALL_ASSIGNED. Je retourne le problème et ne
vois peut-être pas le nez au milieu de la figure...
SetPrivileges() est directement issue de MSDN
(http://msdn.microsoft.com/en-us/library/aa446619(v=VS.85).aspx). Je
recopie ici le code au cas ou j'aurai commis une typo.
BOOL SetPrivilege(
HANDLE hToken, // access token handle
LPCTSTR lpszPrivilege, // name of privilege to enable/disable
BOOL bEnablePrivilege // to enable or disable privilege
)
{
TOKEN_PRIVILEGES tp;
LUID luid;
if ( !LookupPrivilegeValue(
NULL, // lookup privilege on local system
lpszPrivilege, // privilege to lookup
&luid ) ) // receives LUID of privilege
{
printf("LookupPrivilegeValue error: %u\n", GetLastError() );
return FALSE;
}