Я написал код, используя функцию windows API NetUserModalsSet , чтобы установить минимальную длину пароля. Теперь у этого есть разные уровни (структуры), чтобы установить то, что мы хотим
USER_MODALS_INFO_0 эта структура позволяет нам дать максимальное значение для длины пароля как LM20_PWLEN (14). Если задано какое-либо значение, превышающее это, возвращается ошибка «Неверные параметры». Но так как я хочу установить более, я использовал USER_MODALS_INFO_1001 , поскольку это позволяет PWLEN (256).
Когда я использую структуру USER_MODALS_INFO_1001 с длиной пароля> 14, он возвращает ошибка неверного параметра. Но если я определю его как 14, он работает правильно. Теперь это должно было работать с любой длиной пароля <= 256, но не сработало. </p>
Есть ли причина, почему это проявляет такое поведение? Я приложил фрагмент моего кода
USER_MODALS_INFO_1001 pBufPass;
DWORD mode = 1001, value = 17,parm_err;
printf("The minimum password length is going to be set as %lu\n",value);
pBufPass.usrmod1001_min_passwd_len = value;
printf("Value that is going to be set is : %lu\n",pBufPass.usrmod1001_min_passwd_len);
NET_API_STATUS nStatus = NetUserModalsSet(NULL, mode, (LPBYTE)&pBufPass, &parm_err);
if (nStatus != NERR_Success)
{
printf("Error while using NetUserModalsSet. Error code : %lu and parm_err : %lu\n", nStatus, parm_err);
ret = false;
}