Chức năng API Win32 LookupAccountSid()
được sử dụng để tìm tên tương ứng với SID.
LookupAccountSid()
có chữ ký sau đây:
BOOL LookupAccountSid(LPCTSTR lpSystemName, PSID Sid,LPTSTR Name, LPDWORD cbName,
LPTSTR ReferencedDomainName, LPDWORD cbReferencedDomainName,
PSID_NAME_USE peUse);
MSDN Ref.
Đây là P/Invoke tài liệu tham khảo (với mẫu mã): http://www.pinvoke.net/default.aspx/advapi32.LookupAccountSid
[DllImport("advapi32.dll", CharSet=CharSet.Auto, SetLastError = true)]
static extern bool LookupAccountSid (
string lpSystemName,
[MarshalAs(UnmanagedType.LPArray)] byte[] Sid,
StringBuilder lpName,
ref uint cchName,
StringBuilder ReferencedDomainName,
ref uint cchReferencedDomainName,
out SID_NAME_USE peUse);
Nguồn
2008-12-19 03:46:04
Có cách nào khác để làm điều đó mà không sử dụng p/gọi trong C#? –
@DennisC bạn có thể làm điều đó mà không cần P/Gọi. Xin vui lòng xem câu trả lời của tôi: http://stackoverflow.com/questions/7593005/convert-sid-to-username-in-c-sharp/7593200 –
@EriawanKusumawardhono Tôi đoán bạn có thể không đọc các câu hỏi rất tốt. Vì chúng hoàn toàn trái ngược với API –