次の方法で共有


カスタム スイッチ機能の状態

Hyper-V プラットフォームと Hyper-V 拡張可能スイッチ インターフェイスは、拡張可能スイッチのカスタム状態情報を取得するためのインフラストラクチャを提供します。 この状態情報は、 スイッチ機能ステータス 情報と呼ばれます。

カスタム スイッチ機能の状態定義は、マネージド オブジェクト形式 (MOF) クラス定義を使用して WMI 管理レイヤーに登録されます。 カスタム スイッチ機能の状態定義の属性を定義する構造体メンバーに加えて、MOF クラスには次のものも含まれている必要があります。

  • カスタム スイッチ機能ステータス定義を一意に識別する UUID。

  • 拡張可能なスイッチ拡張機能を一意に識別する GUID。 この GUID は MOF クラスの ExtensionId 修飾子として宣言されており、拡張機能の INF ファイルで宣言されている NetCfgInstanceId エントリの値と一致する必要があります。

  • わかりやすいクラス名の文字列。 ベンダーの名前を文字列に含める必要があります。

拡張可能スイッチのカスタム機能状態定義の MOF クラスの例を次に示します。

#pragma namespace("\\\\.\\root\\virtualization\\v2")

[ Dynamic,
  UUID("B3E57D77-8E95-4977-97DE-524F8DAF03E4"),
  ExtensionId("5CBF81BE-5055-47CD-9055-A76B2B4E369E"), 
  Provider("VmmsWmiInstanceAndMethodProvider"), 
  InterfaceVersion("1"),
  InterfaceRevison("0"),
  Locale(0x409),
  Description(
   "Fabricam, Inc. Switch custom feature status description.") : Amended,
  DisplayName("Fabricam, Inc. Switch custom feature status friendly name.") : Amended]
class Fabrikam_CustomSwitchData  : Msvm_EthernetSwitchFeatureSettingData{
    [ Read,
       Write,
       WmiDataId(1),
       InterfaceVersion("1"),
       InterfaceRevision("0"),
       Description(
         "The current status of custom feature on this switch.") : Amended]
     uint32 CurrentStatus = 0 ;
};

拡張可能スイッチのカスタム機能状態定義の MOF クラスは、MOF コンパイラ (Mofcomp.exe) を使用して Common Information Model (CIM) リポジトリに登録されます。 登録後、MOF クラスは PowerShell コマンドレットと WMI ベースのアプリケーション プログラムを使用して構成できます。

次の例は、カスタム スイッチ機能の状態定義の MOF クラスを含むファイル (Fabrikam_CustomSwitchData.mof) を登録するために入力する必要があるコマンドを示しています。

net stop vmms
mofcomp -N:root\virtualization\v2 Fabrikam_CustomSwitchData.mof
net start vmms

MOF コンパイラの使用方法の詳細については、「ドライバーの MOF ファイルのコンパイル」を参照してください

次の例は、カスタム スイッチ機能ステータス定義を使用してスイッチ データを取得する方法を示しています。 この例では、Fabrikam_CustomSwitchData MOF クラスを使用して、"TestSwitch" という名前のスイッチからスイッチの状態を取得します。 Fabrikam, Inc. 拡張機能は vSwitch "TestSwitch" で有効になっており、状態として 123 を返します。

PS C:\> $switchData = Get-VMSwitchExtensionSwitchData -SwitchName TestSwitch -FeatureId B3E57D77-8E95-4977-97DE-524F8DAF03E4
# Output the current value
PS C:\> $switchData$customSwitchData.Data.CurrentStatus
123

拡張可能スイッチ拡張機能がスイッチ機能のステータス情報を管理する方法の詳細については、カスタム スイッチ機能のステータス情報の管理を参照してください。