/* Generated by hyperv_wmi_generator.py */



/****************************************************
 * CIM_DataFile
 */
SER_START_ITEMS(CIM_DataFile_Data)
    SER_NS_UINT32(CIM_DATAFILE_RESOURCE_URI, "AccessMask", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "Archive", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Caption", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "Compressed", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "CompressionMethod", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "CreationDate", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "CSCreationClassName", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "CSName", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Description", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Drive", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "EightDotThreeFileName", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "Encrypted", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "EncryptionMethod", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Extension", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "FileName", 1),
    SER_NS_UINT64(CIM_DATAFILE_RESOURCE_URI, "FileSize", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "FileType", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "FSCreationClassName", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "FSName", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "Hidden", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT64(CIM_DATAFILE_RESOURCE_URI, "InUseCount", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "LastAccessed", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "LastModified", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Manufacturer", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Name", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Path", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "Readable", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Status", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "System", 1),
    SER_NS_STR(CIM_DATAFILE_RESOURCE_URI, "Version", 1),
    SER_NS_BOOL(CIM_DATAFILE_RESOURCE_URI, "Writeable", 1),
SER_END_ITEMS(CIM_DataFile_Data);

hypervWmiClassInfoListPtr CIM_DataFile_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = CIM_DATAFILE_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_CIMV2,
            .resourceUri = CIM_DATAFILE_RESOURCE_URI,
            .serializerInfo = CIM_DataFile_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_AllocationCapabilities
 */
SER_START_ITEMS(Msvm_AllocationCapabilities_Data)
    SER_NS_STR(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_UINT16(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "RequestTypesSupported", 1),
    SER_NS_STR(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_UINT16(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "ResourceType", 1),
    SER_NS_UINT16(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "SharingMode", 1),
    SER_NS_DYN_ARRAY(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "SupportedAddStates", 0, 0, uint16),
    SER_NS_DYN_ARRAY(MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI, "SupportedRemoveStates", 0, 0, uint16),
SER_END_ITEMS(Msvm_AllocationCapabilities_Data);

hypervWmiClassInfoListPtr Msvm_AllocationCapabilities_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_ALLOCATIONCAPABILITIES_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_ALLOCATIONCAPABILITIES_RESOURCE_URI,
            .serializerInfo = Msvm_AllocationCapabilities_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_ComputerSystem
 */
SER_START_ITEMS(Msvm_ComputerSystem_v1_Data)
    SER_NS_UINT32(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "ProcessID", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "TimeOfLastConfigurationChange", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "EnabledState", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "Dedicated", 0, 0, uint16),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "InstallDate", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "PowerManagementCapabilities", 0, 0, uint16),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "ElementName", 1),
    SER_NS_UINT64(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "OnTimeInMilliseconds", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "Name", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "ResetCapability", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "NameFormat", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "OtherEnabledState", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "Roles", 0, 0, string),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "Caption", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "OtherIdentifyingInfo", 0, 0, string),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "PrimaryOwnerContact", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "RequestedState", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "Status", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "EnabledDefault", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "HealthState", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "IdentifyingDescriptions", 0, 0, string),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "OtherDedicatedDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "PrimaryOwnerName", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI, "AssignedNumaNodeList", 0, 0, uint16),
SER_END_ITEMS(Msvm_ComputerSystem_v1_Data);

SER_START_ITEMS(Msvm_ComputerSystem_v2_Data)
    SER_NS_UINT32(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "ProcessID", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "TimeOfLastConfigurationChange", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "EnabledState", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "Dedicated", 0, 0, uint16),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "InstallDate", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "PowerManagementCapabilities", 0, 0, uint16),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "ElementName", 1),
    SER_NS_UINT64(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "OnTimeInMilliseconds", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "Name", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "ResetCapability", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "NameFormat", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "OtherEnabledState", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "Roles", 0, 0, string),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "Caption", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "OtherIdentifyingInfo", 0, 0, string),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "PrimaryOwnerContact", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "RequestedState", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "Status", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "EnabledDefault", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "HealthState", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "IdentifyingDescriptions", 0, 0, string),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "OtherDedicatedDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "PrimaryOwnerName", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "CommunicationStatus", 1),
    SER_NS_DYN_ARRAY(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "AvailableRequestedStates", 0, 0, uint16),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "DetailedStatus", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "TransitioningToState", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "OperatingStatus", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "InstanceID", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "PrimaryStatus", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "NumberOfNumaNodes", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "ReplicationState", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "ReplicationHealth", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "ReplicationMode", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "FailedOverReplicationType", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "LastReplicationType", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "LastApplicationConsistentReplicationTime", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "LastReplicationTime", 1),
    SER_NS_STR(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "LastSuccessfulBackupTime", 1),
    SER_NS_UINT16(MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI, "EnhancedSessionModeState", 1),
SER_END_ITEMS(Msvm_ComputerSystem_v2_Data);

hypervWmiClassInfoListPtr Msvm_ComputerSystem_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 2,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_COMPUTERSYSTEM_CLASSNAME,
            .version = "v1",
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_COMPUTERSYSTEM_V1_RESOURCE_URI,
            .serializerInfo = Msvm_ComputerSystem_v1_Data_TypeInfo
        },
        &(hypervWmiClassInfo) {
            .name = MSVM_COMPUTERSYSTEM_CLASSNAME,
            .version = "v2",
            .rootUri = ROOT_VIRTUALIZATION_V2,
            .resourceUri = MSVM_COMPUTERSYSTEM_V2_RESOURCE_URI,
            .serializerInfo = Msvm_ComputerSystem_v2_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_ConcreteJob
 */
SER_START_ITEMS(Msvm_ConcreteJob_v1_Data)
    SER_NS_UINT8(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "RunMonth", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "TimeBeforeRemoval", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "JobStatus", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "ScheduledStartTime", 1),
    SER_NS_BOOL(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Cancellable", 1),
    SER_NS_UINT32(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "JobRunTimes", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "UntilTime", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "TimeSubmitted", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "JobState", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "LocalOrUtcTime", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "RecoveryAction", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "PercentComplete", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT32(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Priority", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Name", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "HealthState", 1),
    SER_NS_BOOL(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "DeleteOnCompletion", 1),
    SER_NS_DYN_ARRAY(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "ErrorCode", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Notify", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Owner", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "ErrorSummaryDescription", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "Status", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "ErrorDescription", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "ElapsedTime", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "OtherRecoveryAction", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "RunStartInterval", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "StartTime", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "ElementName", 1),
    SER_NS_DYN_ARRAY(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_INT8(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "RunDay", 1),
    SER_NS_INT8(MSVM_CONCRETEJOB_V1_RESOURCE_URI, "RunDayOfWeek", 1),
SER_END_ITEMS(Msvm_ConcreteJob_v1_Data);

SER_START_ITEMS(Msvm_ConcreteJob_v2_Data)
    SER_NS_UINT8(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "RunMonth", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "TimeBeforeRemoval", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "JobStatus", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "ScheduledStartTime", 1),
    SER_NS_BOOL(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Cancellable", 1),
    SER_NS_UINT32(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "JobRunTimes", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "UntilTime", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "TimeSubmitted", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "JobState", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "LocalOrUtcTime", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "RecoveryAction", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "PercentComplete", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT32(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Priority", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Name", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "HealthState", 1),
    SER_NS_BOOL(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "DeleteOnCompletion", 1),
    SER_NS_DYN_ARRAY(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "ErrorCode", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Notify", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Owner", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "ErrorSummaryDescription", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "Status", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "ErrorDescription", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "ElapsedTime", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "OtherRecoveryAction", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "RunStartInterval", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "StartTime", 1),
    SER_NS_STR(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "ElementName", 1),
    SER_NS_DYN_ARRAY(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "CommunicationStatus", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "PrimaryStatus", 1),
    SER_NS_INT8(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "RunDayOfWeek", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "DetailedStatus", 1),
    SER_NS_INT8(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "RunDay", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "OperatingStatus", 1),
    SER_NS_UINT16(MSVM_CONCRETEJOB_V2_RESOURCE_URI, "JobType", 1),
SER_END_ITEMS(Msvm_ConcreteJob_v2_Data);

hypervWmiClassInfoListPtr Msvm_ConcreteJob_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 2,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_CONCRETEJOB_CLASSNAME,
            .version = "v1",
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_CONCRETEJOB_V1_RESOURCE_URI,
            .serializerInfo = Msvm_ConcreteJob_v1_Data_TypeInfo
        },
        &(hypervWmiClassInfo) {
            .name = MSVM_CONCRETEJOB_CLASSNAME,
            .version = "v2",
            .rootUri = ROOT_VIRTUALIZATION_V2,
            .resourceUri = MSVM_CONCRETEJOB_V2_RESOURCE_URI,
            .serializerInfo = Msvm_ConcreteJob_v2_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_MemorySettingData
 */
SER_START_ITEMS(Msvm_MemorySettingData_v1_Data)
    SER_NS_UINT16(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "ConsumerVisibility", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "IsVirtualized", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "DynamicMemoryEnabled", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Description", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "AutomaticDeallocation", 1),
    SER_NS_UINT16(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "MappingBehavior", 1),
    SER_NS_UINT32(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Weight", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "VirtualQuantity", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Address", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Caption", 1),
    SER_NS_DYN_ARRAY(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Connection", 0, 0, string),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "AllocationUnits", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "AutomaticAllocation", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "InstanceID", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Reservation", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "PoolID", 1),
    SER_NS_UINT16(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "ResourceType", 1),
    SER_NS_DYN_ARRAY(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "HostResource", 0, 0, string),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Parent", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "Limit", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "DeviceIDFormat", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI, "DeviceID", 1),
SER_END_ITEMS(Msvm_MemorySettingData_v1_Data);

SER_START_ITEMS(Msvm_MemorySettingData_v2_Data)
    SER_NS_UINT16(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "ConsumerVisibility", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "IsVirtualized", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "DynamicMemoryEnabled", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Description", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "AutomaticDeallocation", 1),
    SER_NS_UINT16(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "MappingBehavior", 1),
    SER_NS_UINT32(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Weight", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "VirtualQuantity", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Address", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Caption", 1),
    SER_NS_DYN_ARRAY(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Connection", 0, 0, string),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "AllocationUnits", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "AutomaticAllocation", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "InstanceID", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Reservation", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "PoolID", 1),
    SER_NS_UINT16(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "ResourceType", 1),
    SER_NS_DYN_ARRAY(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "HostResource", 0, 0, string),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Parent", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "Limit", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "AddressOnParent", 1),
    SER_NS_UINT32(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "TargetMemoryBuffer", 1),
    SER_NS_STR(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "VirtualQuantityUnits", 1),
    SER_NS_BOOL(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "SwapFilesInUse", 1),
    SER_NS_UINT64(MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI, "MaxMemoryBlocksPerNumaNode", 1),
SER_END_ITEMS(Msvm_MemorySettingData_v2_Data);

hypervWmiClassInfoListPtr Msvm_MemorySettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 2,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_MEMORYSETTINGDATA_CLASSNAME,
            .version = "v1",
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_MEMORYSETTINGDATA_V1_RESOURCE_URI,
            .serializerInfo = Msvm_MemorySettingData_v1_Data_TypeInfo
        },
        &(hypervWmiClassInfo) {
            .name = MSVM_MEMORYSETTINGDATA_CLASSNAME,
            .version = "v2",
            .rootUri = ROOT_VIRTUALIZATION_V2,
            .resourceUri = MSVM_MEMORYSETTINGDATA_V2_RESOURCE_URI,
            .serializerInfo = Msvm_MemorySettingData_v2_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_ProcessorSettingData
 */
SER_START_ITEMS(Msvm_ProcessorSettingData_v1_Data)
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "ConsumerVisibility", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "LimitCPUID", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Description", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "AutomaticDeallocation", 1),
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "MappingBehavior", 1),
    SER_NS_UINT32(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Weight", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "VirtualQuantity", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Address", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Caption", 1),
    SER_NS_DYN_ARRAY(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Connection", 0, 0, string),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "AllocationUnits", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "AutomaticAllocation", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "InstanceID", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Reservation", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "PoolID", 1),
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "ResourceType", 1),
    SER_NS_DYN_ARRAY(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "HostResource", 0, 0, string),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Parent", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "Limit", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "ElementName", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "LimitProcessorFeatures", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "DeviceIDFormat", 1),
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "ProcessorsPerSocket", 1),
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "SocketCount", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "ThreadsEnabled", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "IsVirtualized", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI, "DeviceID", 1),
SER_END_ITEMS(Msvm_ProcessorSettingData_v1_Data);

SER_START_ITEMS(Msvm_ProcessorSettingData_v2_Data)
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "ConsumerVisibility", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "LimitCPUID", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Description", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "AutomaticDeallocation", 1),
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "MappingBehavior", 1),
    SER_NS_UINT32(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Weight", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "VirtualQuantity", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Address", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Caption", 1),
    SER_NS_DYN_ARRAY(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Connection", 0, 0, string),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "AllocationUnits", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "AutomaticAllocation", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "InstanceID", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Reservation", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "PoolID", 1),
    SER_NS_UINT16(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "ResourceType", 1),
    SER_NS_DYN_ARRAY(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "HostResource", 0, 0, string),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Parent", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "Limit", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "ElementName", 1),
    SER_NS_BOOL(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "LimitProcessorFeatures", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "AddressOnParent", 1),
    SER_NS_STR(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "VirtualQuantityUnits", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "MaxProcessorsPerNumaNode", 1),
    SER_NS_UINT64(MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI, "MaxNumaNodesPerSocket", 1),
SER_END_ITEMS(Msvm_ProcessorSettingData_v2_Data);

hypervWmiClassInfoListPtr Msvm_ProcessorSettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 2,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_PROCESSORSETTINGDATA_CLASSNAME,
            .version = "v1",
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_PROCESSORSETTINGDATA_V1_RESOURCE_URI,
            .serializerInfo = Msvm_ProcessorSettingData_v1_Data_TypeInfo
        },
        &(hypervWmiClassInfo) {
            .name = MSVM_PROCESSORSETTINGDATA_CLASSNAME,
            .version = "v2",
            .rootUri = ROOT_VIRTUALIZATION_V2,
            .resourceUri = MSVM_PROCESSORSETTINGDATA_V2_RESOURCE_URI,
            .serializerInfo = Msvm_ProcessorSettingData_v2_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_ResourceAllocationSettingData
 */
SER_START_ITEMS(Msvm_ResourceAllocationSettingData_Data)
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "ElementName", 1),
    SER_NS_UINT16(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "ResourceType", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "PoolID", 1),
    SER_NS_UINT16(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "ConsumerVisibility", 1),
    SER_NS_DYN_ARRAY(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "HostResource", 0, 0, string),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "AllocationUnits", 1),
    SER_NS_UINT64(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "VirtualQuantity", 1),
    SER_NS_UINT64(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Reservation", 1),
    SER_NS_UINT64(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Limit", 1),
    SER_NS_UINT32(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Weight", 1),
    SER_NS_BOOL(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "AutomaticAllocation", 1),
    SER_NS_BOOL(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "AutomaticDeallocation", 1),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Parent", 1),
    SER_NS_DYN_ARRAY(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Connection", 0, 0, string),
    SER_NS_STR(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "Address", 1),
    SER_NS_UINT16(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "MappingBehavior", 1),
    SER_NS_DYN_ARRAY(MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI, "VirtualSystemIdentifiers", 0, 0, string),
SER_END_ITEMS(Msvm_ResourceAllocationSettingData_Data);

hypervWmiClassInfoListPtr Msvm_ResourceAllocationSettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_RESOURCEALLOCATIONSETTINGDATA_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_RESOURCEALLOCATIONSETTINGDATA_RESOURCE_URI,
            .serializerInfo = Msvm_ResourceAllocationSettingData_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_SwitchPort
 */
SER_START_ITEMS(Msvm_SwitchPort_Data)
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "InstallDate", 1),
    SER_NS_DYN_ARRAY(MSVM_SWITCHPORT_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "Status", 1),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "HealthState", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "OtherEnabledState", 1),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "RequestedState", 1),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "EnabledDefault", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "SystemCreationClassName", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "SystemName", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "Description", 1),
    SER_NS_DYN_ARRAY(MSVM_SWITCHPORT_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "EnabledState", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "Name", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "NameFormat", 1),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "ProtocolType", 1),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "ProtocolIFType", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "OtherTypeDescription", 1),
    SER_NS_BOOL(MSVM_SWITCHPORT_RESOURCE_URI, "BroadcastResetSupported", 1),
    SER_NS_UINT16(MSVM_SWITCHPORT_RESOURCE_URI, "PortNumber", 1),
    SER_NS_STR(MSVM_SWITCHPORT_RESOURCE_URI, "ScopeOfResidence", 1),
    SER_NS_UINT32(MSVM_SWITCHPORT_RESOURCE_URI, "VMQOffloadWeight", 1),
    SER_NS_UINT32(MSVM_SWITCHPORT_RESOURCE_URI, "ChimneyOffloadWeight", 1),
    SER_NS_UINT32(MSVM_SWITCHPORT_RESOURCE_URI, "VMQOffloadUsage", 1),
    SER_NS_UINT32(MSVM_SWITCHPORT_RESOURCE_URI, "ChimneyOffloadUsage", 1),
    SER_NS_UINT32(MSVM_SWITCHPORT_RESOURCE_URI, "VMQOffloadLimit", 1),
    SER_NS_UINT32(MSVM_SWITCHPORT_RESOURCE_URI, "ChimneyOffloadLimit", 1),
    SER_NS_BOOL(MSVM_SWITCHPORT_RESOURCE_URI, "AllowMacSpoofing", 1),
SER_END_ITEMS(Msvm_SwitchPort_Data);

hypervWmiClassInfoListPtr Msvm_SwitchPort_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_SWITCHPORT_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_SWITCHPORT_RESOURCE_URI,
            .serializerInfo = Msvm_SwitchPort_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_SyntheticEthernetPortSettingData
 */
SER_START_ITEMS(Msvm_SyntheticEthernetPortSettingData_Data)
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "ElementName", 1),
    SER_NS_UINT16(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "ResourceType", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "OtherResourceType", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "ResourceSubType", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "PoolID", 1),
    SER_NS_UINT16(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "ConsumerVisibility", 1),
    SER_NS_DYN_ARRAY(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "HostResource", 0, 0, string),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "AllocationUnits", 1),
    SER_NS_UINT64(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "VirtualQuantity", 1),
    SER_NS_UINT64(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Reservation", 1),
    SER_NS_UINT64(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Limit", 1),
    SER_NS_UINT32(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Weight", 1),
    SER_NS_BOOL(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "AutomaticAllocation", 1),
    SER_NS_BOOL(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "AutomaticDeallocation", 1),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Parent", 1),
    SER_NS_DYN_ARRAY(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Connection", 0, 0, string),
    SER_NS_STR(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "Address", 1),
    SER_NS_UINT16(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "MappingBehavior", 1),
    SER_NS_DYN_ARRAY(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "VirtualSystemIdentifiers", 0, 0, string),
    SER_NS_BOOL(MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI, "StaticMacAddress", 1),
SER_END_ITEMS(Msvm_SyntheticEthernetPortSettingData_Data);

hypervWmiClassInfoListPtr Msvm_SyntheticEthernetPortSettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_SYNTHETICETHERNETPORTSETTINGDATA_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_SYNTHETICETHERNETPORTSETTINGDATA_RESOURCE_URI,
            .serializerInfo = Msvm_SyntheticEthernetPortSettingData_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_VirtualHardDiskSettingData
 */
SER_START_ITEMS(Msvm_VirtualHardDiskSettingData_Data)
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "ElementName", 1),
    SER_NS_UINT16(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "Type", 1),
    SER_NS_UINT16(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "Format", 1),
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "Path", 1),
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "ParentPath", 1),
    SER_NS_UINT64(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "MaxInternalSize", 1),
    SER_NS_UINT32(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "BlockSize", 1),
    SER_NS_UINT32(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "LogicalSectorSize", 1),
    SER_NS_UINT32(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "PhysicalSectorSize", 1),
    SER_NS_STR(MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI, "VirtualDiskId", 1),
SER_END_ITEMS(Msvm_VirtualHardDiskSettingData_Data);

hypervWmiClassInfoListPtr Msvm_VirtualHardDiskSettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALHARDDISKSETTINGDATA_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_VIRTUALHARDDISKSETTINGDATA_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualHardDiskSettingData_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_VirtualSwitch
 */
SER_START_ITEMS(Msvm_VirtualSwitch_Data)
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "InstallDate", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "Status", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCH_RESOURCE_URI, "HealthState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCH_RESOURCE_URI, "EnabledState", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "OtherEnabledState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCH_RESOURCE_URI, "RequestedState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCH_RESOURCE_URI, "EnabledDefault", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "Name", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "PrimaryOwnerContact", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "PrimaryOwnerName", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "Roles", 0, 0, string),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "NameFormat", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "OtherIdentifyingInfo", 0, 0, string),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "IdentifyingDescriptions", 0, 0, string),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "Dedicated", 0, 0, uint16),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "OtherDedicatedDescriptions", 0, 0, string),
    SER_NS_UINT16(MSVM_VIRTUALSWITCH_RESOURCE_URI, "ResetCapability", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCH_RESOURCE_URI, "PowerManagementCapabilities", 0, 0, uint16),
    SER_NS_STR(MSVM_VIRTUALSWITCH_RESOURCE_URI, "ScopeOfResidence", 1),
    SER_NS_UINT32(MSVM_VIRTUALSWITCH_RESOURCE_URI, "NumLearnableAddresses", 1),
    SER_NS_UINT32(MSVM_VIRTUALSWITCH_RESOURCE_URI, "MaxVMQOffloads", 1),
    SER_NS_UINT32(MSVM_VIRTUALSWITCH_RESOURCE_URI, "MaxChimneyOffloads", 1),
SER_END_ITEMS(Msvm_VirtualSwitch_Data);

hypervWmiClassInfoListPtr Msvm_VirtualSwitch_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALSWITCH_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_VIRTUALSWITCH_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualSwitch_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_VirtualSwitchManagementService
 */
SER_START_ITEMS(Msvm_VirtualSwitchManagementService_Data)
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "InstallDate", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "OperationalStatus", 0, 0, uint16),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "StatusDescriptions", 0, 0, string),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "Status", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "HealthState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "EnabledState", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "OtherEnabledState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "RequestedState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "EnabledDefault", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "SystemCreationClassName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "SystemName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "Name", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "PrimaryOwnerName", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "PrimaryOwnerContact", 1),
    SER_NS_STR(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "StartMode", 1),
    SER_NS_BOOL(MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI, "Started", 1),
SER_END_ITEMS(Msvm_VirtualSwitchManagementService_Data);

hypervWmiClassInfoListPtr Msvm_VirtualSwitchManagementService_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_VIRTUALSWITCHMANAGEMENTSERVICE_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualSwitchManagementService_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_VirtualSystemGlobalSettingData
 */
SER_START_ITEMS(Msvm_VirtualSystemGlobalSettingData_Data)
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "SystemName", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "SettingType", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "VirtualSystemType", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "OtherVirtualSystemType", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AutoActivate", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "CreationTime", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "ExternalDataRoot", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "SnapshotDataRoot", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AutomaticStartupAction", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AutomaticStartupActionDelay", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AutomaticShutdownAction", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AutomaticRecoveryAction", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AdditionalRecoveryInformation", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "ScopeOfResidence", 1),
    SER_NS_UINT32(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "DebugChannelId", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "AllowFullSCSICommandSet", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI, "Version", 1),
SER_END_ITEMS(Msvm_VirtualSystemGlobalSettingData_Data);

hypervWmiClassInfoListPtr Msvm_VirtualSystemGlobalSettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_VIRTUALSYSTEMGLOBALSETTINGDATA_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualSystemGlobalSettingData_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_VirtualSystemManagementService
 */
SER_START_ITEMS(Msvm_VirtualSystemManagementService_Data)
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "OperationalStatus", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "StatusDescriptions", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "Status", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "HealthState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "EnabledState", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "OtherEnabledState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "RequestedState", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "EnabledDefault", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "TimeOfLastStateChange", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "SystemCreationClassName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "SystemName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "Name", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "PrimaryOwnerName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "PrimaryOwnerContact", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "StartMode", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI, "Started", 1),
SER_END_ITEMS(Msvm_VirtualSystemManagementService_Data);

hypervWmiClassInfoListPtr Msvm_VirtualSystemManagementService_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_VIRTUALSYSTEMMANAGEMENTSERVICE_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualSystemManagementService_Data_TypeInfo
        },
    }
};


/****************************************************
 * Msvm_VirtualSystemSettingData
 */
SER_START_ITEMS(Msvm_VirtualSystemSettingData_v1_Data)
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "CreationTime", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "BIOSGUID", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "BIOSSerialNumber", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "BootOrder", 0, 0, uint16),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "ChassisSerialNumber", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "ChassisAssetTag", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "BaseBoardSerialNumber", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "Parent", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "BIOSNumLock", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "ElementName", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "AutoActivate", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "VirtualSystemType", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "OtherVirtualSystemType", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "SettingType", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "SystemName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "Notes", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "NumaNodeList", 0, 0, uint16),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI, "NumaNodesAreRequired", 1),
SER_END_ITEMS(Msvm_VirtualSystemSettingData_v1_Data);

SER_START_ITEMS(Msvm_VirtualSystemSettingData_v2_Data)
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "CreationTime", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "BIOSGUID", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "Description", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "BIOSSerialNumber", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "BootOrder", 0, 0, uint16),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "ChassisSerialNumber", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "ChassisAssetTag", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "BaseBoardSerialNumber", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "InstanceID", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "Parent", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "BIOSNumLock", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "ElementName", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "SwapFileDataRoot", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "LogDataRoot", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AutomaticStartupAction", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AutomaticStartupActionDelay", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AutomaticStartupActionSequenceNumber", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AutomaticShutdownAction", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AutomaticRecoveryAction", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "RecoveryFile", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "VirtualSystemType", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "SuspendDataRoot", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "ConfigurationID", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "Notes", 0, 0, string),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "ConfigurationDataRoot", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "SnapshotDataRoot", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "VirtualSystemIdentifier", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "ConfigurationFile", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "IsSaved", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AdditionalRecoveryInformation", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AllowFullSCSICommandSet", 1),
    SER_NS_UINT32(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "DebugChannelId", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "DebugPortEnabled", 1),
    SER_NS_UINT32(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "DebugPort", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "Version", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "IncrementalBackupEnabled", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "VirtualNumaEnabled", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "AllowReducedFcRedundancy", 1),
    SER_NS_STR(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "VirtualSystemSubType", 1),
    SER_NS_DYN_ARRAY(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "BootSourceOrder", 0, 0, string),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "PauseAfterBootFailure", 1),
    SER_NS_UINT16(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "NetworkBootPreferredProtocol", 1),
    SER_NS_BOOL(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "SecureBootEnabled", 1),
    SER_NS_UINT64(MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI, "LowMmioGapSize", 1),
