Hallo!
Ich habe mit der API-Funktion: NetUserAdd einen neuen Benutzer auf meinem Rechner angelegt, unter dem bestimmte Operationen durchgeführt werden sollen. Dies klappt soweit auch ganz gut, nur sobald ich dem Benutzer in eine Gruppe zuweisen will versagt die API-Funktion NetUserSetGroups. Sie gibt den Fehlercode 2220 zurück. Getlasterror meldet "Überlappende E/A Vorgangwird verarbeitet" ??
Hat jemand eine Ahnung was ich falsch mache? Oder gibt es eine andere Möglichkeit einen Bentuzer einer Gruppe zuzuordnen ? OS: XPP.
Code:
<pre>
//External Deklaration
function NetUserSetGroups(servername: PWideChar; username: PWideChar;level: DWord; buf: Pointer; num_entries: DWord): Longint; stdcall; external 'netapi32.dll';
// benötigtes Record
pGROUP_USERS_INFO_0 = ^GROUP_USERS_INFO_0;
GROUP_USERS_INFO_0 = record
grui0_name : PWideChar;
//Funktionsaufrauf
var grpUserInfo: pGROUP_USERS_INFO_0;
begin
getmem(grpUserInfo, sizeof(GROUP_USERS_INFO_0));
grpUserInfo.grui0_name :='Gäste';
NetUserSetGroups(nil,'Test_User',0,Pointer(grpUser Info),1);
showMessage(SysErrorMessage(GetLastError));
freemem(grpUserInfo);
</pre>
Danke
Sascha
Ich habe mit der API-Funktion: NetUserAdd einen neuen Benutzer auf meinem Rechner angelegt, unter dem bestimmte Operationen durchgeführt werden sollen. Dies klappt soweit auch ganz gut, nur sobald ich dem Benutzer in eine Gruppe zuweisen will versagt die API-Funktion NetUserSetGroups. Sie gibt den Fehlercode 2220 zurück. Getlasterror meldet "Überlappende E/A Vorgangwird verarbeitet" ??
Hat jemand eine Ahnung was ich falsch mache? Oder gibt es eine andere Möglichkeit einen Bentuzer einer Gruppe zuzuordnen ? OS: XPP.
Code:
<pre>
//External Deklaration
function NetUserSetGroups(servername: PWideChar; username: PWideChar;level: DWord; buf: Pointer; num_entries: DWord): Longint; stdcall; external 'netapi32.dll';
// benötigtes Record
pGROUP_USERS_INFO_0 = ^GROUP_USERS_INFO_0;
GROUP_USERS_INFO_0 = record
grui0_name : PWideChar;
//Funktionsaufrauf
var grpUserInfo: pGROUP_USERS_INFO_0;
begin
getmem(grpUserInfo, sizeof(GROUP_USERS_INFO_0));
grpUserInfo.grui0_name :='Gäste';
NetUserSetGroups(nil,'Test_User',0,Pointer(grpUser Info),1);
showMessage(SysErrorMessage(GetLastError));
freemem(grpUserInfo);
</pre>
Danke
Sascha