code: def nvmlDeviceGetDriverModel(handle):
      r
      c_currModel = _nvmlDriverModel_t()
      c_pendingModel = _nvmlDriverModel_t()
      fn = _nvmlGetFunctionPointer("nvmlDeviceGetDriverModel")
      ret = fn(handle, byref(c_currModel), byref(c_pendingModel))
      _nvmlCheckReturn(ret)
      return [c_currModel.value, c_pendingModel.value]
docs: r"""
      /**
       * Retrieves the current and pending driver model for the device.
       *
       * For Fermi &tm; or newer fully supported devices.
       * For windows only.
       *
       * On Windows platforms the device driver can run in either WDDM or WDM (TCC) mode. If a display is attached
       * to the device it must run in WDDM mode. TCC mode is preferred if a display is not attached.
       *
       * See \ref nvmlDriverModel_t for details on available driver models.
       *
       * @param device                               The identifier of the target device
       * @param current                              Reference in which to return the current driver model
       * @param pending                              Reference in which to return the pending driver model
       *
       * @return
       *         - \ref NVML_SUCCESS                 if either \a current and/or \a pending have been set
       *         - \ref NVML_ERROR_UNINITIALIZED     if the library has not been successfully initialized
       *         - \ref NVML_ERROR_INVALID_ARGUMENT  if \a device is invalid or both \a current and \a pending are NULL
       *         - \ref NVML_ERROR_NOT_SUPPORTED     if the platform is not windows
       *         - \ref NVML_ERROR_GPU_IS_LOST       if the target GPU has fallen off the bus or is otherwise inaccessible
       *         - \ref NVML_ERROR_UNKNOWN           on any unexpected error
       *
       * @see nvmlDeviceSetDriverModel()
       */
      nvmlReturn_t DECLDIR nvmlDeviceGetDriverModel