AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

NetUserEnum die 2.

Ein Thema von CalganX · begonnen am 7. Feb 2003 · letzter Beitrag vom 21. Apr 2012
 
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

NetUserEnum die 2.

  Alt 7. Feb 2003, 13:27
Hi,
entweder ich bin blöd, oder der Kompiler ist kaputt. Also, ersteinmal meine Definition der NetUserEnum aus JwaLM:
Delphi-Quellcode:
function NetUserEnum(
  const servername: LPCWSTR;
  const level: DWORD;
  const filter: DWORD;
  const bufptr: Pointer;
  const prefmaxlen: DWORD;
  var entriesread: DWORD;
  var totalentries: DWORD;
  const resume_handle: PDWORD
 ): NET_API_STATUS; stdcall;
Ich habe mir bereits Christian's Definition aus dem Ursprungsthread angesehen. Allerdings kann ich damit nix anfangen. Darum bitte ich euch mir hier nochmal zu helfen, denn ich steige nicht mehr durch.
Nun aber mein Source (nachdem ich alles in eine Funktion schreiben wollte, ging nix mehr):
Delphi-Quellcode:
procedure ListAllUsers(hTreeView: DWORD; hMasterParent: Cardinal; var iEntriesRead: Cardinal);
type
  PUSER_INFO_0 = ^_USER_INFO_0;
// PUSER_INFO_11 = ^_USER_INFO_11; <= für später...
var
  aTempIStruct: TTVInsertStruct;
  aUserBuffer, aWorkBuffer: PUSER_INFO_0;
  dwEntriesRead: Cardinal;
  i: integer;
  sTemp: string;
begin
  if NetUserEnum(nil, 0, FILTER_NORMAL_ACCOUNT, @aUserBuffer, MAX_PREFERRED_LENGTH,
                 dwEntriesRead, dwEntriesRead, nil) = NERR_SUCCESS then begin
    aWorkBuffer := aUserBuffer;
    for i:=1 to dwEntriesRead do begin
      aTempIStruct.hParent := Pointer(hMasterParent);
      sTemp := aWorkBuffer.usri0_name;
      aTempIStruct.item.pszText := @sTemp[1];
      SendMessage(hTreeView, TVM_INSERTITEM, 0, integer(@aTempIStruct));

      inc(aWorkBuffer, sizeOf(PUSER_INFO_0));
    end;
  end;
  NetAPIBufferFree(aUserBuffer);
end;
So, wenn ich nun ausführe: Es gibt ne saftige AccessViolation mit folgendem Inhalt:
Code:
---------------------------
Application Error
---------------------------
Exception EAccessViolation in module OSInfo.exe at 000037C3.
Access violation at address 004037C3 in module 'OSInfo.exe'. Read of address BAADF00D.
---------------------------
OK  
---------------------------
Dann wird das Programm zurückgesetzt und Ende.

Was mache ich nur falsch.

Chris
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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