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
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.