
Win32ServiceRightInfo 클래스의 getDomain 메서드는 서비스 계정의 도메인을 반환하는 데 사용됩니다.
이 메서드의 구현 코드를 작성하려면, 서비스 계정의 도메인 정보를 가져올 수 있는 방법을 알아야 합니다.
Windows API 함수 `LookupAccountSid`를 사용하여 서비스 계정의 SID를 도메인 이름으로 변환할 수 있습니다.
다음은 예시 코드입니다.
#hostingforum.kr
csharp
using System;
using System.Runtime.InteropServices;
public class Win32ServiceRightInfo
{
[DllImport("advapi32.dll", SetLastError = true)]
private static extern bool LookupAccountSid(
string lpSystemName,
IntPtr Sid,
StringBuilder lpName,
ref int cchName,
StringBuilder ReferencedDomainName,
ref int cchReferencedDomainName,
out int peUse);
public string getDomain(IntPtr serviceAccountSid)
{
int cchName = 1024;
int cchReferencedDomainName = 1024;
StringBuilder lpName = new StringBuilder(cchName);
StringBuilder ReferencedDomainName = new StringBuilder(cchReferencedDomainName);
if (LookupAccountSid(null, serviceAccountSid, lpName, ref cchName, ReferencedDomainName, ref cchReferencedDomainName, out _))
{
return ReferencedDomainName.ToString();
}
else
{
return null;
}
}
}
이 코드는 `LookupAccountSid` 함수를 호출하여 서비스 계정의 SID를 도메인 이름으로 변환한 후, 도메인 이름을 반환합니다.
이 코드를 사용하여 Win32ServiceRightInfo 클래스의 getDomain 메서드를 구현할 수 있습니다.
2025-06-18 01:20