SER_END_ITEMS(Msvm_VirtualSystemSettingData_v2_Data);

hypervWmiClassInfoListPtr Msvm_VirtualSystemSettingData_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 2,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALSYSTEMSETTINGDATA_CLASSNAME,
            .version = "v1",
            .rootUri = ROOT_VIRTUALIZATION,
            .resourceUri = MSVM_VIRTUALSYSTEMSETTINGDATA_V1_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualSystemSettingData_v1_Data_TypeInfo
        },
        &(hypervWmiClassInfo) {
            .name = MSVM_VIRTUALSYSTEMSETTINGDATA_CLASSNAME,
            .version = "v2",
            .rootUri = ROOT_VIRTUALIZATION_V2,
            .resourceUri = MSVM_VIRTUALSYSTEMSETTINGDATA_V2_RESOURCE_URI,
            .serializerInfo = Msvm_VirtualSystemSettingData_v2_Data_TypeInfo
        },
    }
};


/****************************************************
 * Win32_ComputerSystem
 */
SER_START_ITEMS(Win32_ComputerSystem_Data)
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "AdminPasswordStatus", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "AutomaticManagedPagefile", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "AutomaticResetBootOption", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "AutomaticResetCapability", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "BootOptionOnLimit", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "BootOptionOnWatchDog", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "BootROMSupported", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "BootupState", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Caption", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "ChassisBootupState", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_INT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "CurrentTimeZone", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "DaylightInEffect", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Description", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "DNSHostName", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Domain", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "DomainRole", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "EnableDaylightSavingsTime", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "FrontPanelResetStatus", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "InfraredSupported", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "KeyboardPasswordStatus", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "LastLoadInfo", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Manufacturer", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Model", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Name", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "NameFormat", 1),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "NetworkServerModeEnabled", 1),
    SER_NS_UINT32(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "NumberOfLogicalProcessors", 1),
    SER_NS_UINT32(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "NumberOfProcessors", 1),
    SER_NS_DYN_ARRAY(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "OEMLogoBitmap", 0, 0, uint8),
    SER_NS_DYN_ARRAY(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "OEMStringArray", 0, 0, string),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PartOfDomain", 1),
    SER_NS_INT64(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PauseAfterReset", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PCSystemType", 1),
    SER_NS_DYN_ARRAY(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PowerManagementCapabilities", 0, 0, uint16),
    SER_NS_BOOL(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PowerManagementSupported", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PowerOnPasswordStatus", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PowerState", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PowerSupplyState", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PrimaryOwnerContact", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "PrimaryOwnerName", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "ResetCapability", 1),
    SER_NS_INT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "ResetCount", 1),
    SER_NS_INT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "ResetLimit", 1),
    SER_NS_DYN_ARRAY(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Roles", 0, 0, string),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Status", 1),
    SER_NS_DYN_ARRAY(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "SupportContactDescription", 0, 0, string),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "SystemStartupDelay", 1),
    SER_NS_DYN_ARRAY(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "SystemStartupOptions", 0, 0, string),
    SER_NS_UINT8(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "SystemStartupSetting", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "SystemType", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "ThermalState", 1),
    SER_NS_UINT64(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "TotalPhysicalMemory", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "UserName", 1),
    SER_NS_UINT16(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "WakeUpType", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEM_RESOURCE_URI, "Workgroup", 1),
