共用方式為


自訂埠功能狀態

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

Hyper-V 可延伸交換器埠屬性的自訂功能狀態定義會使用 Managed 物件格式向 WMI 管理層註冊, (MOF) 類別定義。 除了定義自訂埠功能狀態定義的屬性的結構成員之外,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) 存放庫的通用資訊 (模型中註冊。 註冊之後,可以透過 PowerShell Cmdlet 和 WMI 型應用程式來設定 MOF 類別。

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

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