# Data Object - VirtualMachineVMCIDevice(vim.vm.device.VirtualVMCIDevice)

Extends
  VirtualDevice
See also
  VirtualMachineVMCIDeviceFilterInfo
Since
  vSphere API 4.0

## Data Object Description

The VirtualMachineVMCIDevice data object represents a virtual communication device that supports the VMCI (Virtual Machine Communication Interface). Each virtual machine has a VMCI device that handles interprocess socket-based communication. VMCI device information is available in the virtual machine hardware device list (VirtualMachine.Config.hardware.device[]).

An application running on a virtual machine uses the VMCI Sockets API for communication with other virtual machines on the same host (communication between virtual machines is not supported on vSphere 5.1 and later platforms as described for VirtualVMCIDevice.allowUnrestrictedCommunication), or for communication with the host. For information about using the vSphere VMCI Sockets API, see the VMCI Sockets Programming Guide.

Properties

Name | Type | Description
--- | --- | ---
allowUnrestrictedCommunication* | xsd:boolean | Deprecated. As of vSphere API 5.1. On vSphere 5.1 and later platforms, the VMCI device does not support communication with other virtual machines. Therefore, this property has no effect on these platforms. Determines the extent of VMCI communication with this virtual machine. Set this property to true to allow VMCI communication with all virtual machines on the host and with trusted services. Set this property to false to allow VMCI communication only with trusted services such as the hypervisor on the host. If unset, communication is restricted to trusted services only.
filterEnable* | xsd:boolean | Determines if filtering of VMCI communication is enabled for this virtual machine. Set this property to enable or disable filter rules as specified in filterInfo. Since vSphere API 6.0
filterInfo* | VirtualMachineVMCIDeviceFilterInfo | Specify a FilterInfo data object that controls the extent of VMCI communication with this virtual machine. Since vSphere API 6.0
id* | xsd:long | Unique identifier for VMCI socket access to this virtual machine. Use this value to identify this virtual machine in calls to the VMCI Sockets API. Applications running on other virtual machines on this host will use this value to connect to this virtual machine. You can cast this value to a 32-bit unsigned integer. The vSphere Server sets this value when a virtual machine powers on. The Server may change this value after power operations such as vMotion or restoring a virtual machine from a snapshot. If you have saved a VMCI device identifier, check to see if the value is still valid after power operations.
Properties inherited from VirtualDevice
backing, connectable, controllerKey, deviceInfo, key, slotInfo, unitNumber
Properties inherited from DynamicData
None

*Need not be set
Show WSDL type definition
<complexType xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vsan="urn:vsan" name="VirtualMachineVMCIDevice"> <complexContent> <extension base="vsan:VirtualDevice"> <sequence> <element name="id" type="xsd:long" minOccurs="0"/> <element name="allowUnrestrictedCommunication" type="xsd:boolean" minOccurs="0"/> <element name="filterEnable" type="xsd:boolean" minOccurs="0"/> <element name="filterInfo" type="vsan:VirtualMachineVMCIDeviceFilterInfo" minOccurs="0"/> </sequence> </extension> </complexContent> </complexType>