Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi NetLocalGroupAddMembers -> Netzwerkpfad nicht gefunden (https://www.delphipraxis.net/32351-netlocalgroupaddmembers-netzwerkpfad-nicht-gefunden.html)

Luckie 22. Okt 2004 07:31


NetLocalGroupAddMembers -> Netzwerkpfad nicht gefunden
 
So langsam zweifele ich an mir selbst. Seit ich den UserManager überarbeite klappen die API Funktionsaufrufe hinten und vorne nicht mehr, obwohl ich eigentlich nichts anders mache als im alten Usermanager. :evil:

Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Procedure : AddToGroup
// Comment  : Adds a user to a group

function AddToGroup(Server, User, Group: string): NET_API_STATUS;
var
  s: String;
  iSize: Integer;
  lpwServer: PWideChar;
  lpwGroup: PWideChar;
  Member: PLocalGroupMembersInfo3;
begin
  result := NERR_BASE;
  if (User <> '') and (Group <> '') and (Server <> '') then
  begin
    s := Server + '\' + User;
    iSize := MultiByteToWideChar(0, 0, Pointer(s), -1, nil, 0);
    lpwServer := GetMemory(iSize * SizeOf(WideChar));
    MultiByteToWideChar(0, 0, Pointer(s), -1, lpwServer, iSize);

    iSize := MultiByteToWideChar(0, 0, Pointer(Group), -1, nil, 0);
    lpwGroup := GetMemory(iSize * SizeOf(WideChar));
    MultiByteToWideChar(0, 0, Pointer(Group), -1, lpwGroup, iSize);

    GetMem(Member, sizeof(TLocalGroupMembersInfo3));
    try
      Member.lgrmi3_domainandname := lpwServer;
      result := NetLocalGroupAddMembers(lpwServer, lpwGroup, 3, Member, 1);
    finally
      FreeMem(Member, sizeof(TLocalGroupMembersInfo3));
    end;
  end;
end;
Diese Funktion liefert mir immer den Fehler 1722 zurück, obwohl der Netzwerkpfad stimmt: "\\HAL900\Test". "HAL9000" ist mein lokaler Computer auf dem ich arbeite. Hat jemand eine Idee, woran es liegen könnte?

Nachtrag: Im PSDK steht das lgrmi3_domainandname so
Zitat:

Pointer to a null-terminated Unicode string specifying the account name of the local group member prefixed by the domain name and the "\" separator character. For example:
<DomainName>\<AccountName>
angegeben werden müsste. Aber auch wenn ich die ersten beiden "\\" davor wegnehme, kommt der Fehler, dass der Netzwerkpfad nicht gefunden würde.

Muetze1 22. Okt 2004 09:25

Re: NetLocalGroupAddMembers -> Netzwerkpfad nicht gefunde
 
Moin!

Zitat:

Zitat von Luckie
Diese Funktion liefert mir immer den Fehler 1722 zurück, obwohl der Netzwerkpfad stimmt: "\\HAL900\Test". "HAL9000" ist mein lokaler Computer auf dem ich arbeite. Hat jemand eine Idee, woran es liegen könnte?

Nur mal zur Sicherheit: Wenn du die Angaben rauskopiert hast vom Programm, dann fehlt bei deinem Aufruf im Rechnernamen eine 0, ansonsten stimmt es. Wenn es nur ein Tippfehler ist, dann vergiss es...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz