IVMVirtualPC::SetConfigurationValue method

Windows Virtual PC

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

Sets the value of the specified configuration setting.

Syntax


HRESULT SetConfigurationValue(
  [in] BSTR    preferenceKey,
  [in] VARIANT preferenceValue
);

Parameters

preferenceKey [in]

The key used to identify the preference, as stored in the per-user configuration file (Options.xml in "%LocalAppData%\Microsoft\Windows Virtual PC").

Important  Changes should be made to Options.xml only using the SetConfigurationValue method. Changing Options.xml using any other method is not supported.
 
preferenceValue [in]

The preference value. This value may be one of the following VARIANT types: VT_ARRAY|VT_UI1 (raw bytes), VT_BSTR (string), VT_UI4 (integer), or VT_BOOL (Boolean).

Return value

This method can return one of these values.

Return code/valueDescription
S_OK
0

The operation was successful.

E_POINTER
0x80004003

The preferenceKey or preferenceValue parameter is NULL.

E_INVALIDARG
0x80000003

The preferenceKey parameter is not valid or is an empty string.

DISP_E_EXCEPTION
0x80020009

An unexpected error has occurred.

E_ACCESSDENIED
0x80070005

The current user has insufficient access to the configuration file.

VM_E_HARDWARE_VIRTUALIZATION_DISABLED
0xA0040951

The processor does not support Hardware Accelerated Virtualization (HAV) extensions.

 

Remarks

The following values are supported for the preferenceKey parameter.

preferenceKey valueDescriptionData typeDefault value

"idle_timeout"

Number of seconds that vpc.exe should wait before exiting if there are no active VMs or applications using the Windows Virtual PC Interfaces.

"integer"

"30"

 

This method provides low-level access to any configuration value. It can be used to set configuration values for customer-defined keys. Be careful if you use this method to set system configuration values, because no error checking is performed on the configuration value. Also, some configuration values cannot be changed while a virtual machine is running.

Configuration keys are located in the virtual machine's "Options.xml" file in XML format. The keys are stored in a hierarchical manner similar to the registry keys in Windows. To specify a specific subkey, a "key path" is constructed which specifies the various keys in a slash mark–delimited format.

For example, to set the value of the "idle_timeout" key located in the following key tree:

<preferences>
  <idle_timeout type="integer">60</idle_timeout>

The preferenceKey path string would be specified as follows:

"idle_timeout"

If any of the keys in the desired tree have an "id" attribute value, the attribute and its value is embedded in the preferenceKey path string immediately after its associated configuration key using the following bracketed format: "[@id="id_value"]".

For example, to set the value of the "golf" key located in the following key tree:

<preferences>
  <alpha>
    <bravo>
      <charlie>
        <delta id="1">
          <echo id="0">
            <foxtrot>
              <golf type="string">D</golf>

The preferenceKey path string would be specified as follows:

"alpha/bravo/charlie/delta[@id=1]/echo[@id=0]/foxtrot/golf"

Requirements

Minimum supported client

Windows 7 [desktop apps only]

Minimum supported server

None supported

End of client support

Windows 7

Product

Windows Virtual PC

Header

VPCCOMInterfaces.h

IID

IID_IVMVirtualPC is defined as 236ba0d9-a24a-4292-a132-27c1421dfd01

See also

IVMVirtualPC
IVMVirtualMachine::SetConfigurationValue

 

 

Community Additions

ADD
Show: