code: def attach_host_pci_device(self, host_address, desired_guest_address, try_to_unbind):
          
          if not isinstance(host_address, baseinteger):
              raise TypeError("host_address can only be an instance of type baseinteger")
          if not isinstance(desired_guest_address, baseinteger):
              raise TypeError("desired_guest_address can only be an instance of type baseinteger")
          if not isinstance(try_to_unbind, bool):
              raise TypeError("try_to_unbind can only be an instance of type bool")
          self._call("attachHostPCIDevice",
                       in_p=[host_address, desired_guest_address, try_to_unbind])
docs: Attaches host PCI device with the given (host) PCI address to the
          PCI bus of the virtual machine. Please note, that this operation
          is two phase, as real attachment will happen when VM will start,
          and most information will be delivered as IHostPCIDevicePlugEvent
          on IVirtualBox event source.
          
          :py:class:`IHostPCIDevicePlugEvent` 
  
          in host_address of type int
              Address of the host PCI device.
  
          in desired_guest_address of type int
              Desired position of this device on guest PCI bus.
  
          in try_to_unbind of type bool
              If VMM shall try to unbind existing drivers from the
              device before attaching it to the guest.
  
          raises :class:`VBoxErrorInvalidVmState`
              Virtual machine state is not stopped (PCI hotplug not yet implemented).
          
          raises :class:`VBoxErrorPdmError`
              Virtual machine does not have a PCI controller allowing attachment of physical devices.
          
          raises :class:`VBoxErrorNotSupported`
              Hardware or host OS doesn't allow PCI device passthrough.