SER_END_ITEMS(Win32_ComputerSystem_Data);

hypervWmiClassInfoListPtr Win32_ComputerSystem_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = WIN32_COMPUTERSYSTEM_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_CIMV2,
            .resourceUri = WIN32_COMPUTERSYSTEM_RESOURCE_URI,
            .serializerInfo = Win32_ComputerSystem_Data_TypeInfo
        },
    }
};


/****************************************************
 * Win32_ComputerSystemProduct
 */
SER_START_ITEMS(Win32_ComputerSystemProduct_Data)
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "Description", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "IdentifyingNumber", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "Name", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "SKUNumber", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "UUID", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "Vendor", 1),
    SER_NS_STR(WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI, "Version", 1),
SER_END_ITEMS(Win32_ComputerSystemProduct_Data);

hypervWmiClassInfoListPtr Win32_ComputerSystemProduct_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = WIN32_COMPUTERSYSTEMPRODUCT_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_CIMV2,
            .resourceUri = WIN32_COMPUTERSYSTEMPRODUCT_RESOURCE_URI,
            .serializerInfo = Win32_ComputerSystemProduct_Data_TypeInfo
        },
    }
};


/****************************************************
 * Win32_OperatingSystem
 */
SER_START_ITEMS(Win32_OperatingSystem_Data)
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "BootDevice", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "BuildNumber", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "BuildType", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Caption", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CodeSet", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CountryCode", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CSCreationClassName", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CSDVersion", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CSName", 1),
    SER_NS_UINT16(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "CurrentTimeZone", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "DataExecutionPrevention_Available", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "DataExecutionPrevention_32BitApplications", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "DataExecutionPrevention_Drivers", 1),
    SER_NS_UINT8(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "DataExecutionPrevention_SupportPolicy", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Debug", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Description", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Distributed", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "EncryptionLevel", 1),
    SER_NS_UINT8(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "ForegroundApplicationBoost", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "FreePhysicalMemory", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "FreeSpaceInPagingFiles", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "FreeVirtualMemory", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "LargeSystemCache", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "LastBootUpTime", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "LocalDateTime", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Locale", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Manufacturer", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "MaxNumberOfProcesses", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "MaxProcessMemorySize", 1),
    SER_NS_DYN_ARRAY(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "MUILanguages", 0, 0, string),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Name", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "NumberOfLicensedUsers", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "NumberOfProcesses", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "NumberOfUsers", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "OperatingSystemSKU", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Organization", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "OSArchitecture", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "OSLanguage", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "OSProductSuite", 1),
    SER_NS_UINT16(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "OSType", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "OtherTypeDescription", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "PAEEnabled", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "PlusProductID", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "PlusVersionNumber", 1),
    SER_NS_BOOL(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Primary", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "ProductType", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "RegisteredUser", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "SerialNumber", 1),
    SER_NS_UINT16(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "ServicePackMajorVersion", 1),
    SER_NS_UINT16(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "ServicePackMinorVersion", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "SizeStoredInPagingFiles", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Status", 1),
    SER_NS_UINT32(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "SuiteMask", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "SystemDevice", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "SystemDirectory", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "SystemDrive", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "TotalSwapSpaceSize", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "TotalVirtualMemorySize", 1),
    SER_NS_UINT64(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "TotalVisibleMemorySize", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "Version", 1),
    SER_NS_STR(WIN32_OPERATINGSYSTEM_RESOURCE_URI, "WindowsDirectory", 1),
SER_END_ITEMS(Win32_OperatingSystem_Data);

hypervWmiClassInfoListPtr Win32_OperatingSystem_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = WIN32_OPERATINGSYSTEM_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_CIMV2,
            .resourceUri = WIN32_OPERATINGSYSTEM_RESOURCE_URI,
            .serializerInfo = Win32_OperatingSystem_Data_TypeInfo
        },
    }
};


