def METHOD_NAME(self):
    overlapped, _ = _winapi.ReadFile(self.pipe, BUFSIZE, True)
    bytes_read, res = overlapped.GetOverlappedResult(False)
    if res != 0:
        return ()
    output = overlapped.getbuffer()
    output = output.decode('oem', 'replace')
    output = self._buffer + output
    lines = output.splitlines(True)
    # bpo-36670: typeperf only writes a newline *before* writing a value,
    # not after. Sometimes, the written line in incomplete (ex: only
    # timestamp, without the process queue length). Only pass the last line
    # to the parser if it's a valid value, otherwise store it in
    # self._buffer.
    try:
        self._parse_line(lines[-1])
    except ValueError:
        self._buffer = lines.pop(-1)
    else:
        self._buffer = ''
    return lines