Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/27: Рейтинг темы: голосов - 27, средняя оценка - 4.78
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3

Протекает наложенное событие ввода/вывода

24.09.2012, 17:35. Показов 5573. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята пытаюсь создать программно пользователя с правами администратора.

Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <lmaccess.h>
#include   <lm.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
USER_INFO_1 ui;
DWORD dwLevel = 1;
DWORD dwError = 0;
NET_API_STATUS nStatus;
ui.usri1_name = L"User1";
ui.usri1_password = L"1";
// Ïðèâèëåãèè: Ãîñòü, Ïîëüçîâàòåëü èëè Àäìèí
ui.usri1_priv = USER_PRIV_ADMIN;
ui.usri1_home_dir = NULL;
ui.usri1_comment = NULL;
ui.usri1_flags = UF_SCRIPT;
ui.usri1_script_path = NULL;
// Ñîçäàåì ïîëüçîâàòåëÿ
nStatus = NetUserAdd(NULL,/*NULL - ñîçäàåòñÿ ëîêàëüíî*/dwLevel, (LPBYTE)&ui, &dwError);
 // Åñëè âñå õîðîøî, òî ñîîáùàåì îá ýòîì
if(nStatus == NERR_Success)
  {
   ShowMessage("Ïîëüçîâàòåëü ñîçäàí!");
  }
else
  {
    ShowMessage(SysErrorMessage(GetLastError()));
  }
}
Нажимаю на кнопку, а он мне вот такое сообщение (см.скриншот)

Откуда эта ошибка берётся и как с ней бороться?
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2012, 17:35
Ответы с готовыми решениями:

Событие после ввода в TEdit
Доброго! TEdit- поле для поиска в БД...как бы так организовать ввод,что пока пользователь вводит,поиск не работает,дабы не нагружать, и...

StringGrid событие по окончанию ввода
Как отлавливать событие, когда завершается ввод данных в ячейку StringGrid? Я хочу сделать, чтобы, когда пользователь ввёл данные в ячейку...

Протекает наложенное событие ввода/вывода
Всем привет, у меня при попытке копирования любого файла на сервер пишет ошибку &quot;Ошибка 0x800703E5: Протекает наложенное событие...

9
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
24.09.2012, 19:34
Хм. А какое отношение NetUserAdd имеет к GetLastError? Надо выводить сам код ошибки, который вернула NetUserAdd(), и смотреть, что не так.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.09.2012, 19:39  [ТС]
Ну я сделал так
C++
1
ShowMessage(GetLastError());
Код ошибки 997
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
24.09.2012, 19:45
Да не надо тебе GetLastError. Выводи сам nStatus, это УЖЕ код ошибки.
1
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.09.2012, 19:58  [ТС]
Сделал код ошибки 87

Добавлено через 7 минут
Прочитал тут
http://msdn.microsoft.com/en-u... 81382.aspx

ERROR_INVALID_PARAMETER
87 (0x57)

The parameter is incorrect.

Добавлено через 1 минуту
Т.е в переводе не правильный параметр, но какой?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
24.09.2012, 20:07
Цитата Сообщение от Sasha Посмотреть сообщение
но какой?
А индекс первого ошибочного поля структуры возвращается через dwError. Посмотри, что там у тебя.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.09.2012, 20:16  [ТС]
UI, нашёл в чём причина
причина в этом
C++
1
ui.usri1_priv = USER_PRIV_ADMIN;
надо писать так

C++
1
ui.usri1_priv = USER_PRIV_USER;
тогда пользователь создаётся потому как тут написано

Specifies a DWORD value that indicates the level of privilege assigned to the usri1_name member. When you call the NetUserAdd function, this member must be USER_PRIV_USER.

Пользователь создаётся, но чистый, то есть ни в какую группу не входит.

Теперь вопрос как этого юзера включить в группу Администраторов?

Добавлено через 4 минуты
Цитата Сообщение от UI Посмотреть сообщение
структуры возвращается через dwError
код 5
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
24.09.2012, 20:23
Через NetLocalGroupAddMembers добавляешь его в группу "Administrators", и, если надо, даешь доп. права через SetPrivilegeOnAccount.

Добавлено через 3 минуты
Цитата Сообщение от Sasha Посмотреть сообщение
код 5
Вот оно и есть, USER_PRIV_PARMNUM == 5, то есть, проблема была в поле usri*_priv (см. здесь)
1
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.09.2012, 10:27  [ТС]
UI, скажи а как ты определил по коду что это USER_PRIV_PARMNUM? Где ты это прочитал? В той статье что ты давал я так и не понял почему именно USER_PRIV_PARMNUM?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
25.09.2012, 15:23
Ты сказал, что в dwError вернулось значение = 5, открываем файл Lmaccess.h примерно на 585 строке (у меня в XE2 это строка №584), где начинается раздел "Values for ParmError for NetUserSetInfo". И ищем там, какая константа имеет значение равное 5. А потом уже, по этой константе, смотрим дальше в MSDN, что именно не так.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2012, 15:23
Помогаю со студенческими работами здесь

MS Office, протекает наложенное событие ввода вывода (ошибка 997)
Вот было когда-то все нормально и установил я microsoft office 2007, приспичило мне его удалить, а теперь установить не получается, по тому...

Ошибка ввода\вывода 104, файле не открыт для ввода (строка 0)
Всё работает, но пишет: &quot;ошибка ввода\вывода 104, файле не открыт для ввода (строка 0). Program pyat; uses crt; var...

Ошибка ввода/вывода 104 - файл не открыт для ввода
var a:array of integer; n,j,i,k: integer; f:text; begin assign(f,'C:\Users\Алла\Desktop\Универ\матрица.txt'); reset(f); ...

Событие окончания ввода в TextBox
Всем программистам привет)) Смотрите есть textBox, я в него ввожу любое число, а в это время по определенной формуле считается так ...

Событие: ошибка ввода данных
Есть простая прога. Форма. На форме несколько текстбоксов для ввода данных в групбоксе. И несколько текст боксов для вывода данных. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru