private static unsafe bool IsBuildInGroupMember()

in JetBrains.HabitatDetector/src/Impl/Windows/WindowsHelper.cs [146:169]


    private static unsafe bool IsBuildInGroupMember(void* hToken, uint domainAliasRid)
    {
      var ntAuthority = SID_IDENTIFIER_AUTHORITY.SECURITY_NT_AUTHORITY;
      void* groupSid;
      if (Advapi32Dll.AllocateAndInitializeSid(
            &ntAuthority,
            2,
            RID.SECURITY_BUILTIN_DOMAIN_RID,
            domainAliasRid,
            0, 0, 0, 0, 0, 0,
            &groupSid) == 0)
        throw new Win32Exception();
      try
      {
        int isMember;
        if (Advapi32Dll.CheckTokenMembership(hToken, groupSid, &isMember) == 0)
          throw new Win32Exception();
        return isMember != 0;
      }
      finally
      {
        Advapi32Dll.FreeSid(groupSid);
      }
    }