共用方式為


自定義交換器功能狀態

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

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