code: def read_at(self, offset, to_read, timeout_ms):
          
          if not isinstance(offset, baseinteger):
              raise TypeError("offset can only be an instance of type baseinteger")
          if not isinstance(to_read, baseinteger):
              raise TypeError("to_read can only be an instance of type baseinteger")
          if not isinstance(timeout_ms, baseinteger):
              raise TypeError("timeout_ms can only be an instance of type baseinteger")
          data = self._call("readAt",
                       in_p=[offset, to_read, timeout_ms])
          return data
docs: Reads data from an offset of this file.
  
          in offset of type int
              Offset in bytes to start reading.
  
          in to_read of type int
              Number of bytes to read.
  
          in timeout_ms of type int
              Timeout (in ms) to wait for the operation to complete.
              Pass 0 for an infinite timeout.
  
          return data of type str
              Array of data read.
  
          raises :class:`OleErrorNotimpl`
              The method is not implemented yet.