Проверка учётной записи в домене Windows 2000
От: Synthetic Brain  
Дата: 06.04.03 20:55
Оценка:
Кто нить знает как правильно вызвать в Delphi функцию NetUserGetInfo ?
Ну постоянно она у меня возвращает ERROR_BAD_USERNAME = 2202;
хотя и имя сервера и имя пользователя задаю ей на входе правильно.
Прикол ещё вот в чём — в VB 5.0 она работает нормально а вот в Delphi 6 ни как не хочет возвращать NERR_Success.
Re: Проверка учётной записи в домене Windows 2000
От: Alex Fedotov США  
Дата: 06.04.03 21:58
Оценка:
Здравствуйте, Synthetic Brain, Вы писали:

SB>Кто нить знает как правильно вызвать в Delphi функцию NetUserGetInfo ?

SB>Ну постоянно она у меня возвращает ERROR_BAD_USERNAME = 2202;
SB>хотя и имя сервера и имя пользователя задаю ей на входе правильно.
SB>Прикол ещё вот в чём — в VB 5.0 она работает нормально а вот в Delphi 6 ни как не хочет возвращать NERR_Success.

Я думаю, у тебя что-то с Unicode напутано, но это лишь только догадки. Покажи свой код, тогда можно будет говорить определенно.
-- Alex Fedotov
Re[2]: Проверка учётной записи в домене Windows 2000
От: Synthetic Brain  
Дата: 07.04.03 01:22
Оценка:
AF>Я думаю, у тебя что-то с Unicode напутано, но это лишь только догадки. Покажи свой код, тогда можно будет говорить определенно.

Вот часть кода:


// определяю структуру USER_INFO_0
type
    TUser_Info = record
        User_Name: string;
        User_Password: string;
        User_Password_Age: Double;
        User_Priv: Double;
        User_Home_Dir: string;
        User_Comment: string;
        User_Flags: Double;
        User_Script_Path: string;
    end;
    ----*************----

// определяю переменные для передачи параметров в функцию NetUserGetInfo
var
  Server_Name: string;
  User_Name: string;
  User_Info: TUser_Info;
    ----*************----

    Server_Name:=Server.Text;     // берём имя сервера с TEdit
    User_Name:=User.Text;         // берём имя пользователя с TEdit

// вызываю функцию вот так
    Result:=NetUserGetInfo(Pointer(Server_Name), Pointer(User_Name), 0, @User_Info);



После этого Result становится равным 2202 (ошибка тобишь).
Re[3]: Проверка учётной записи в домене Windows 2000
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 07.04.03 03:53
Оценка:
Здравствуйте, Synthetic Brain, Вы писали:

[]

Замени string на WideString.
Re[4]: Проверка учётной записи в домене Windows 2000
От: Alex Fedotov США  
Дата: 07.04.03 04:43
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Замени string на WideString.


Таки я угадал.
-- Alex Fedotov
Re[5]: Проверка учётной записи в домене Windows 2000
От: Synthetic Brain  
Дата: 08.04.03 21:36
Оценка:
AS>Замени string на WideString.

AF>Таки я угадал.


Ну так вот: заменил я string на WideString.
Не работает всё равно !
Даже явно приводил значения полученные с TEdit'ов к WideString.
Не пашет !
Я вот ещё чё обнаружил — в VB 5.0 функция работает правильно даже если на вход подать имя не существующего пользователя. Тогда функция просто возвращает код ошибки — пользователь не найден.
А в Delphi как её ни вызывай — постоянно результат — 2202 не правильное имя пользователя.
Вроде всё нормально но эти ошибки совершенно разные и по смыслу и по номерам.
В Delphi подсоединение к серверу содержащего учётные записи вообще не происходит.
Уже чё только не делал !
Если можете, дайте пожалуйста свою версию кода.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.