// Converte una stringa SID in un nome utente/gruppo.
string ConvertSidToString(string sid) {
Tentativo {
var dominio =new StringBuilder(256);
var nomeutente =new StringBuilder(256);
var sidParsed =false;
var risultato =Win32Native.LookupAccountSid(null, sid, nomeutente, nomeutente.Capacità);
if (risultato &&nomeutente.Lunghezza> 0) {
sidParsed =vero;
}
altrimenti se (Win32Native.GetLastError() ==Win32Native.ERROR_NONE_MAPPED) {
// Il SID si riferisce a un utente o gruppo locale
dominio.Append(".");
sidParsed =Win32Native.LookupAccountSid(null, sid, nome utente, nomeutente.Capacità, dominio, dominio.Capacità, null);
if (!sidParsed) {
// Nel caso in cui LookupAccountSid fallisca per qualche motivo, restituisce semplicemente la stringa SID.
sidParsed =vero;
nomeutente.Lunghezza =0;
}
}
se (sidParsed) {
restituisce nomeutente.ToString();
}
altro {
restituire null;
}
}
catch (Eccezione e) {
restituire null;
}
}
// Converte il nome di un utente/gruppo in una stringa SID.
string ConvertStringToSid(nome stringa) {
Tentativo {
var sid =nuovo byte[256];
var sidLength =sid.Lunghezza;
var domainName =new StringBuilder(256);
var sidParsed =false;
var risultato =Win32Native.LookupAccountName(null, nome, sid, ref sidLength, domainName, domainName.Capacity, null);
if (risultato &&sidLength> 0) {
sidParsed =vero;
}
se (sidParsed) {
restituisce il nuovo SecurityIdentifier(sid, 0).Value;
}
altro {
restituire null;
}
}
catch (Eccezione e) {
restituire null;
}
}
```
hardware © www.354353.com