code: def move_in_16(library, session, space, offset, length, extended=False):
      
      buffer_16 = (ViUInt16 * length)()
      if extended:
          ret = library.viMoveIn16Ex(session, space, offset, length, buffer_16)
      else:
          ret = library.viMoveIn16(session, space, offset, length, buffer_16)
  
      return list(buffer_16), ret
docs: Moves an 16-bit block of data from the specified address space and offset to local memory.
  
      Corresponds to viMoveIn16* functions of the VISA library.
  
      :param library: the visa library wrapped by ctypes.
      :param session: Unique logical identifier to a session.
      :param space: Specifies the address space. (Constants.*SPACE*)
      :param offset: Offset (in bytes) of the address or register from which to read.
      :param length: Number of elements to transfer, where the data width of the elements to transfer
                     is identical to the source data width.
      :param extended: Use 64 bits offset independent of the platform.
      :return: Data read from the bus, return value of the library call.
      :rtype: list, :class:`pyvisa.constants.StatusCode`