Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

NetUserGetInfo schlägt fehl mit "Überlappender E/A-Vorg

  Alt 14. Nov 2007, 11:57
Ich rufe obige API-Funktion wie folgt auf:
Delphi-Quellcode:
type
  NET_API_STATUS = DWORD;

type
  TUserInfo1 = record
    usri1_name: LPWSTR;
    usri1_password: LPWSTR;
    usri1_password_age: DWORD;
    usri1_priv: DWORD;
    usri1_home_dir: LPWSTR;
    usri1_comment: LPWSTR;
    usri1_flags: DWORD;
    usri1_script_path: LPWSTR;
  end;
  PUserInfo1 = ^TUserInfo1;

const
  NERR_Success = 0;
  USER_PRIV_ADMIN = 2;

function NetUserGetInfo(servername: LPCWSTR; username: LPCWSTR; level: DWORD; var bufptr: PUserInfo1): NET_API_STATUS;
  stdcall; external 'netapi32.dllname 'NetUserGetInfo';

function IsAdminByNetUserGetInfo: Boolean;
var
  CurrentUser : string;
  ui1 : PUserInfo1;
begin
  Result := False;
  CurrentUser := GetCurrUserName;
  if NetUserGetInfo(nil, PWideChar(WideString(CurrentUser)), 1, ui1) = NERR_Success then
  begin
    Result := ui1.usri1_priv = USER_PRIV_ADMIN;
    NetApiBufferFree(ui1);
  end
  else
    Writeln(GetLastError);
end;
Als Fehlermeldung bekomme ich
Zitat:
Überlappender E/A-Vorgang wird verarbeitet.
, was ich nicht so ganz verstehe. Ich habe diese Funktion schon öfters benutzt und sehe nicht, was ich hier anders bzw. falsch mache.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat