Hyper-V プラットフォームと Hyper-V 拡張可能スイッチ インターフェイスは、拡張可能スイッチ ポートのカスタム状態情報を取得するためのインフラストラクチャを提供します。 この情報は、「ポート機能の状態情報」として知られています。
Hyper-V 拡張可能スイッチ ポート プロパティのカスタム機能状態定義は、マネージド オブジェクト形式 (MOF) クラス定義を使用して WMI 管理レイヤーに登録されます。 カスタム ポート機能の状態定義の属性を定義する構造体メンバーに加えて、MOF クラスには次のものが含まれている必要があります。
カスタム ポート機能の状態定義を一意に識別する UUID。
拡張可能スイッチ拡張機能を一意に識別する GUID。 この GUID は、MOF クラスの ExtensionId 修飾子として宣言され、拡張機能の INF ファイルで宣言されている NetCfgInstanceId エントリの値と一致する必要があります。
説明的なクラス名の文字列。 ベンダーの名前は文字列に含まれている必要があります。
拡張可能スイッチ ポートのカスタム機能状態定義の MOF クラスの例を次に示します。
#pragma namespace("\\\\.\\root\\virtualization\\v2")
[ Dynamic,
UUID("DAA0B7CC-74DB-41ef-8354-7002F9FA463E"),
ExtensionId("5CBF81BE-5055-47CD-9055-A76B2B4E369E"),
Provider("VmmsWmiInstanceAndMethodProvider"),
InterfaceVersion("1"),
InterfaceRevison("0"),
Locale(0x409),
Description("Fabricam, Inc. port custom feature status description.") : Amended,
DisplayName("Fabricam, Inc.port custom feature status friendly name.") : Amended]
class Fabrikam_CustomPortData : Msvm_EthernetPortData {
[ Read,
Write,
WmiDataId(1),
InterfaceVersion("1"),
InterfaceRevision("0"),
Description(
"The current status of custom feature on this port.") : Amended]
uint32 CurrentStatus = 0 ;
};
ポートのカスタム機能状態定義の MOF クラスは、MOF コンパイラ (Mofcomp.exe) を使用して共通情報モデル (CIM) リポジトリに登録されます。 登録した MOF クラスは、PowerShell コマンドレットと WMI ベースのアプリケーション プログラムを使用して構成できます。
次の例は、カスタム ポート機能の状態定義の MOF クラスを含むファイル (Fabrikam_CustomPortData.mof) を登録するために入力する必要があるコマンドを示しています。
net stop vmms
mofcomp -N:root\virtualization\v2 Fabrikam_CustomPortData.mof
net start vmms
MOF コンパイラの使用方法の詳細については、「ドライバーの MOF ファイルのコンパイル」を参照してください。
次の例は、カスタム ポート機能の状態定義を使用してポート データを取得する方法を示しています。 この例では、Fabrikam_CustomPortData MOF クラスを使用して、"TestVm" という名前の Hyper-V パーティションからポートの状態を取得します。 Fabrikam, Inc. 拡張機能は、vSwitch "TestSwitch" で有効になっており、状態に対して 123 を返します。
PS C:\> $portData = Get-VMSwitchExtensionPortData -VmName TestVm -FeatureId DAA0B7CC-74DB-41ef-8354-7002F9FA463E
# Output the current value
PS C:\> $portData.Data.CurrentStatus
123
拡張可能スイッチ拡張機能でポート機能の状態情報を管理する方法の詳細については、「カスタム ポート機能ステータス情報の管理を参照してください。