Windows Virtual PC Interfaces

[Windows Virtual PC is no longer available for use as of Windows 8. Instead, use the Hyper-V WMI provider (V2).]

The following interfaces are supported by Windows Virtual PC.

Interface Description
IVMAccountant
Provides access to accounting-related information for a virtual machine (VM).
IVMDisplay
Controls the display settings of a VM.
IVMDVDDrive
Controls a CD-ROM or DVD-ROM drive within a VM.
IVMDVDDriveCollection
Defines the collection of CD and DVD drives within the VM.
IVMDVDDriveEvents
Defines the outgoing event interface for the IVMDVDDrive interface.
IVMFloppyDrive
Controls a floppy drive within a VM.
IVMFloppyDriveCollection
Defines a collection of floppy drives within the VM.
IVMFloppyDriveEvents
Defines the outgoing event interface for the IVMFloppyDrive interface.
IVMGuestOS
Defines the guest operating system running inside a VM.
IVMHardDisk
Provides access to a hard disk image.
IVMHardDiskConnection
Defines the connection for a hard disk within the VM.
IVMHardDiskConnectionCollection
Defines the collection of hard disk connections within the VM.
IVMHostInfo
Retrieves information about the host machine.
IVMKeyboard
Controls the keyboard device within a VM.
IVMMouse
Controls the mouse device within a VM.
IVMNetworkAdapter
Serves as the interface to a virtual network interface card (NIC) within a VM.
IVMNetworkAdapterCollection
Defines a collection of virtual NICs within a VM.
IVMParallelPort
Defines a parallel port inside a VM.
IVMParallelPortCollection
Defines the collection of parallel ports within the VM.
IVMSerialPort
Defines a serial port inside a VM.
IVMSerialPortCollection
Defines the collection of serial ports within the VM.
IVMTask
Used to monitor and control asynchronous tasks for various methods.
IVMTaskCollection
Defines the collection of task objects within a VM.
IVMUSBDevice
Defines the interface for a USB device attached to the host system.
IVMUSBDeviceCollection
Defines the collection of USB devices attached to the host system.
IVMVirtualMachine
Defines the interface for a VM.
IVMVirtualMachineCollection
Defines the collection of VMs within Windows Virtual PC.
IVMVirtualMachineEvents
Defines the outgoing event interface for the IVMVirtualMachine interface.
IVMVirtualNetwork
Defines a virtual network.
IVMVirtualNetworkCollection
Defines a collection of IVMVirtualNetwork objects.
IVMVirtualPC
Defines the top-level Windows Virtual PC application object.
IVMVirtualPCEvents
Defines the outgoing event interface for the IVMVirtualPC interface.

Note for developers on 64-bit Windows

On 64-bit editions of Windows, the type library for Windows Virtual PC is in a 64-bit binary (VPC.exe) in the %WinDir%\System32 directory. That directory is not visible by default to 32-bit processes; WOW64 maps all access to the %WinDir%\System32 directory to the %WinDir%\SysWOW64 directory by default. Visual Studio is a 32-bit binary and therefore cannot open the file in this location. To generate an interoperability assembly for Windows Virtual PC, use TlbImp.exe, which comes with Visual Studio and the Windows SDK. To generate Microsoft.VirtualPC.Interop.dll, use the following command line:

**TlbImp.exe /out:**Microsoft.VirtualPC.Interop.dll /namespace:Microsoft.VirtualPC.Interop %WinDir%\System32\VPC.exe

Other solutions include copying VPC.exe to a different directory where the compiler can find it, or using the OleView.exe tool from the Windows SDK to extract an .idl file from the type library in VPC.exe.