Einzelnen Beitrag anzeigen

Meakin

Registriert seit: 13. Feb 2011
4 Beiträge
 
#6

AW: Über Delphi neuen Benutzer anlegen, bestehenden bearbeiten

  Alt 15. Feb 2011, 16:51
Also. Habe nun folgendes implementiert. Dabei habe ich mich zum einem an Luckies Unit orientiert, zum anderen an MSDN. Syntax ist laut Delphi korrekt.
Ich hätte auch Luckies Unit so nehmen können, doch geht es für mich hier vor allem darum, dies selbst zu lernen und zu verstehen. Ausserdem brauchte ich bei weitem nicht alle Funktionen die dort erstellt worden waren.

Funktion in Delphi setzen
Code:
implementation

{$R *.dfm}

function NetUserAdd(ServerName: lpWStr; Level: DWord; Buf: lpByte; Parm_Err: lpDWord): LongInt; StdCall; External 'NETAPI32.DLL';
Hier binde ich die Funktion aus NETAPI32 ein. Da Name gleich ist habe ich denn nicht hinten angesetzt. Ich verwendete die selben Variablen wie in MDSN (Typen waren Delphi bekannt). Bis auf
lpByte welches ich so angab

Code:
type

  lpByte = pByte;
Nun habe ich die Funktion angewendet:

Code:
    User.usin1_name := 'Nutzer';
    User.usin1_password := 'Password';
    NetUserAdd('localhost', 1, @User, nil);
Dabei wird von User, welcher vom Typ USERINFO_1 das Passwort und der Name gesetzt. Zuvor wurde User nur in den Variablen defininiert, nicht weiter initialisiert. Auch er ist unter type definiert:

Code:
type

  TUserInfo1 = record
    usin1_name: LPWSTR;
    usin1_password: LPWSTR;
    usin1_password_age: DWORD;
    usin1_priv: DWORD;
    usin1_home_dir: LPWSTR;
    usin1_comment: LPWSTR;
    usin1_flags: DWORD;
    usin1_script_path: LPWSTR;
  end;
Soweit funktioniert das ganze auch. Das Programm startet, es tut alles was es machen soll, durchläuft den gesamten Alogrithmus ohne Fehlermeldung. Doch dann sehe ich unter der Benutzerverwaltung: Nichts ist passiert. Kein neuer Benutzer wurde erstellt.
  Mit Zitat antworten Zitat