```
// Konverter en SID-streng til et bruker-/gruppenavn.
string ConvertSidToString(string sid) {
prøv {
var domene =new StringBuilder(256);
var brukernavn =new StringBuilder(256);
var sidParsed =falsk;
var resultat =Win32Native.LookupAccountSid(null, sid, brukernavn, brukernavn.Capacity);
if (resultat &&brukernavn.Lengde> 0) {
sidParsed =sant;
}
annet {
resultat =Win32Native.LookupAccountSid(null, sid, domene, domene.Capacity, brukernavn, brukernavn.Capacity);
if (resultat &&brukernavn.Lengde> 0 &&domene.Lengde> 0) {
sidParsed =sant;
brukernavn.Append('\\').Append(domene);
}
}
if (sidParsed) {
returner brukernavn.ToString();
}
annet {
returner null;
}
}
fange {
returner null;
}
}
// Konverter et bruker-/gruppenavn til en SID-streng.
streng ConvertStringToSid(strengnavn) {
prøv {
// Tildel en buffer for å motta SID. Maksimal lengde er:256 byte for SID
// seg selv, pluss 1 byte for null-tegnet.
var sid =ny byte[257];
// Tildel buffere for å motta bruker- og domenenavn. Maksimal lengde er:
// Bruker:20 tegn
// Domene:80 tegn
var bruker =new StringBuilder(20);
var domene =new StringBuilder(80);
// Sett domenet og SID-pekeren til null for å bruke gjeldende datamaskin.
enhetsstørrelse =257;
var succeeded =Win32Native.LookupAccountName(null, navn, sid, ref størrelse, bruker, bruker.Capacity, domene, domene.Capacity);
if (vellykket) {
// Konverter SID til en streng for visning.
returner nytt System.Security.Principal.SecurityIdentifier(sid, 0).Verdi;
}
annet {
returner null;
}
}
fange {
returner null;
}
}
```