Поделиться через


Состояние компонента пользовательского порта

Платформа Hyper-V и интерфейс расширяемого коммутатора Hyper-V предоставляют инфраструктуру для получения пользовательских сведений о состоянии порта расширяемого коммутатора. Эти сведения называются сведениями о состоянии функции порта .

Определения состояния настраиваемых компонентов для свойства порта расширяемого коммутатора Hyper-V регистрируются на уровне управления WMI с помощью определений классов формата управляемых объектов (MOF). Помимо элементов структуры, определяющих атрибуты определения состояния пользовательского компонента порта, класс MOF также должен содержать следующие компоненты:

  • UUID, который однозначно идентифицирует определение состояния пользовательского компонента порта.

  • ИДЕНТИФИКАТОР GUID, который однозначно идентифицирует расширение расширяемого коммутатора. Этот GUID объявляется как квалификатор ExtensionId класса MOF и должен соответствовать значению записи NetCfgInstanceId , объявленной в INF-файле расширения.

  • Строка описательного имени класса. Имя поставщика должно быть включено в строку.

Ниже показан пример класса 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 для определения пользовательского состояния компонента порта регистрируются в репозитории CIM с помощью компилятора MOF (Mofcomp.exe). После регистрации класс MOF можно настроить с помощью командлетов PowerShell и программ приложений на основе WMI.

В следующем примере показаны команды, которые необходимо ввести для регистрации файла (Fabrikam_CustomPortData.mof), содержащего класс MOF для определения состояния пользовательского компонента порта.

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

Дополнительные сведения об использовании MOF-компилятора см. в разделе Компиляция MOF-файла драйвера.

В следующем примере показано, как можно использовать определение состояния пользовательской функции порта для получения данных о портах. В этом примере класс MOF Fabrikam_CustomPortData используется для получения состояния порта из раздела Hyper-V с именем "TestVm". Расширение 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

Дополнительные сведения о том, как расширения расширяемых коммутаторов управляют сведениями о состоянии функции порта, см. в разделе Управление сведениями о состоянии компонента пользовательского порта.