![]() |
String SID in Namen umwandeln
Folgende Funktion wandelt eine SID, die als String vorliegt, in den entsprechenden Namen um. Aus 'S-1-5-32-544' wird also "Administratoren". Desweiteren wird der Typ der SID zurückgegeben.
Delphi-Quellcode:
Weiterführende Links ins PSDK:
{
Author : Michael Puff - [url]http://www.michael-puff.de[/url] Date : 2006-03-01 License : PUBLIC DOMAIN } function ConvertStringSidToSid(StringSid: PWideChar; var Sid: PSID): Boolean; stdcall; external 'advapi32.dll' name 'ConvertStringSidToSidW'; function StrSIDToName(const StrSID: Widestring; var Name: string; var SIDType: DWORD): Boolean; var SID : PSID; Buffer : PChar; NameLen, TempLen : Cardinal; err : Boolean; begin SID = nil; err := ConvertStringSIDToSID(PWideChar(StrSID), SID); if err then begin NameLen := 0; TempLen := 0; LookupAccountSidA(nil, SID, nil, NameLen, nil, TempLen, SIDType); GetMem(Buffer, NameLen); try err := LookupAccountSidA(nil, SID, Buffer, NameLen, nil, TempLen, SIDType); if err then SetString(Name, Buffer, Namelen); finally FreeMem(Buffer); end; end; if Assigned(SID) then LocalFree(Cardinal(SID)); result := err; end; procedure TForm1.Button1Click(Sender: TObject); var Name : string; SIDType: DWORD; begin if StrSIDToName('S-1-5-32-544', Name, SIDType) then ShowMessage(Name) else ShowMessage(SysErrorMessage(GetLastError)); end; ![]() ![]() Stichworte: SID, ConvertStringSIDToSID, LookupAccountSid [edit=Chakotay1308]KLassifizierung hinzugefügt. Mfg, Chakotay1308[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 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