/****************************************************
 * Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor
 */
SER_START_ITEMS(Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor_Data)
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "AddressDomainFlushesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "AddressSpaceEvictionsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "AddressSpaceFlushesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "AddressSpaceSwitchesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "APICEOIAccessesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "APICIPIsSentPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "APICMMIOAccessesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "APICSelfIPIsSentPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "APICTPRAccessesPersec", 1),
    SER_NS_STR(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Caption", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ControlRegisterAccessesCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ControlRegisterAccessesCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ControlRegisterAccessesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "CPUIDInstructionsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "CPUIDInstructionsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "CPUIDInstructionsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "CPUWaitTimePerDispatch", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "CPUWaitTimePerDispatch_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "DebugRegisterAccessesCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "DebugRegisterAccessesCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "DebugRegisterAccessesPersec", 1),
    SER_NS_STR(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Description", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "EmulatedInstructionsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "EmulatedInstructionsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "EmulatedInstructionsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ExternalInterruptsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ExternalInterruptsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ExternalInterruptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Frequency_Object", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Frequency_PerfTime", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Frequency_Sys100NS", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "GlobalGVARangeFlushesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "GPASpaceHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "GuestPageTableMapsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HardwareInterruptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HLTInstructionsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HLTInstructionsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HLTInstructionsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HypercallsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HypercallsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "HypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "IOInstructionsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "IOInstructionsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "IOInstructionsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "IOInterceptMessagesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "LargePageTLBFillsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "LocalFlushedGVARangesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "LogicalProcessorDispatchesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "LogicalProcessorHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "LogicalProcessorMigrationsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "LongSpinWaitHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MemoryInterceptMessagesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MSRAccessesCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MSRAccessesCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MSRAccessesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MWAITInstructionsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MWAITInstructionsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "MWAITInstructionsPersec", 1),
    SER_NS_STR(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Name", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "NestedPageFaultInterceptsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "NestedPageFaultInterceptsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "NestedPageFaultInterceptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "OtherHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "OtherInterceptsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "OtherInterceptsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "OtherInterceptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "OtherMessagesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageFaultInterceptsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageFaultInterceptsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageFaultInterceptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageInvalidationsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageInvalidationsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageInvalidationsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageTableAllocationsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageTableEvictionsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageTableReclamationsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageTableResetsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageTableValidationsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PageTableWriteInterceptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PendingInterruptsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PendingInterruptsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PendingInterruptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentGuestRunTime", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentGuestRunTime_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentHypervisorRunTime", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentHypervisorRunTime_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentRemoteRunTime", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentRemoteRunTime_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentTotalRunTime", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "PercentTotalRunTime_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "ReflectedGuestPageFaultsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "SmallPageTLBFillsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "SyntheticInterruptHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "SyntheticInterruptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Timestamp_Object", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Timestamp_PerfTime", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "Timestamp_Sys100NS", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "TotalInterceptsCost", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "TotalInterceptsCost_Base", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "TotalInterceptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "TotalMessagesPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "VirtualInterruptHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "VirtualInterruptsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "VirtualMMUHypercallsPersec", 1),
    SER_NS_UINT64(WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI, "VirtualProcessorHypercallsPersec", 1),
SER_END_ITEMS(Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor_Data);

hypervWmiClassInfoListPtr Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_CIMV2,
            .resourceUri = WIN32_PERFRAWDATA_HVSTATS_HYPERVHYPERVISORVIRTUALPROCESSOR_RESOURCE_URI,
            .serializerInfo = Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor_Data_TypeInfo
        },
    }
};


