VMware's hypercall interface uses I/O port knocking, which is used by unprivileged instructions inl/outl and inw/outw (thusly OpenVZ cannot trap them).
VMware hypercall 11 allows enumeration of the device tree, you call it and get back 4 bytes of a device table entry at a specified offset. There are a maximum of 50 devices which may be connected to a VM within VMware.
VMware hypercall 12 allows connection/disconnection of a device tree element. If you're on a vSphere hypervisor, then you're safe from this as they disabled hypercalls 11/12. On Workstation though, it is possible to disconnect the disks through hypercall 12.
https://sites.google.com/site/chitchatvmback/backdoor is a listing of known hypercalls. There's also the open-vm-tools source code, but trying to read that was ultimately a major waste of my time.