自訂交換器功能狀態

Hyper-V 平臺和 Hyper-V 可延伸交換器介面提供基礎結構,以取得可延伸交換器的自訂狀態資訊。 這項資訊稱為 切換功能狀態 資訊。

自訂交換器功能狀態定義會使用 Managed 物件格式 (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) ,在 CIM) (存放庫中註冊。 註冊之後,可以透過 PowerShell Cmdlet 和 WMI 型應用程式來設定 MOF 類別。

下列範例顯示必須輸入的命令,才能註冊包含自訂參數功能狀態定義的 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

如需可延伸交換器延伸模組如何管理交換器功能狀態資訊的詳細資訊,請參閱 管理自訂交換器功能狀態資訊