/****************************************************
 * Win32_Processor
 */
SER_START_ITEMS(Win32_Processor_Data)
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "AddressWidth", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "Architecture", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "Availability", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Caption", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "ConfigManagerErrorCode", 1),
    SER_NS_BOOL(WIN32_PROCESSOR_RESOURCE_URI, "ConfigManagerUserConfig", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "CpuStatus", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "CreationClassName", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "CurrentClockSpeed", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "CurrentVoltage", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "DataWidth", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Description", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "DeviceID", 1),
    SER_NS_BOOL(WIN32_PROCESSOR_RESOURCE_URI, "ErrorCleared", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "ErrorDescription", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "ExtClock", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "Family", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "InstallDate", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "L2CacheSize", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "L2CacheSpeed", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "L3CacheSize", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "L3CacheSpeed", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "LastErrorCode", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "Level", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "LoadPercentage", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Manufacturer", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "MaxClockSpeed", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Name", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "NumberOfCores", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "NumberOfLogicalProcessors", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "OtherFamilyDescription", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "PNPDeviceID", 1),
    SER_NS_DYN_ARRAY(WIN32_PROCESSOR_RESOURCE_URI, "PowerManagementCapabilities", 0, 0, uint16),
    SER_NS_BOOL(WIN32_PROCESSOR_RESOURCE_URI, "PowerManagementSupported", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "ProcessorId", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "ProcessorType", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "Revision", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Role", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "SocketDesignation", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Status", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "StatusInfo", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Stepping", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "SystemCreationClassName", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "SystemName", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "UniqueId", 1),
    SER_NS_UINT16(WIN32_PROCESSOR_RESOURCE_URI, "UpgradeMethod", 1),
    SER_NS_STR(WIN32_PROCESSOR_RESOURCE_URI, "Version", 1),
    SER_NS_UINT32(WIN32_PROCESSOR_RESOURCE_URI, "VoltageCaps", 1),
SER_END_ITEMS(Win32_Processor_Data);

hypervWmiClassInfoListPtr Win32_Processor_WmiInfo = &(hypervWmiClassInfoList) {
    .count = 1,
    .objs = (hypervWmiClassInfoPtr []) {
        &(hypervWmiClassInfo) {
            .name = WIN32_PROCESSOR_CLASSNAME,
            .version = NULL,
            .rootUri = ROOT_CIMV2,
            .resourceUri = WIN32_PROCESSOR_RESOURCE_URI,
            .serializerInfo = Win32_Processor_Data_TypeInfo
        },
    }
};


