```
// Converteer een SID-tekenreeks naar een gebruikers-/groepsnaam.
string ConvertSidToString(tekenreeks zijde) {
poging {
var domein =nieuwe StringBuilder(256);
var gebruikersnaam =new StringBuilder(256);
var sidParsed =false;
var resultaat =Win32Native.LookupAccountSid (null, sid, gebruikersnaam, gebruikersnaam. Capaciteit);
if (resultaat &&gebruikersnaam. Lengte> 0) {
sidParsed =waar;
}
anders als (Win32Native.GetLastError() ==Win32Native.ERROR_NONE_MAPPED) {
// SID verwijst naar een lokale gebruiker of groep
domein.Append(".");
sidParsed =Win32Native.LookupAccountSid (null, sid, gebruikersnaam, gebruikersnaam. Capaciteit, domein, domein. Capaciteit, null);
als (!sidParsed) {
// Als LookupAccountSid om de een of andere reden mislukt, retourneert u gewoon de SID-string.
sidParsed =waar;
gebruikersnaam.Lengte =0;
}
}
als (sidParsed) {
retourneer gebruikersnaam.ToString();
}
anders {
retourneer nul;
}
}
vangen (Uitzondering e) {
retourneer nul;
}
}
// Converteer een gebruikers-/groepsnaam naar een SID-string.
string ConvertStringToSid(tekenreeksnaam) {
poging {
var sid =nieuwe byte[256];
var sidLengte =sid.Lengte;
var domeinnaam =nieuwe StringBuilder(256);
var sidParsed =false;
var resultaat =Win32Native.LookupAccountName(null, naam, sid, ref sidLength, domeinnaam, domeinnaam.Capacity, null);
if (resultaat &&sidLengte> 0) {
sidParsed =waar;
}
als (sidParsed) {
retourneer nieuwe SecurityIdentifier(sid, 0).Waarde;
}
anders {
retourneer nul;
}
}
vangen (Uitzondering e) {
retourneer nul;
}
}
``` |