code: def set_user_handle_type(library, user_handle):
      
  
      # Actually, it's not necessary to change ViHndlr *globally*.  However,
      # I don't want to break symmetry too much with all the other VPP43
      # routines.
      global ViHndlr
  
      if user_handle is None:
          user_handle_p = c_void_p
      else:
          user_handle_p = POINTER(type(user_handle))
  
      ViHndlr = FUNCTYPE(ViStatus, ViSession, ViEventType, ViEvent, user_handle_p)
      library.viInstallHandler.argtypes = [ViSession, ViEventType, ViHndlr, user_handle_p]
      library.viUninstallHandler.argtypes = [ViSession, ViEventType, ViHndlr, user_handle_p]
docs: Set the type of the user handle to install and uninstall handler signature.
  
      :param library: the visa library wrapped by ctypes.
      :param user_handle: use None for a void_p