次の方法で共有


IVMVirtualMachine::GetConfigurationValue メソッド

[Windows Virtual PC は、Windows 8の時点で使用できなくなります。 代わりに、 Hyper-V WMI プロバイダー (V2)を使用します。

この仮想マシンの指定した構成設定の値を取得します。

構文

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

パラメーター

configurationKey [in]

"*.vmc" ファイルに格納されている構成値を識別するために使用されるキー。

configurationValue [out, retval]

構成値。 この値には、VT_ARRAY VT_UI1(生バイト)、VT_BSTR| (文字列)、VT_I4 (整数)、またはVT_BOOL (ブール値) のいずれかの VARIANT 型を指定できます。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード/値 説明
S_OK
0
操作に成功しました。
E_INVALIDARG
0x80000003
configurationKey パラメーターが NULL または空です。
E_POINTER
0x80004003
configurationValue パラメーターが NULL です
VM_E_VM_UNKNOWN
0xA0040207
構成が不明です。
VM_E_PREF_NOT_FOUND
0xA0040300
設定が見つかりませんでした。
DISP_E_EXCEPTION
0x80020009
予期しないエラーが発生しました。

解説

このメソッドは、任意の構成値に対する低レベルのアクセスを提供します。 これは、顧客定義キーの構成値を読み取るために使用できます。

構成キーは、仮想マシンの "*.vmc" ファイルに XML 形式で配置されます。 キーは、Windows のレジストリ キーと同様の階層的な方法で格納されます。 特定のサブキーを指定するために、さまざまなキーをスラッシュで区切られた形式で指定する "キー パス" が構築されます。

たとえば、次のキー ツリーにある "ram_size" キーの値を読み取ります。

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

configurationKey パス文字列は、次のように指定します。

"hardware/memory/ram_size"

目的のツリー内のいずれかのキーに "id" 属性値がある場合、属性とその値は、関連付けられている構成キーの直後に、かっこで囲まれた形式 "[@id="id_value"] を使用して configurationKey パス文字列に埋め込まれます。

たとえば、次のキー ツリーにある "absolute" キーの値を読み取ります。

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

configurationKey パス文字列は、次のように指定します。

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

必要条件

要件
サポートされている最小のクライアント
Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー
サポートなし
クライアント サポートの終了
Windows 7
製品
Windows Virtual PC
Header
VPCCOMInterfaces.h
IID
IID_IVMVirtualMachineは f7092aa1-33ed-4f78-a59f-c00adfc2edd7 として定義されています

関連項目

IVMVirtualMachine