Состояние компонента пользовательского порта
Платформа 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
Дополнительные сведения о том, как расширения расширяемых коммутаторов управляют сведениями о состоянии функции порта, см. в разделе Управление сведениями о состоянии компонента пользовательского порта.