code: def unload(self):
          
          unloaded = False
  
          if self._lib is not None:
              if self._winlib is not None:
                  # ctypes passes integers as 32-bit C integer types, which will
                  # truncate the value of a 64-bit pointer in 64-bit python, so
                  # we have to change the FreeLibrary method to take a pointer
                  # instead of an integer handle.
                  ctypes.windll.kernel32.FreeLibrary.argtypes = (
                      ctypes.c_void_p,
                  )
  
                  # On Windows we must free both loaded libraries before the
                  # temporary file can be cleaned up.
                  ctypes.windll.kernel32.FreeLibrary(self._lib._handle)
                  ctypes.windll.kernel32.FreeLibrary(self._winlib._handle)
  
                  self._lib = None
                  self._winlib = None
  
                  unloaded = True
              else:
                  # On OSX and Linux, just release the library; it's not safe
                  # to close a dll that ctypes is using.
                  del self._lib
                  self._lib = None
                  unloaded = True
  
          if self._temp is not None:
              os.remove(self._temp.name)
              self._temp = None
  
          return unloaded
docs: Unloads the library's DLL if it has been loaded.
  
          This additionally cleans up the temporary DLL file that was created
          when the library was loaded.
  
          Args:
            self (Library): the ``Library`` instance
  
          Returns:
            ``True`` if the DLL was unloaded, otherwise ``False``.