```
// Konverter en SID-streng til et bruger-/gruppenavn.
streng ConvertSidToString(strengsid) {
prøv {
var domæne =new StringBuilder(256);
var brugernavn =new StringBuilder(256);
var sidParsed =falsk;
var resultat =Win32Native.LookupAccountSid(null, sid, brugernavn, brugernavn.Capacity);
if (resultat &&brugernavn.Længde> 0) {
sideParsed =sand;
}
andet {
result =Win32Native.LookupAccountSid(null, sid, domain, domain.Capacity, username, username.Capacity);
if (resultat &&brugernavn.Længde> 0 &&domæne.Længde> 0) {
sideParsed =sand;
brugernavn.Append('\\').Append(domæne);
}
}
if (sidParsed) {
returner brugernavn.ToString();
}
andet {
returner null;
}
}
fange {
returner null;
}
}
// Konverter et bruger-/gruppenavn til en SID-streng.
streng ConvertStringToSid(strengnavn) {
prøv {
// Tildel en buffer til at modtage SID. Den maksimale længde er:256 bytes for SID
// sig selv, plus 1 byte for nul-tegnet.
var sid =ny byte[257];
// Tildel buffere til at modtage bruger- og domænenavne. Den maksimale længde er:
// Bruger:20 tegn
// Domæne:80 tegn
var bruger =new StringBuilder(20);
var domæne =new StringBuilder(80);
// Indstil domænet og SID-markøren til null for at bruge den aktuelle computer.
uint størrelse =257;
var succeeded =Win32Native.LookupAccountName(null, navn, sid, ref størrelse, bruger, bruger.Capacity, domæne, domæne.Capacity);
if (succeded) {
// Konverter SID til en streng til visning.
returnere nyt System.Security.Principal.SecurityIdentifier(sid, 0).Value;
}
andet {
returner null;
}
}
fange {
returner null;
}
}
```