Hallo Luckie.
Ich bin jetzt so weit. Hab deine Funktion "EnumMembersInGroup" abgeändert. Jetzt macht sie genau dass, was ich will.
Delphi-Quellcode:
function EnumMembersInGlobalGroup(const Server: WideString; Group: WideString; Callback: TEnumMembers; Data: Pointer): DWORD; overload;
var
Member : Pointer;
pWork : Pointer;
EntriesRead : DWORD;
EntriesTotal : DWORD;
NetError : NET_API_STATUS;
Loop : Integer;
begin
Member := nil;
pWork := nil;
try
NetError := NetGroupGetUsers(PWideChar(Server), PWideChar(Group), 0, Member, MAX_PREFERRED_LENGTH,
EntriesRead, EntriesTotal, nil);
if (NetError = NERR_SUCCESS) and (EntriesRead > 0) then
begin
pWork := Member;
if Assigned(Callback) then
begin
for Loop := 0 to EntriesRead - 1 do
begin
if not Callback(PLocalGroupMembersInfo3(Member)^.lgrmi3_domainandname, EntriesRead, Data) then
break;
Inc(Integer(Member), sizeof(Pointer));
end;
end;
end;
finally
NetApiBufferFree(pWork);
end;
Result := NetError;
end;
@Luckie: Ich denke ich werde noch einige weitere Funktionen in der Art implementieren, soll ich dir, wenn ich "fertig" bin, die
Unit zukommen lassen?
Danke an alle...