IVMVirtualMachine::GetConfigurationValue method

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

Retrieves the value of the specified configuration setting for this virtual machine.

Syntax

HRESULT GetConfigurationValue(
  [in]          BSTR    configurationKey,
  [out, retval] VARIANT *configurationValue
);

Parameters

configurationKey [in]

The key used to identify the configuration value as stored in the "*.vmc" file.

configurationValue [out, retval]

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

Return value

This method can return one of these values.

Return code/value Description
S_OK
0
The operation was successful.
E_INVALIDARG
0x80000003
The configurationKey parameter is NULL or empty.
E_POINTER
0x80004003
The configurationValue parameter is NULL.
VM_E_VM_UNKNOWN
0xA0040207
The configuration is unknown.
VM_E_PREF_NOT_FOUND
0xA0040300
The preference was not found.
DISP_E_EXCEPTION
0x80020009
An unexpected error has occurred.

Remarks

This method provides low-level access to any configuration value. It can be used to read configuration values for customer-defined keys.

Configuration keys are located in the virtual machine's "*.vmc" 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 read the value of the "ram_size" key located in the following key tree:

<hardware>
    <memory>
        <ram_size type="integer">128</ram_size>

The configurationKey path string would be specified as follows:

"hardware/memory/ram_size"

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

For example, to read the value of the "absolute" key located in the following key tree:

<hardware>
    <pci_bus>
        <ide_adapter>
            <ide_controller id="1">
                <location id="0">
                    <pathname>
                        <absolute type="string">D</absolute>

The configurationKey path string would be specified as follows:

"hardware/pci_bus/ide_adapter/ide_controller[@id=1]/location[@id=0]/pathname/absolute"

Requirements

Requirement Value
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_IVMVirtualMachine is defined as f7092aa1-33ed-4f78-a59f-c00adfc2edd7

See also

IVMVirtualMachine