Valeur de subkey (const BYTE*)

Résolu
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour à tous,

Voila , j'ai une fonction qui crée une nouvelle subKey. Elle se crée bien, l'ennui c'est que aparement je n'ai pas compris comment lui assigner une valeur.

Voici ma fonction :

BOOL __stdcall ApplyPatch(){
     HKEY hkNoShare;
     long loError;
     DWORD dwPosition;
    
     loError = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters",0,KEY_ALL_ACCESS,&hkNoShare);
     if(loError != ERROR_SUCCESS){
         RegCloseKey(hkNoShare);
         return FALSE;
     }          
                       
     RegSetValueEx(hkNoShare,"AutoShareServer2",0,REG_DWORD,(const BYTE*)0x00000000,NULL);
     RegCloseKey(hkNoShare);    
     return TRUE;
}

Comme vous le voyez je crée une nouvelle subkey du nom de AutoShareServer2, et je voudrai bien lui donner la valeur 0, met voila , aparement (const BYTE*)0x00000000 ne fonctionne pas. Quelqu'un peut m'aider svp? et tant que l'on y ai , pour le dernier paramètre je n'ai pas compris non plus comment on l'applique. A savoir :

(extrait de la MSDN)

* cbData : <dd>[in] Size, in bytes, of the information pointed to by the lpData parameter. If the data is of type REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ, cbData must include the size of the terminating null character. The maximum size of data allowed in Windows CE is 4 KB.

Merci d'avance.

10 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
DWORD v = 0;
RegSetValueEx(hkNoShare, "AutoShareServer2", 0, REG_DWORD, (LPBYTE) &v, sizeof(DWORD));

ciao...
BruNews, MVP VC++
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
if(RateOuverture) N'Y A RIEN A FERMER !!!

Adresse 0 c'est pour planter ??? donne adresse d'un buffer.

ciao...
BruNews, MVP VC++
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
Non je veu donner la valeur 0 a la subKey :s
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
L'adresse d'un DWORD est bien l'adresse d'un buffer de 4 octets.

ciao...
BruNews, MVP VC++
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
j'ai esseyé avec :

char szValeur = "0x00000000";

et

RegSetValueEx(hkNoShare,"AutoShareServer2",0,REG_DWORD,(const BYTE*)szValeur,strlen(szValeur);

Mais cela ne vas tjrs pas : (valeur DWORD non valide)
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
ha ok lol tu as répondu trop vite lol.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Salut.

Pourrais tu remettre le même morceau de code mais cette fois corrigé (donc celui que tu utilisera dans ton application) ici stp?

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Je voudrais m'assurer de quelque chose s'il te plait.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
Désolé j'ai vu ta demande un peu tard. voila :

DWORD dwValeur = 0;

loError = RegSetValueEx(hkNoShare,"AutoShareServer",0,REG_DWORD,(const BYTE*)&dwValeur,sizeof(DWORD));

Si tu veus , mon code est ici .
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Oui. J'ai vue ton code. Ça va. Tu n'as pas fais l'erreur que je craignais. ;)

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution
Forum de débats sur la programmation
< body>