def read(self, to_read, timeout_ms):
        """Reads data from this file.

        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.
        
        """
        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("read",
                     in_p=[to_read, timeout_ms])
        return data