ByVal dans l'API RegQueryValueEx
Salut à tous,
Pour récuperer la valeur d'une entrée dans le registre (HKEY_CURRENT_USER\Environment\TMP) j'utilise les API RegOpenKeyEx et RegQueryValueEx comme suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| (...)
' Ouvrir d'abord la clé
Dim hCle As Long
RegOpenKeyEx HKEY_CURRENT_USER, "Environment", 0, KEY_ALL_ACCESS, hCle
' On lit maintenant
Dim lpType As Long, LeBuffer As String, Longueur As Long
Longueur = 255
LeBuffer = Space(Longueur)
RegQueryValueEx hCle, ByVal "TMP", ByVal 0&, lpType, byval LeBuffer, Longueur
LeBuffer = Left(LeBuffer, Longueur - 1)
(...) |
le code marche trés bien, MAIS : Pourquoi passer LeBuffer par valeur (si je la passe ByRef, VB plante ), je croyais que, pour attaquer la variable elle même, nous devons la passer ByRef..:(