Bonjour à tous,
Voilà, je débute en C++, et je dois maintenir et faire évoluer un programme.
Je cherche à définir les paramètres d'un compte utilisateur déjà créé :
Password n'expire jamais, User can't change password, etc...
J'utilise dans un premier temps la fonction NetUserGetInfo pour récupérer l' "état" actuel du compte, et cela marche très bien.
J'utilise ensuite la fonction NetUserSetInfo, mais j'avoue avoir
sacrément du mal pour bien définir les paramètres de cette fonction.
Voici mon code :
// Définition des variables.
USER_INFO_1 Buffer;
NET_API_STATUS SetInfoStatus;
char* user;
user = "Test";
wchar_t wuser[5];
// Fonction devant je crois transformer "user" au format demandé par la fonction, c-a-d "LPCWSTR
". (Récupéré sur le net, aucune idée de comment ça marche, et si ça marche...)
mbstowcs(wuser, user, strlen(user)+1);
// Définition de la partie FLAGS :
Buffer.usri1_flags = UF_SCRIPT | UF_DONT_EXPIRE_PASSWD | UF_PASSWD_CANT_CHANGE | UF_ACCOUNTDISABLE;
// Appel de la fonction
SetInfoStatus = NetUserSetInfo ( NULL, wuser, level, (LPBYTE)&Buffer, NULL);
Mon code se compile bien, mais à l'exécution s'arrete à l'exécution de
la fonction NetUserSetInfo avec une erreur critique : "L'instruction à
(0x77f3395d) emploie l'adresse mémoire "0xcccccccc". La mémoire ne peut
pas être "read".
Au secours....