    # File lib/chef/util/windows/net_group.rb, line 48
      def local_get_members
        group_members = []
        handle = 0.chr * PTR_SIZE
        rc = ERROR_MORE_DATA

        while rc == ERROR_MORE_DATA
          ptr   = 0.chr * PTR_SIZE
          nread = 0.chr * PTR_SIZE
          total = 0.chr * PTR_SIZE

          rc = NetLocalGroupGetMembers.call(nil, @name, 1, ptr, -1,
                                            nread, total, handle)
          if (rc == NERR_Success) || (rc == ERROR_MORE_DATA)
            ptr = ptr.unpack('L')[0]
            nread = nread.unpack('i')[0]
            members = 0.chr * (nread * (PTR_SIZE * 3)) #nread * sizeof(LOCALGROUP_MEMBERS_INFO_1)
            memcpy(members, ptr, members.size)

            #3 pointer fields in LOCALGROUP_MEMBERS_INFO_1, offset 2*PTR_SIZE is lgrmi1_name
            nread.times do |i|
              offset = (i * 3) + 2
              member = lpwstr_to_s(members, offset)
              group_members << member
            end
            NetApiBufferFree(ptr)
          else
            raise ArgumentError, get_last_error(rc)
          end
        end
        group_members
      end