DefineSystem method of the Msvm_VirtualSystemManagementService class

Creates a new virtual machine instance. Properties that are not specified will be populated with default values.


uint32 DefineSystem(
  [in]  string                           SystemSettings,
  [in]  string                           ResourceSettings[],
  [in]  CIM_VirtualSystemSettingData REF ReferenceConfiguration,
  [out] CIM_ComputerSystem           REF ResultingSystem,
  [out] CIM_ConcreteJob              REF Job


SystemSettings [in]

Type: string

An embedded instance of the Msvm_VirtualSystemSettingData class that is used to define the attributes of the virtual machine to be created. This parameter is required.

ResourceSettings [in]

Type: string[]

A number of embedded instances of the Msvm_ResourceAllocationSettingData class (or derived classes thereof). Together these instances describe the virtual resources of the virtual machine. A default set of devices will be created for the virtual machine regardless of whether this parameter is set. For example, processor and memory are automatically created and configured with default values.

ReferenceConfiguration [in]

Type: CIM_VirtualSystemSettingData

A reference to an instance of the Msvm_VirtualSystemSettingData class that is the top level object of a reference virtual machine configuration. The reference configuration is used to complement the configuration of the new virtual machine if the SystemSettings and ResourceSettings parameters did not provide respective information.

ResultingSystem [out]

Type: CIM_ComputerSystem

A reference to an instance of the CIM_ComputerSystem class that represents the newly created virtual machine.

Job [out]

Type: CIM_ConcreteJob

If the operation is performed asynchronously, this method will return 4096, and this parameter will contain a reference to an object derived from CIM_ConcreteJob.

Return value

Type: uint32

If this method is executed synchronously, it returns 0 if it succeeds. If this method is executed asynchronously, it returns 4096 and the Job output parameter can be used to track the progress of the asynchronous operation. Any other return value indicates an error.

Completed with No Error (0)

Not Supported (1)

Failed (2)

Timeout (3)

Invalid Parameter (4)

DMTF Reserved (..)

Method Parameters Checked - Job Started (4096)

Method Reserved (4097..32767)

Vendor Specific (32768..65535)


Access to the Msvm_VirtualSystemManagementService class might be restricted by UAC Filtering. For more information, see User Account Control and WMI.


Requirement Value
Minimum supported client
Windows 8 [desktop apps only]
Minimum supported server
Windows Server 2012 [desktop apps only]

See also