Sample Code

Windows Driver Samples/ USBView sample application/ C++/ usbschema.hpp/

//
// This file is auto-generated from XSD using the command:
// xsd.exe /language:CPP /c /order /namespace:Microsoft.Kits.Samples.Usb
//

#pragma once

#using <mscorlib.dll>
#using <System.dll>
#using <System.Xml.dll>

using namespace System::Security::Permissions;
// 
// This source code was auto-generated by xsd, Version=4.0.30319.17357.
// 
namespace Microsoft {
    namespace Kits {
        namespace Samples {
            namespace Usb {
    using namespace System::Xml::Serialization;
    using namespace System;
    ref class UvcViewAll;
    ref class UvcViewType;
    ref class MachineInfoType;
    ref class NoDeviceType;
    ref class PortConnectorType;
    ref class UsbPortPropertiesType;
    ref class NodeConnectionInfoExV2Type;
    ref class UsbDispContIdCapExtDescriptorType;
    ref class UsbUsb20ExtensionDescriptorType;
    ref class UsbSuperSpeedExtensionDescriptorType;
    ref class UsbBosDescriptorType;
    ref class UsbDeviceUnknownDescriptorType;
    ref class UsbDeviceIADDescriptorType;
    ref class UsbDeviceClassType;
    ref class UsbDeviceOTGDescriptorType;
    ref class UsbDeviceHidOptionalDescriptorsType;
    ref class UsbDeviceHidDescriptorType;
    ref class UsbDeviceInterfaceDescriptorType;
    ref class UsbDeviceQualifierDescriptorType;
    ref class UsbConfigurationDescriptorType;
    ref class UsbDeviceConfigurationType;
    ref class EndpointDescriptorType;
    ref class UsbDeviceType;
    ref class NodeConnectionInfoExType;
    ref class NodeConnectionInfoExStructType;
    ref class UsbDeviceDescriptorType;
    ref class UsbPipeInfoType;
    ref class UsbDeviceClassDetailsType;
    ref class ExternalHubType;
    ref class HubNodeInformationType;
    ref class HubInformationType;
    ref class HubDescriptorType;
    ref class HubCharacteristicsType;
    ref class HubInformationExType;
    ref class Hub30DescriptorType;
    ref class HubCapabilitiesExType;
    ref class RootHubType;
    ref class UsbHCPowerStateType;
    ref class UsbHCPowerStateMappingType;
    ref class UsbHCDeviceInfoType;
    ref class HostControllerType;
    
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public enum class UsbConnectionSpeedType {
        
        /// <remarks/>
        Low,
        
        /// <remarks/>
        Full,
        
        /// <remarks/>
        High,
        
        /// <remarks/>
        Super,
        
        /// <remarks/>
        Unknown,
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public enum class UsbConnectionStatusType {
        
        /// <remarks/>
        NoDeviceConnected,
        
        /// <remarks/>
        DeviceConnected,
        
        /// <remarks/>
        DeviceFailedEnumeration,
        
        /// <remarks/>
        DeviceGeneralFailure,
        
        /// <remarks/>
        DeviceCausedOvercurrent,
        
        /// <remarks/>
        DeviceNotEnoughPower,
        
        /// <remarks/>
        DeviceNotEnoughBandwidth,
        
        /// <remarks/>
        DeviceHubNestedTooDeeply,
        
        /// <remarks/>
        DeviceInLegacyHub,
        
        /// <remarks/>
        DeviceEnumerating,
        
        /// <remarks/>
        DeviceReset,
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public enum class DevicePowerStateType {
        
        /// <remarks/>
        PowerDeviceUnspecified,
        
        /// <remarks/>
        PowerDeviceD0,
        
        /// <remarks/>
        PowerDeviceD1,
        
        /// <remarks/>
        PowerDeviceD2,
        
        /// <remarks/>
        PowerDeviceD3,
        
        /// <remarks/>
        PowerDeviceMaximum,
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public enum class HubNodeType {
        
        /// <remarks/>
        UsbHub,
        
        /// <remarks/>
        UsbMiParent,
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public enum class HubTypeType {
        
        /// <remarks/>
        UsbRootHub,
        
        /// <remarks/>
        Usb20Hub,
        
        /// <remarks/>
        Usb30Hub,
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(AnonymousType=true, Namespace=L"USB"), 
    System::Xml::Serialization::XmlRootAttribute(Namespace=L"USB", IsNullable=false)]
    public ref class UvcViewAll {
        
        private: Microsoft::Kits::Samples::Usb::UvcViewType^  uvcViewField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::UvcViewType^  UvcView {
            Microsoft::Kits::Samples::Usb::UvcViewType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UvcViewType^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UvcViewType {
        
        private: Microsoft::Kits::Samples::Usb::MachineInfoType^  machineInfoField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::HostControllerType^  >^  usbTreeField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::MachineInfoType^  MachineInfo {
            Microsoft::Kits::Samples::Usb::MachineInfoType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::MachineInfoType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlArrayAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1), 
        System::Xml::Serialization::XmlArrayItemAttribute(L"UsbController", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, IsNullable=false)]
        property cli::array< Microsoft::Kits::Samples::Usb::HostControllerType^  >^  UsbTree {
            cli::array< Microsoft::Kits::Samples::Usb::HostControllerType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::HostControllerType^  >^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class MachineInfoType {
        
        private: System::Byte uvcMajorVersionField;
        
        private: System::Byte uvcMinorVersionField;
        
        private: System::Byte uvcMajorSpecVersionField;
        
        private: System::Byte uvcMinorSpecVersionField;
        
        private: System::DateTime collectionTimeField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::Byte UvcMajorVersion {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::Byte UvcMinorVersion {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::Byte UvcMajorSpecVersion {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::Byte UvcMinorSpecVersion {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::DateTime CollectionTime {
            System::DateTime get();
            System::Void set(System::DateTime value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class NoDeviceType {
        
        private: Microsoft::Kits::Samples::Usb::PortConnectorType^  portConnectorField;
        
        private: System::String^  usbPortNumberField;
        
        private: System::String^  nameField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::PortConnectorType^  PortConnector {
            Microsoft::Kits::Samples::Usb::PortConnectorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::PortConnectorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  UsbPortNumber {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  Name {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class PortConnectorType {
        
        private: System::UInt64 connectionIndexField;
        
        private: System::UInt64 actualLengthField;
        
        private: Microsoft::Kits::Samples::Usb::UsbPortPropertiesType^  usbPortPropertiesField;
        
        private: System::UInt16 companionIndexField;
        
        private: System::UInt16 companionPortNumberField;
        
        private: System::String^  companionHubSymbolicLinkNameField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::UInt64 ConnectionIndex {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::UInt64 ActualLength {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::UsbPortPropertiesType^  UsbPortProperties {
            Microsoft::Kits::Samples::Usb::UsbPortPropertiesType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbPortPropertiesType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::UInt16 CompanionIndex {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::UInt16 CompanionPortNumber {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::String^  CompanionHubSymbolicLinkName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbPortPropertiesType {
        
        private: System::Boolean portIsUserConnectableField;
        
        private: System::Boolean portIsDebugCapableField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::Boolean PortIsUserConnectable {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::Boolean PortIsDebugCapable {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class NodeConnectionInfoExV2Type {
        
        private: System::UInt64 connectionIndexField;
        
        private: System::UInt64 lengthField;
        
        private: System::Boolean usb110SupportedField;
        
        private: System::Boolean usb200SupportedField;
        
        private: System::Boolean usb300SupportedField;
        
        private: System::Boolean deviceIsOperatingAtSuperSpeedOrHigherField;
        
        private: System::Boolean deviceIsSuperSpeedCapableOrHigherField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::UInt64 ConnectionIndex {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::UInt64 Length {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::Boolean Usb110Supported {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::Boolean Usb200Supported {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::Boolean Usb300Supported {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::Boolean DeviceIsOperatingAtSuperSpeedOrHigher {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::Boolean DeviceIsSuperSpeedCapableOrHigher {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDispContIdCapExtDescriptorType {
        
        private: System::String^  reservedBitErrorField;
        
        private: System::String^  containerIdStrField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::Byte bReservedField;
        
        private: System::Byte bDevCapabilityTypeField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  ReservedBitError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  ContainerIdStr {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BReserved {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDevCapabilityType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbUsb20ExtensionDescriptorType {
        
        private: System::String^  reservedBitErrorField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::Byte bDevCapabilityTypeField;
        
        private: System::UInt64 bmAttributesField;
        
        private: System::Boolean supportsLinkPowerManagementField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  ReservedBitError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDevCapabilityType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt64 BmAttributes {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean SupportsLinkPowerManagement {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbSuperSpeedExtensionDescriptorType {
        
        private: System::String^  reservedAttributesBitErrorField;
        
        private: System::String^  reservedSpeedBitErrorField;
        
        private: System::String^  reservedSpeedErrorField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::Byte bDevCapabilityTypeField;
        
        private: System::UInt64 bmAttributesField;
        
        private: System::Boolean latencyToleranceMsgCapableField;
        
        private: System::Byte bFunctionalitySupportField;
        
        private: System::Byte bU1DevExitLatField;
        
        private: System::UInt16 wSpeedsSupportedField;
        
        private: System::UInt16 wU2DevExitLatField;
        
        private: System::Boolean supportsLowSpeedField;
        
        private: System::Boolean supportsFullSpeedField;
        
        private: System::Boolean supportsHighSpeedField;
        
        private: System::Boolean supportsSuperSpeedField;
        
        private: System::String^  lowestSpeedField;
        
        private: System::String^  u1DevExitLatencyStringField;
        
        private: System::String^  u2DevExitLatencyStringField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  ReservedAttributesBitError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  ReservedSpeedBitError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  ReservedSpeedError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDevCapabilityType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt64 BmAttributes {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean LatencyToleranceMsgCapable {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BFunctionalitySupport {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BU1DevExitLat {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WSpeedsSupported {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WU2DevExitLat {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean SupportsLowSpeed {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean SupportsFullSpeed {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean SupportsHighSpeed {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean SupportsSuperSpeed {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  LowestSpeed {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  U1DevExitLatencyString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  U2DevExitLatencyString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbBosDescriptorType {
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  >^  unknownDescriptorField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbSuperSpeedExtensionDescriptorType^  >^  usbSuperSpeedExtensionDescriptorField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbUsb20ExtensionDescriptorType^  >^  usbUsb20ExtensionDescriptorField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDispContIdCapExtDescriptorType^  >^  usbDispContIdCapExtDescriptorField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::UInt16 wTotalLengthField;
        
        private: System::Byte bNumDeviceCapsField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"UnknownDescriptor", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=0)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  >^  UnknownDescriptor {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"UsbSuperSpeedExtensionDescriptor", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=1)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbSuperSpeedExtensionDescriptorType^  >^  UsbSuperSpeedExtensionDescriptor {
            cli::array< Microsoft::Kits::Samples::Usb::UsbSuperSpeedExtensionDescriptorType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbSuperSpeedExtensionDescriptorType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"UsbUsb20ExtensionDescriptor", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=2)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbUsb20ExtensionDescriptorType^  >^  UsbUsb20ExtensionDescriptor {
            cli::array< Microsoft::Kits::Samples::Usb::UsbUsb20ExtensionDescriptorType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbUsb20ExtensionDescriptorType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"UsbDispContIdCapExtDescriptor", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=3)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDispContIdCapExtDescriptorType^  >^  UsbDispContIdCapExtDescriptor {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDispContIdCapExtDescriptorType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDispContIdCapExtDescriptorType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WTotalLength {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BNumDeviceCaps {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceUnknownDescriptorType {
        
        private: System::String^  unknownDescriptorField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  UnknownDescriptor {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceIADDescriptorType {
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  functionDetailsField;
        
        private: System::String^  interfaceErrorField;
        
        private: System::String^  functionClassErrorField;
        
        private: System::String^  protocolField;
        
        private: System::String^  stringDescField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::Byte bFirstInterfaceField;
        
        private: System::Byte bInterfaceCountField;
        
        private: System::Byte bFunctionClassField;
        
        private: System::Byte bFunctionSubclassField;
        
        private: System::Byte bFunctionProtocolField;
        
        private: System::Byte iFunctionField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  FunctionDetails {
            Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  InterfaceError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  FunctionClassError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::String^  Protocol {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::String^  StringDesc {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BFirstInterface {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BInterfaceCount {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BFunctionClass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BFunctionSubclass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BFunctionProtocol {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte IFunction {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceClassType {
        
        private: System::String^  deviceClassField;
        
        private: System::String^  deviceSubclassField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  DeviceClass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  DeviceSubclass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceOTGDescriptorType {
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::Byte bmAttributesField;
        
        private: System::String^  attributesStringField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BmAttributes {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  AttributesString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceHidOptionalDescriptorsType {
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::UInt16 wDescriptorLengthField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WDescriptorLength {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceHidDescriptorType {
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceHidOptionalDescriptorsType^  >^  optionalDescriptorField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::UInt16 bcdHIDField;
        
        private: System::Byte bCountryCodeField;
        
        private: System::Byte bNumDescriptorsField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"OptionalDescriptor", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=0)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceHidOptionalDescriptorsType^  >^  OptionalDescriptor {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceHidOptionalDescriptorsType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceHidOptionalDescriptorsType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 BcdHID {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BCountryCode {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BNumDescriptors {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceInterfaceDescriptorType {
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  interfaceDetailsField;
        
        private: System::String^  protocolErrorField;
        
        private: System::String^  stringDescField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::Byte bInterfaceNumberField;
        
        private: System::Byte bAlternateSettingField;
        
        private: System::Byte bNumEndpointsField;
        
        private: System::Byte bInterfaceClassField;
        
        private: System::Byte bInterfaceSubclassField;
        
        private: System::Byte bInterfaceProtocolField;
        
        private: System::Byte iInterfaceField;
        
        private: System::UInt16 wNumClassesField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  InterfaceDetails {
            Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  ProtocolError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  StringDesc {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BInterfaceNumber {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BAlternateSetting {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BNumEndpoints {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BInterfaceClass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BInterfaceSubclass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BInterfaceProtocol {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte IInterface {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WNumClasses {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceQualifierDescriptorType {
        
        private: System::String^  deviceClassField;
        
        private: System::Byte maxPacketSizeInBytesField;
        
        private: System::Boolean maxPacketSizeInBytesFieldSpecified;
        
        private: System::String^  deviceClassErrorField;
        
        private: System::String^  deviceSubclassErrorField;
        
        private: System::String^  deviceProtocolErrorField;
        
        private: System::String^  deviceNumConfigErrorField;
        
        private: System::String^  reservedErrorField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::UInt16 bcdUSBField;
        
        private: System::Byte bDeviceClassField;
        
        private: System::Byte bDeviceSubclassField;
        
        private: System::Byte bDeviceProtocolField;
        
        private: System::Byte bMaxPacketSize0Field;
        
        private: System::Byte numConfigurationsField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  DeviceClass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::Byte MaxPacketSizeInBytes {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlIgnoreAttribute]
        property System::Boolean MaxPacketSizeInBytesSpecified {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  DeviceClassError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::String^  DeviceSubclassError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::String^  DeviceProtocolError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::String^  DeviceNumConfigError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::String^  ReservedError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 BcdUSB {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDeviceClass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDeviceSubclass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDeviceProtocol {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BMaxPacketSize0 {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte NumConfigurations {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbConfigurationDescriptorType {
        
        private: System::String^  configDescErrorField;
        
        private: System::String^  confValueErrorField;
        
        private: System::String^  confStringDescField;
        
        private: System::String^  attributesStrField;
        
        private: System::String^  maxCurrentField;
        
        private: System::Byte bLengthField;
        
        private: System::Byte bDescriptorTypeField;
        
        private: System::UInt16 wTotalLengthField;
        
        private: System::Byte bNumInterfacesField;
        
        private: System::Byte bConfigurationValueField;
        
        private: System::Byte iConfigurationField;
        
        private: System::Byte bmAttributesField;
        
        private: System::Byte maxPowerField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  ConfigDescError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  ConfValueError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  ConfStringDesc {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::String^  AttributesStr {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::String^  MaxCurrent {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BDescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WTotalLength {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BNumInterfaces {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BConfigurationValue {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte IConfiguration {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte BmAttributes {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte MaxPower {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceConfigurationType {
        
        private: System::String^  deviceQualifierErrorField;
        
        private: System::String^  speedConfigurationErrorField;
        
        private: System::String^  deviceConfigurationErrorField;
        
        private: System::String^  interfaceErrorField;
        
        private: System::String^  preReleaseErrorField;
        
        private: System::String^  endpointErrorField;
        
        private: System::String^  hidErrorField;
        
        private: System::String^  otgErrorField;
        
        private: System::String^  iadErrorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  deviceDetailsField;
        
        private: Microsoft::Kits::Samples::Usb::UsbConfigurationDescriptorType^  configurationDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceQualifierDescriptorType^  deviceQualifierDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceInterfaceDescriptorType^  interfaceDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  endpointDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceHidDescriptorType^  hidDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceOTGDescriptorType^  otgDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceIADDescriptorType^  iadDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  unknownDescriptorField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  DeviceQualifierError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  SpeedConfigurationError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  DeviceConfigurationError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::String^  InterfaceError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::String^  PreReleaseError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::String^  EndpointError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::String^  HidError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=7)]
        property System::String^  OtgError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=8)]
        property System::String^  IadError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=9)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  DeviceDetails {
            Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=10)]
        property Microsoft::Kits::Samples::Usb::UsbConfigurationDescriptorType^  ConfigurationDescriptor {
            Microsoft::Kits::Samples::Usb::UsbConfigurationDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbConfigurationDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=11)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceQualifierDescriptorType^  DeviceQualifierDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceQualifierDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceQualifierDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=12)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceInterfaceDescriptorType^  InterfaceDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceInterfaceDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceInterfaceDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=13)]
        property Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  EndpointDescriptor {
            Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=14)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceHidDescriptorType^  HidDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceHidDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceHidDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=15)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceOTGDescriptorType^  OtgDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceOTGDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceOTGDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=16)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceIADDescriptorType^  IadDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceIADDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceIADDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=17)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  UnknownDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class EndpointDescriptorType {
        
        private: System::Byte lengthField;
        
        private: System::Byte descriptorTypeField;
        
        private: System::Byte endpointAddressField;
        
        private: System::Byte attributesField;
        
        private: System::UInt16 maxPacketSizeField;
        
        private: System::Byte intervalField;
        
        private: System::UInt16 wIntervalField;
        
        private: System::Byte syncAddressField;
        
        private: System::String^  endpointDirectionField;
        
        private: System::Byte endpointIdField;
        
        private: System::String^  endpointTypeField;
        
        private: System::String^  endpointPacketInfoField;
        
        private: System::String^  endpointPacketSizeValidationField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte Length {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte EndpointAddress {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte Attributes {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 MaxPacketSize {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte Interval {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 WInterval {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte SyncAddress {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  EndpointDirection {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte EndpointId {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  EndpointType {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  EndpointPacketInfo {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  EndpointPacketSizeValidation {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceType {
        
        private: Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  connectionInfoField;
        
        private: Microsoft::Kits::Samples::Usb::PortConnectorType^  portConnectorField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  deviceConfigurationField;
        
        private: Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  bosDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  connectionInfoV2Field;
        
        private: System::String^  usbPortNumberField;
        
        private: System::String^  serviceNameField;
        
        private: System::String^  hwIdField;
        
        private: System::String^  deviceIdField;
        
        private: System::String^  deviceNameField;
        
        private: System::String^  deviceClassField;
        
        private: System::String^  usbProtocolField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  ConnectionInfo {
            Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property Microsoft::Kits::Samples::Usb::PortConnectorType^  PortConnector {
            Microsoft::Kits::Samples::Usb::PortConnectorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::PortConnectorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"DeviceConfiguration", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=2)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  DeviceConfiguration {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  BosDescriptor {
            Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  ConnectionInfoV2 {
            Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  UsbPortNumber {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  ServiceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  HwId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceClass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  UsbProtocol {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class NodeConnectionInfoExType {
        
        private: Microsoft::Kits::Samples::Usb::NodeConnectionInfoExStructType^  connectionInfoStructField;
        
        private: System::String^  iProductStringDescEnField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceClassDetailsType^  deviceClassDetailsField;
        
        private: System::Byte maxPacketSizeInBytesField;
        
        private: System::String^  vendorStringField;
        
        private: System::String^  manufacturerStringField;
        
        private: System::String^  productStringField;
        
        private: System::String^  langIdStringField;
        
        private: System::String^  serialStringField;
        
        private: System::String^  pipeInfoErrorField;
        
        private: System::String^  lengthErrorField;
        
        private: System::String^  deviceErrorField;
        
        private: System::String^  packetSizeErrorField;
        
        private: System::String^  configurationCountErrorField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::NodeConnectionInfoExStructType^  ConnectionInfoStruct {
            Microsoft::Kits::Samples::Usb::NodeConnectionInfoExStructType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExStructType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  IProductStringDescEn {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceClassDetailsType^  DeviceClassDetails {
            Microsoft::Kits::Samples::Usb::UsbDeviceClassDetailsType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceClassDetailsType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::Byte MaxPacketSizeInBytes {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::String^  VendorString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::String^  ManufacturerString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::String^  ProductString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=7)]
        property System::String^  LangIdString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=8)]
        property System::String^  SerialString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=9)]
        property System::String^  PipeInfoError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=10)]
        property System::String^  LengthError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=11)]
        property System::String^  DeviceError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=12)]
        property System::String^  PacketSizeError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=13)]
        property System::String^  ConfigurationCountError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class NodeConnectionInfoExStructType {
        
        private: System::UInt64 connectionIndexField;
        
        private: Microsoft::Kits::Samples::Usb::UsbDeviceDescriptorType^  deviceDescriptorField;
        
        private: System::Byte currentConfigurationValueField;
        
        private: System::Byte speedField;
        
        private: Microsoft::Kits::Samples::Usb::UsbConnectionSpeedType speedStrField;
        
        private: System::Boolean deviceIsHubField;
        
        private: System::Byte deviceAddressField;
        
        private: System::UInt64 numOfOpenPipesField;
        
        private: Microsoft::Kits::Samples::Usb::UsbConnectionStatusType usbConnectionStatusField;
        
        private: Microsoft::Kits::Samples::Usb::DevicePowerStateType devicePowerStateField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbPipeInfoType^  >^  pipeField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::UInt64 ConnectionIndex {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property Microsoft::Kits::Samples::Usb::UsbDeviceDescriptorType^  DeviceDescriptor {
            Microsoft::Kits::Samples::Usb::UsbDeviceDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbDeviceDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::Byte CurrentConfigurationValue {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::Byte Speed {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property Microsoft::Kits::Samples::Usb::UsbConnectionSpeedType SpeedStr {
            Microsoft::Kits::Samples::Usb::UsbConnectionSpeedType get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbConnectionSpeedType value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::Boolean DeviceIsHub {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::Byte DeviceAddress {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=7)]
        property System::UInt64 NumOfOpenPipes {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=8)]
        property Microsoft::Kits::Samples::Usb::UsbConnectionStatusType UsbConnectionStatus {
            Microsoft::Kits::Samples::Usb::UsbConnectionStatusType get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbConnectionStatusType value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=9)]
        property Microsoft::Kits::Samples::Usb::DevicePowerStateType DevicePowerState {
            Microsoft::Kits::Samples::Usb::DevicePowerStateType get();
            System::Void set(Microsoft::Kits::Samples::Usb::DevicePowerStateType value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"Pipe", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=10)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbPipeInfoType^  >^  Pipe {
            cli::array< Microsoft::Kits::Samples::Usb::UsbPipeInfoType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbPipeInfoType^  >^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceDescriptorType {
        
        private: System::Byte lengthField;
        
        private: System::Byte descriptorTypeField;
        
        private: System::UInt16 cdUSBField;
        
        private: System::Byte deviceClassField;
        
        private: System::Byte deviceSubclassField;
        
        private: System::Byte deviceProtocolField;
        
        private: System::Byte maxPacketSize0Field;
        
        private: System::UInt16 idVendorField;
        
        private: System::UInt16 idProductField;
        
        private: System::UInt16 cdDeviceField;
        
        private: System::Byte iManufacturerField;
        
        private: System::Byte iProductField;
        
        private: System::Byte iSerialNumberField;
        
        private: System::Byte numConfigurationsField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte Length {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 CdUSB {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DeviceClass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DeviceSubclass {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DeviceProtocol {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte MaxPacketSize0 {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 IdVendor {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 IdProduct {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 CdDevice {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte IManufacturer {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte IProduct {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte ISerialNumber {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte NumConfigurations {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbPipeInfoType {
        
        private: Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  endpointDescriptorField;
        
        private: System::UInt64 scheduleOffsetField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  EndpointDescriptor {
            Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::UInt64 ScheduleOffset {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbDeviceClassDetailsType {
        
        private: System::String^  deviceTypeField;
        
        private: System::String^  deviceTypeErrorField;
        
        private: System::String^  subclassTypeField;
        
        private: System::String^  subclassTypeErrorField;
        
        private: System::String^  deviceProtocolField;
        
        private: System::String^  deviceProtocolErrorField;
        
        private: System::UInt32 uvcVersionField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::String^  DeviceType {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  DeviceTypeError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  SubclassType {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::String^  SubclassTypeError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::String^  DeviceProtocol {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::String^  DeviceProtocolError {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::UInt32 UvcVersion {
            System::UInt32 get();
            System::Void set(System::UInt32 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class ExternalHubType {
        
        private: Microsoft::Kits::Samples::Usb::HubNodeInformationType^  hubNodeInformationField;
        
        private: System::String^  hubNameField;
        
        private: Microsoft::Kits::Samples::Usb::HubInformationExType^  hubInformationExField;
        
        private: Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  hubCapabilityExField;
        
        private: Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  connectionInfoField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  usbDeviceField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  noDeviceField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  deviceConfigurationField;
        
        private: Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  bosDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  connectionInfoV2Field;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  externalHubField;
        
        private: Microsoft::Kits::Samples::Usb::PortConnectorType^  portConnectorField;
        
        private: System::String^  serviceNameField;
        
        private: System::String^  hwIdField;
        
        private: System::String^  deviceIdField;
        
        private: System::String^  deviceNameField;
        
        private: System::String^  deviceClassField;
        
        private: System::String^  usbProtocolField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::HubNodeInformationType^  HubNodeInformation {
            Microsoft::Kits::Samples::Usb::HubNodeInformationType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubNodeInformationType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  HubName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::HubInformationExType^  HubInformationEx {
            Microsoft::Kits::Samples::Usb::HubInformationExType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubInformationExType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  HubCapabilityEx {
            Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  ConnectionInfo {
            Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"UsbDevice", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=5)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  UsbDevice {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"NoDevice", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  NoDevice {
            cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"DeviceConfiguration", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=7)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  DeviceConfiguration {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=8)]
        property Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  BosDescriptor {
            Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=9)]
        property Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  ConnectionInfoV2 {
            Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"ExternalHub", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=10)]
        property cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  ExternalHub {
            cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=11)]
        property Microsoft::Kits::Samples::Usb::PortConnectorType^  PortConnector {
            Microsoft::Kits::Samples::Usb::PortConnectorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::PortConnectorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  ServiceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  HwId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceClass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  UsbProtocol {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HubNodeInformationType {
        
        private: Microsoft::Kits::Samples::Usb::HubNodeType hubNodeField;
        
        private: Microsoft::Kits::Samples::Usb::HubInformationType^  hubInformationField;
        
        private: System::UInt64 miParentNumberOfInterfacesField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::HubNodeType HubNode {
            Microsoft::Kits::Samples::Usb::HubNodeType get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubNodeType value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property Microsoft::Kits::Samples::Usb::HubInformationType^  HubInformation {
            Microsoft::Kits::Samples::Usb::HubInformationType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubInformationType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::UInt64 MiParentNumberOfInterfaces {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HubInformationType {
        
        private: System::Boolean isRootHubField;
        
        private: System::Boolean isBusPoweredField;
        
        private: Microsoft::Kits::Samples::Usb::HubDescriptorType^  hubDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::HubCharacteristicsType^  hubCharacteristicsField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::Boolean IsRootHub {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::Boolean IsBusPowered {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::HubDescriptorType^  HubDescriptor {
            Microsoft::Kits::Samples::Usb::HubDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property Microsoft::Kits::Samples::Usb::HubCharacteristicsType^  HubCharacteristics {
            Microsoft::Kits::Samples::Usb::HubCharacteristicsType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubCharacteristicsType^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HubDescriptorType {
        
        private: System::Byte descriptorLengthField;
        
        private: System::Byte descriptorTypeField;
        
        private: System::Byte numberOfPortsField;
        
        private: System::Byte powerOntoPowerGoodField;
        
        private: System::Byte hubControlCurrentField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DescriptorLength {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte NumberOfPorts {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte PowerOntoPowerGood {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte HubControlCurrent {
            System::Byte get();
            System::Void set(System::Byte value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HubCharacteristicsType {
        
        private: System::UInt32 hubCharacteristicsValueField;
        
        private: System::String^  powerSwitchingField;
        
        private: System::Boolean compoundDeviceField;
        
        private: System::String^  overCurrentProtectionField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt32 HubCharacteristicsValue {
            System::UInt32 get();
            System::Void set(System::UInt32 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  PowerSwitching {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean CompoundDevice {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  OverCurrentProtection {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HubInformationExType {
        
        private: Microsoft::Kits::Samples::Usb::HubTypeType hubTypeField;
        
        private: System::UInt16 highestPortNumberField;
        
        private: Microsoft::Kits::Samples::Usb::HubDescriptorType^  hubDescriptorField;
        
        private: Microsoft::Kits::Samples::Usb::Hub30DescriptorType^  hub30DescriptorField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::HubTypeType HubType {
            Microsoft::Kits::Samples::Usb::HubTypeType get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubTypeType value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::UInt16 HighestPortNumber {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::HubDescriptorType^  HubDescriptor {
            Microsoft::Kits::Samples::Usb::HubDescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubDescriptorType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property Microsoft::Kits::Samples::Usb::Hub30DescriptorType^  Hub30Descriptor {
            Microsoft::Kits::Samples::Usb::Hub30DescriptorType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::Hub30DescriptorType^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class Hub30DescriptorType {
        
        private: System::Byte lengthField;
        
        private: System::Byte descriptorTypeField;
        
        private: System::Byte numberOfPortsField;
        
        private: System::UInt16 hubCharacteristicsField;
        
        private: System::Byte powerOntoPowerGoodField;
        
        private: System::Byte hubControlCurrentField;
        
        private: System::Byte hubHdrDecLatField;
        
        private: System::UInt16 hubDelayField;
        
        private: System::UInt16 deviceRemovableField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte Length {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte DescriptorType {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte NumberOfPorts {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 HubCharacteristics {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte PowerOntoPowerGood {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte HubControlCurrent {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Byte HubHdrDecLat {
            System::Byte get();
            System::Void set(System::Byte value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 HubDelay {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::UInt16 DeviceRemovable {
            System::UInt16 get();
            System::Void set(System::UInt16 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HubCapabilitiesExType {
        
        private: System::Boolean hubIsHighSpeedCapableField;
        
        private: System::Boolean hubIsHighSpeedField;
        
        private: System::Boolean hubIsMultiTtCapableField;
        
        private: System::Boolean hubIsMultiTtField;
        
        private: System::Boolean hubIsRootField;
        
        private: System::Boolean hubIsArmedWakeOnConnectField;
        
        private: System::Boolean hubIsBusPoweredField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsHighSpeedCapable {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsHighSpeed {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsMultiTtCapable {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsMultiTt {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsRoot {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsArmedWakeOnConnect {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean HubIsBusPowered {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class RootHubType {
        
        private: Microsoft::Kits::Samples::Usb::HubNodeInformationType^  hubNodeInformationField;
        
        private: System::String^  hubNameField;
        
        private: Microsoft::Kits::Samples::Usb::HubInformationExType^  hubInformationExField;
        
        private: Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  hubCapabilityExField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  externalHubField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  usbDeviceField;
        
        private: cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  noDeviceField;
        
        private: System::String^  serviceNameField;
        
        private: System::String^  hwIdField;
        
        private: System::String^  deviceIdField;
        
        private: System::String^  deviceNameField;
        
        private: System::String^  deviceClassField;
        
        private: System::String^  usbProtocolField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::HubNodeInformationType^  HubNodeInformation {
            Microsoft::Kits::Samples::Usb::HubNodeInformationType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubNodeInformationType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  HubName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::HubInformationExType^  HubInformationEx {
            Microsoft::Kits::Samples::Usb::HubInformationExType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubInformationExType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  HubCapabilityEx {
            Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"ExternalHub", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=4)]
        property cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  ExternalHub {
            cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"UsbDevice", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, 
        Order=5)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  UsbDevice {
            cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"NoDevice", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  NoDevice {
            cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  ServiceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  HwId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceClass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  UsbProtocol {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbHCPowerStateType {
        
        private: System::String^  systemStateField;
        
        private: System::String^  hostControllerStateField;
        
        private: System::String^  hubStateField;
        
        private: System::Boolean canWakeUpField;
        
        private: System::Boolean isPoweredField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  SystemState {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  HostControllerState {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  HubState {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean CanWakeUp {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::Boolean IsPowered {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbHCPowerStateMappingType {
        
        private: cli::array< Microsoft::Kits::Samples::Usb::UsbHCPowerStateType^  >^  powerMapField;
        
        private: System::String^  lastSleepStateField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(L"PowerMap", Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property cli::array< Microsoft::Kits::Samples::Usb::UsbHCPowerStateType^  >^  PowerMap {
            cli::array< Microsoft::Kits::Samples::Usb::UsbHCPowerStateType^  >^  get();
            System::Void set(cli::array< Microsoft::Kits::Samples::Usb::UsbHCPowerStateType^  >^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::String^  LastSleepState {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class UsbHCDeviceInfoType {
        
        private: System::Int64 vendorIdField;
        
        private: System::Int64 deviceIdField;
        
        private: System::String^  driverKeyField;
        
        private: System::Int64 subSysIdField;
        
        private: System::Int64 revisionField;
        
        private: System::UInt64 debugPortField;
        
        private: System::UInt64 numberOfRootPortsField;
        
        private: System::UInt64 controllerFlavorField;
        
        private: System::String^  controllerFlavorStringField;
        
        private: System::Boolean portSwitchingEnabledField;
        
        private: System::Boolean selectiveSuspendEnabledField;
        
        private: System::UInt64 legacyBiosField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property System::Int64 VendorId {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property System::Int64 DeviceId {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property System::String^  DriverKey {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=3)]
        property System::Int64 SubSysId {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=4)]
        property System::Int64 Revision {
            System::Int64 get();
            System::Void set(System::Int64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=5)]
        property System::UInt64 DebugPort {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=6)]
        property System::UInt64 NumberOfRootPorts {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=7)]
        property System::UInt64 ControllerFlavor {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=8)]
        property System::String^  ControllerFlavorString {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=9)]
        property System::Boolean PortSwitchingEnabled {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=10)]
        property System::Boolean SelectiveSuspendEnabled {
            System::Boolean get();
            System::Void set(System::Boolean value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=11)]
        property System::UInt64 LegacyBios {
            System::UInt64 get();
            System::Void set(System::UInt64 value);
        }
    };
    
    /// <remarks/>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(L"xsd", L"4.0.30319.17357"), 
    System::SerializableAttribute, 
    System::Diagnostics::DebuggerStepThroughAttribute, 
    System::ComponentModel::DesignerCategoryAttribute(L"code"), 
    System::Xml::Serialization::XmlTypeAttribute(Namespace=L"USB")]
    public ref class HostControllerType {
        
        private: Microsoft::Kits::Samples::Usb::UsbHCDeviceInfoType^  controllerInfoField;
        
        private: Microsoft::Kits::Samples::Usb::UsbHCPowerStateMappingType^  powerMappingField;
        
        private: Microsoft::Kits::Samples::Usb::RootHubType^  rootHubField;
        
        private: System::String^  serviceNameField;
        
        private: System::String^  hwIdField;
        
        private: System::String^  deviceIdField;
        
        private: System::String^  deviceNameField;
        
        private: System::String^  deviceClassField;
        
        private: System::String^  usbProtocolField;
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=0)]
        property Microsoft::Kits::Samples::Usb::UsbHCDeviceInfoType^  ControllerInfo {
            Microsoft::Kits::Samples::Usb::UsbHCDeviceInfoType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbHCDeviceInfoType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=1)]
        property Microsoft::Kits::Samples::Usb::UsbHCPowerStateMappingType^  PowerMapping {
            Microsoft::Kits::Samples::Usb::UsbHCPowerStateMappingType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::UsbHCPowerStateMappingType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlElementAttribute(Form=System::Xml::Schema::XmlSchemaForm::Unqualified, Order=2)]
        property Microsoft::Kits::Samples::Usb::RootHubType^  RootHub {
            Microsoft::Kits::Samples::Usb::RootHubType^  get();
            System::Void set(Microsoft::Kits::Samples::Usb::RootHubType^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  ServiceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  HwId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceId {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceName {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  DeviceClass {
            System::String^  get();
            System::Void set(System::String^  value);
        }
        
        /// <remarks/>
        public: [System::Xml::Serialization::XmlAttributeAttribute]
        property System::String^  UsbProtocol {
            System::String^  get();
            System::Void set(System::String^  value);
        }
    };
            }
        }
    }
}
namespace Microsoft {
    namespace Kits {
        namespace Samples {
            namespace Usb {
    
    
    
    
    
    
    
    inline Microsoft::Kits::Samples::Usb::UvcViewType^  UvcViewAll::UvcView::get() {
        return this->uvcViewField;
    }
    inline System::Void UvcViewAll::UvcView::set(Microsoft::Kits::Samples::Usb::UvcViewType^  value) {
        this->uvcViewField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::MachineInfoType^  UvcViewType::MachineInfo::get() {
        return this->machineInfoField;
    }
    inline System::Void UvcViewType::MachineInfo::set(Microsoft::Kits::Samples::Usb::MachineInfoType^  value) {
        this->machineInfoField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::HostControllerType^  >^  UvcViewType::UsbTree::get() {
        return this->usbTreeField;
    }
    inline System::Void UvcViewType::UsbTree::set(cli::array< Microsoft::Kits::Samples::Usb::HostControllerType^  >^  value) {
        this->usbTreeField = value;
    }
    
    
    inline System::Byte MachineInfoType::UvcMajorVersion::get() {
        return this->uvcMajorVersionField;
    }
    inline System::Void MachineInfoType::UvcMajorVersion::set(System::Byte value) {
        this->uvcMajorVersionField = value;
    }
    
    inline System::Byte MachineInfoType::UvcMinorVersion::get() {
        return this->uvcMinorVersionField;
    }
    inline System::Void MachineInfoType::UvcMinorVersion::set(System::Byte value) {
        this->uvcMinorVersionField = value;
    }
    
    inline System::Byte MachineInfoType::UvcMajorSpecVersion::get() {
        return this->uvcMajorSpecVersionField;
    }
    inline System::Void MachineInfoType::UvcMajorSpecVersion::set(System::Byte value) {
        this->uvcMajorSpecVersionField = value;
    }
    
    inline System::Byte MachineInfoType::UvcMinorSpecVersion::get() {
        return this->uvcMinorSpecVersionField;
    }
    inline System::Void MachineInfoType::UvcMinorSpecVersion::set(System::Byte value) {
        this->uvcMinorSpecVersionField = value;
    }
    
    inline System::DateTime MachineInfoType::CollectionTime::get() {
        return this->collectionTimeField;
    }
    inline System::Void MachineInfoType::CollectionTime::set(System::DateTime value) {
        this->collectionTimeField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::PortConnectorType^  NoDeviceType::PortConnector::get() {
        return this->portConnectorField;
    }
    inline System::Void NoDeviceType::PortConnector::set(Microsoft::Kits::Samples::Usb::PortConnectorType^  value) {
        this->portConnectorField = value;
    }
    
    inline System::String^  NoDeviceType::UsbPortNumber::get() {
        return this->usbPortNumberField;
    }
    inline System::Void NoDeviceType::UsbPortNumber::set(System::String^  value) {
        this->usbPortNumberField = value;
    }
    
    inline System::String^  NoDeviceType::Name::get() {
        return this->nameField;
    }
    inline System::Void NoDeviceType::Name::set(System::String^  value) {
        this->nameField = value;
    }
    
    
    inline System::UInt64 PortConnectorType::ConnectionIndex::get() {
        return this->connectionIndexField;
    }
    inline System::Void PortConnectorType::ConnectionIndex::set(System::UInt64 value) {
        this->connectionIndexField = value;
    }
    
    inline System::UInt64 PortConnectorType::ActualLength::get() {
        return this->actualLengthField;
    }
    inline System::Void PortConnectorType::ActualLength::set(System::UInt64 value) {
        this->actualLengthField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbPortPropertiesType^  PortConnectorType::UsbPortProperties::get() {
        return this->usbPortPropertiesField;
    }
    inline System::Void PortConnectorType::UsbPortProperties::set(Microsoft::Kits::Samples::Usb::UsbPortPropertiesType^  value) {
        this->usbPortPropertiesField = value;
    }
    
    inline System::UInt16 PortConnectorType::CompanionIndex::get() {
        return this->companionIndexField;
    }
    inline System::Void PortConnectorType::CompanionIndex::set(System::UInt16 value) {
        this->companionIndexField = value;
    }
    
    inline System::UInt16 PortConnectorType::CompanionPortNumber::get() {
        return this->companionPortNumberField;
    }
    inline System::Void PortConnectorType::CompanionPortNumber::set(System::UInt16 value) {
        this->companionPortNumberField = value;
    }
    
    inline System::String^  PortConnectorType::CompanionHubSymbolicLinkName::get() {
        return this->companionHubSymbolicLinkNameField;
    }
    inline System::Void PortConnectorType::CompanionHubSymbolicLinkName::set(System::String^  value) {
        this->companionHubSymbolicLinkNameField = value;
    }
    
    
    inline System::Boolean UsbPortPropertiesType::PortIsUserConnectable::get() {
        return this->portIsUserConnectableField;
    }
    inline System::Void UsbPortPropertiesType::PortIsUserConnectable::set(System::Boolean value) {
        this->portIsUserConnectableField = value;
    }
    
    inline System::Boolean UsbPortPropertiesType::PortIsDebugCapable::get() {
        return this->portIsDebugCapableField;
    }
    inline System::Void UsbPortPropertiesType::PortIsDebugCapable::set(System::Boolean value) {
        this->portIsDebugCapableField = value;
    }
    
    
    inline System::UInt64 NodeConnectionInfoExV2Type::ConnectionIndex::get() {
        return this->connectionIndexField;
    }
    inline System::Void NodeConnectionInfoExV2Type::ConnectionIndex::set(System::UInt64 value) {
        this->connectionIndexField = value;
    }
    
    inline System::UInt64 NodeConnectionInfoExV2Type::Length::get() {
        return this->lengthField;
    }
    inline System::Void NodeConnectionInfoExV2Type::Length::set(System::UInt64 value) {
        this->lengthField = value;
    }
    
    inline System::Boolean NodeConnectionInfoExV2Type::Usb110Supported::get() {
        return this->usb110SupportedField;
    }
    inline System::Void NodeConnectionInfoExV2Type::Usb110Supported::set(System::Boolean value) {
        this->usb110SupportedField = value;
    }
    
    inline System::Boolean NodeConnectionInfoExV2Type::Usb200Supported::get() {
        return this->usb200SupportedField;
    }
    inline System::Void NodeConnectionInfoExV2Type::Usb200Supported::set(System::Boolean value) {
        this->usb200SupportedField = value;
    }
    
    inline System::Boolean NodeConnectionInfoExV2Type::Usb300Supported::get() {
        return this->usb300SupportedField;
    }
    inline System::Void NodeConnectionInfoExV2Type::Usb300Supported::set(System::Boolean value) {
        this->usb300SupportedField = value;
    }
    
    inline System::Boolean NodeConnectionInfoExV2Type::DeviceIsOperatingAtSuperSpeedOrHigher::get() {
        return this->deviceIsOperatingAtSuperSpeedOrHigherField;
    }
    inline System::Void NodeConnectionInfoExV2Type::DeviceIsOperatingAtSuperSpeedOrHigher::set(System::Boolean value) {
        this->deviceIsOperatingAtSuperSpeedOrHigherField = value;
    }
    
    inline System::Boolean NodeConnectionInfoExV2Type::DeviceIsSuperSpeedCapableOrHigher::get() {
        return this->deviceIsSuperSpeedCapableOrHigherField;
    }
    inline System::Void NodeConnectionInfoExV2Type::DeviceIsSuperSpeedCapableOrHigher::set(System::Boolean value) {
        this->deviceIsSuperSpeedCapableOrHigherField = value;
    }
    
    
    inline System::String^  UsbDispContIdCapExtDescriptorType::ReservedBitError::get() {
        return this->reservedBitErrorField;
    }
    inline System::Void UsbDispContIdCapExtDescriptorType::ReservedBitError::set(System::String^  value) {
        this->reservedBitErrorField = value;
    }
    
    inline System::String^  UsbDispContIdCapExtDescriptorType::ContainerIdStr::get() {
        return this->containerIdStrField;
    }
    inline System::Void UsbDispContIdCapExtDescriptorType::ContainerIdStr::set(System::String^  value) {
        this->containerIdStrField = value;
    }
    
    inline System::Byte UsbDispContIdCapExtDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDispContIdCapExtDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDispContIdCapExtDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDispContIdCapExtDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::Byte UsbDispContIdCapExtDescriptorType::BReserved::get() {
        return this->bReservedField;
    }
    inline System::Void UsbDispContIdCapExtDescriptorType::BReserved::set(System::Byte value) {
        this->bReservedField = value;
    }
    
    inline System::Byte UsbDispContIdCapExtDescriptorType::BDevCapabilityType::get() {
        return this->bDevCapabilityTypeField;
    }
    inline System::Void UsbDispContIdCapExtDescriptorType::BDevCapabilityType::set(System::Byte value) {
        this->bDevCapabilityTypeField = value;
    }
    
    
    inline System::String^  UsbUsb20ExtensionDescriptorType::ReservedBitError::get() {
        return this->reservedBitErrorField;
    }
    inline System::Void UsbUsb20ExtensionDescriptorType::ReservedBitError::set(System::String^  value) {
        this->reservedBitErrorField = value;
    }
    
    inline System::Byte UsbUsb20ExtensionDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbUsb20ExtensionDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbUsb20ExtensionDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbUsb20ExtensionDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::Byte UsbUsb20ExtensionDescriptorType::BDevCapabilityType::get() {
        return this->bDevCapabilityTypeField;
    }
    inline System::Void UsbUsb20ExtensionDescriptorType::BDevCapabilityType::set(System::Byte value) {
        this->bDevCapabilityTypeField = value;
    }
    
    inline System::UInt64 UsbUsb20ExtensionDescriptorType::BmAttributes::get() {
        return this->bmAttributesField;
    }
    inline System::Void UsbUsb20ExtensionDescriptorType::BmAttributes::set(System::UInt64 value) {
        this->bmAttributesField = value;
    }
    
    inline System::Boolean UsbUsb20ExtensionDescriptorType::SupportsLinkPowerManagement::get() {
        return this->supportsLinkPowerManagementField;
    }
    inline System::Void UsbUsb20ExtensionDescriptorType::SupportsLinkPowerManagement::set(System::Boolean value) {
        this->supportsLinkPowerManagementField = value;
    }
    
    
    inline System::String^  UsbSuperSpeedExtensionDescriptorType::ReservedAttributesBitError::get() {
        return this->reservedAttributesBitErrorField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::ReservedAttributesBitError::set(System::String^  value) {
        this->reservedAttributesBitErrorField = value;
    }
    
    inline System::String^  UsbSuperSpeedExtensionDescriptorType::ReservedSpeedBitError::get() {
        return this->reservedSpeedBitErrorField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::ReservedSpeedBitError::set(System::String^  value) {
        this->reservedSpeedBitErrorField = value;
    }
    
    inline System::String^  UsbSuperSpeedExtensionDescriptorType::ReservedSpeedError::get() {
        return this->reservedSpeedErrorField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::ReservedSpeedError::set(System::String^  value) {
        this->reservedSpeedErrorField = value;
    }
    
    inline System::Byte UsbSuperSpeedExtensionDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbSuperSpeedExtensionDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::Byte UsbSuperSpeedExtensionDescriptorType::BDevCapabilityType::get() {
        return this->bDevCapabilityTypeField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::BDevCapabilityType::set(System::Byte value) {
        this->bDevCapabilityTypeField = value;
    }
    
    inline System::UInt64 UsbSuperSpeedExtensionDescriptorType::BmAttributes::get() {
        return this->bmAttributesField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::BmAttributes::set(System::UInt64 value) {
        this->bmAttributesField = value;
    }
    
    inline System::Boolean UsbSuperSpeedExtensionDescriptorType::LatencyToleranceMsgCapable::get() {
        return this->latencyToleranceMsgCapableField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::LatencyToleranceMsgCapable::set(System::Boolean value) {
        this->latencyToleranceMsgCapableField = value;
    }
    
    inline System::Byte UsbSuperSpeedExtensionDescriptorType::BFunctionalitySupport::get() {
        return this->bFunctionalitySupportField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::BFunctionalitySupport::set(System::Byte value) {
        this->bFunctionalitySupportField = value;
    }
    
    inline System::Byte UsbSuperSpeedExtensionDescriptorType::BU1DevExitLat::get() {
        return this->bU1DevExitLatField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::BU1DevExitLat::set(System::Byte value) {
        this->bU1DevExitLatField = value;
    }
    
    inline System::UInt16 UsbSuperSpeedExtensionDescriptorType::WSpeedsSupported::get() {
        return this->wSpeedsSupportedField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::WSpeedsSupported::set(System::UInt16 value) {
        this->wSpeedsSupportedField = value;
    }
    
    inline System::UInt16 UsbSuperSpeedExtensionDescriptorType::WU2DevExitLat::get() {
        return this->wU2DevExitLatField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::WU2DevExitLat::set(System::UInt16 value) {
        this->wU2DevExitLatField = value;
    }
    
    inline System::Boolean UsbSuperSpeedExtensionDescriptorType::SupportsLowSpeed::get() {
        return this->supportsLowSpeedField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::SupportsLowSpeed::set(System::Boolean value) {
        this->supportsLowSpeedField = value;
    }
    
    inline System::Boolean UsbSuperSpeedExtensionDescriptorType::SupportsFullSpeed::get() {
        return this->supportsFullSpeedField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::SupportsFullSpeed::set(System::Boolean value) {
        this->supportsFullSpeedField = value;
    }
    
    inline System::Boolean UsbSuperSpeedExtensionDescriptorType::SupportsHighSpeed::get() {
        return this->supportsHighSpeedField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::SupportsHighSpeed::set(System::Boolean value) {
        this->supportsHighSpeedField = value;
    }
    
    inline System::Boolean UsbSuperSpeedExtensionDescriptorType::SupportsSuperSpeed::get() {
        return this->supportsSuperSpeedField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::SupportsSuperSpeed::set(System::Boolean value) {
        this->supportsSuperSpeedField = value;
    }
    
    inline System::String^  UsbSuperSpeedExtensionDescriptorType::LowestSpeed::get() {
        return this->lowestSpeedField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::LowestSpeed::set(System::String^  value) {
        this->lowestSpeedField = value;
    }
    
    inline System::String^  UsbSuperSpeedExtensionDescriptorType::U1DevExitLatencyString::get() {
        return this->u1DevExitLatencyStringField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::U1DevExitLatencyString::set(System::String^  value) {
        this->u1DevExitLatencyStringField = value;
    }
    
    inline System::String^  UsbSuperSpeedExtensionDescriptorType::U2DevExitLatencyString::get() {
        return this->u2DevExitLatencyStringField;
    }
    inline System::Void UsbSuperSpeedExtensionDescriptorType::U2DevExitLatencyString::set(System::String^  value) {
        this->u2DevExitLatencyStringField = value;
    }
    
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  >^  UsbBosDescriptorType::UnknownDescriptor::get() {
        return this->unknownDescriptorField;
    }
    inline System::Void UsbBosDescriptorType::UnknownDescriptor::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  >^  value) {
        this->unknownDescriptorField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbSuperSpeedExtensionDescriptorType^  >^  UsbBosDescriptorType::UsbSuperSpeedExtensionDescriptor::get() {
        return this->usbSuperSpeedExtensionDescriptorField;
    }
    inline System::Void UsbBosDescriptorType::UsbSuperSpeedExtensionDescriptor::set(cli::array< Microsoft::Kits::Samples::Usb::UsbSuperSpeedExtensionDescriptorType^  >^  value) {
        this->usbSuperSpeedExtensionDescriptorField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbUsb20ExtensionDescriptorType^  >^  UsbBosDescriptorType::UsbUsb20ExtensionDescriptor::get() {
        return this->usbUsb20ExtensionDescriptorField;
    }
    inline System::Void UsbBosDescriptorType::UsbUsb20ExtensionDescriptor::set(cli::array< Microsoft::Kits::Samples::Usb::UsbUsb20ExtensionDescriptorType^  >^  value) {
        this->usbUsb20ExtensionDescriptorField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDispContIdCapExtDescriptorType^  >^  UsbBosDescriptorType::UsbDispContIdCapExtDescriptor::get() {
        return this->usbDispContIdCapExtDescriptorField;
    }
    inline System::Void UsbBosDescriptorType::UsbDispContIdCapExtDescriptor::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDispContIdCapExtDescriptorType^  >^  value) {
        this->usbDispContIdCapExtDescriptorField = value;
    }
    
    inline System::Byte UsbBosDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbBosDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbBosDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbBosDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::UInt16 UsbBosDescriptorType::WTotalLength::get() {
        return this->wTotalLengthField;
    }
    inline System::Void UsbBosDescriptorType::WTotalLength::set(System::UInt16 value) {
        this->wTotalLengthField = value;
    }
    
    inline System::Byte UsbBosDescriptorType::BNumDeviceCaps::get() {
        return this->bNumDeviceCapsField;
    }
    inline System::Void UsbBosDescriptorType::BNumDeviceCaps::set(System::Byte value) {
        this->bNumDeviceCapsField = value;
    }
    
    
    inline System::String^  UsbDeviceUnknownDescriptorType::UnknownDescriptor::get() {
        return this->unknownDescriptorField;
    }
    inline System::Void UsbDeviceUnknownDescriptorType::UnknownDescriptor::set(System::String^  value) {
        this->unknownDescriptorField = value;
    }
    
    inline System::Byte UsbDeviceUnknownDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDeviceUnknownDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDeviceUnknownDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceUnknownDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  UsbDeviceIADDescriptorType::FunctionDetails::get() {
        return this->functionDetailsField;
    }
    inline System::Void UsbDeviceIADDescriptorType::FunctionDetails::set(Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  value) {
        this->functionDetailsField = value;
    }
    
    inline System::String^  UsbDeviceIADDescriptorType::InterfaceError::get() {
        return this->interfaceErrorField;
    }
    inline System::Void UsbDeviceIADDescriptorType::InterfaceError::set(System::String^  value) {
        this->interfaceErrorField = value;
    }
    
    inline System::String^  UsbDeviceIADDescriptorType::FunctionClassError::get() {
        return this->functionClassErrorField;
    }
    inline System::Void UsbDeviceIADDescriptorType::FunctionClassError::set(System::String^  value) {
        this->functionClassErrorField = value;
    }
    
    inline System::String^  UsbDeviceIADDescriptorType::Protocol::get() {
        return this->protocolField;
    }
    inline System::Void UsbDeviceIADDescriptorType::Protocol::set(System::String^  value) {
        this->protocolField = value;
    }
    
    inline System::String^  UsbDeviceIADDescriptorType::StringDesc::get() {
        return this->stringDescField;
    }
    inline System::Void UsbDeviceIADDescriptorType::StringDesc::set(System::String^  value) {
        this->stringDescField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BFirstInterface::get() {
        return this->bFirstInterfaceField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BFirstInterface::set(System::Byte value) {
        this->bFirstInterfaceField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BInterfaceCount::get() {
        return this->bInterfaceCountField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BInterfaceCount::set(System::Byte value) {
        this->bInterfaceCountField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BFunctionClass::get() {
        return this->bFunctionClassField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BFunctionClass::set(System::Byte value) {
        this->bFunctionClassField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BFunctionSubclass::get() {
        return this->bFunctionSubclassField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BFunctionSubclass::set(System::Byte value) {
        this->bFunctionSubclassField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::BFunctionProtocol::get() {
        return this->bFunctionProtocolField;
    }
    inline System::Void UsbDeviceIADDescriptorType::BFunctionProtocol::set(System::Byte value) {
        this->bFunctionProtocolField = value;
    }
    
    inline System::Byte UsbDeviceIADDescriptorType::IFunction::get() {
        return this->iFunctionField;
    }
    inline System::Void UsbDeviceIADDescriptorType::IFunction::set(System::Byte value) {
        this->iFunctionField = value;
    }
    
    
    inline System::String^  UsbDeviceClassType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void UsbDeviceClassType::DeviceClass::set(System::String^  value) {
        this->deviceClassField = value;
    }
    
    inline System::String^  UsbDeviceClassType::DeviceSubclass::get() {
        return this->deviceSubclassField;
    }
    inline System::Void UsbDeviceClassType::DeviceSubclass::set(System::String^  value) {
        this->deviceSubclassField = value;
    }
    
    
    inline System::Byte UsbDeviceOTGDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDeviceOTGDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDeviceOTGDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceOTGDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::Byte UsbDeviceOTGDescriptorType::BmAttributes::get() {
        return this->bmAttributesField;
    }
    inline System::Void UsbDeviceOTGDescriptorType::BmAttributes::set(System::Byte value) {
        this->bmAttributesField = value;
    }
    
    inline System::String^  UsbDeviceOTGDescriptorType::AttributesString::get() {
        return this->attributesStringField;
    }
    inline System::Void UsbDeviceOTGDescriptorType::AttributesString::set(System::String^  value) {
        this->attributesStringField = value;
    }
    
    
    inline System::Byte UsbDeviceHidOptionalDescriptorsType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceHidOptionalDescriptorsType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::UInt16 UsbDeviceHidOptionalDescriptorsType::WDescriptorLength::get() {
        return this->wDescriptorLengthField;
    }
    inline System::Void UsbDeviceHidOptionalDescriptorsType::WDescriptorLength::set(System::UInt16 value) {
        this->wDescriptorLengthField = value;
    }
    
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceHidOptionalDescriptorsType^  >^  UsbDeviceHidDescriptorType::OptionalDescriptor::get() {
        return this->optionalDescriptorField;
    }
    inline System::Void UsbDeviceHidDescriptorType::OptionalDescriptor::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceHidOptionalDescriptorsType^  >^  value) {
        this->optionalDescriptorField = value;
    }
    
    inline System::Byte UsbDeviceHidDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDeviceHidDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDeviceHidDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceHidDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::UInt16 UsbDeviceHidDescriptorType::BcdHID::get() {
        return this->bcdHIDField;
    }
    inline System::Void UsbDeviceHidDescriptorType::BcdHID::set(System::UInt16 value) {
        this->bcdHIDField = value;
    }
    
    inline System::Byte UsbDeviceHidDescriptorType::BCountryCode::get() {
        return this->bCountryCodeField;
    }
    inline System::Void UsbDeviceHidDescriptorType::BCountryCode::set(System::Byte value) {
        this->bCountryCodeField = value;
    }
    
    inline System::Byte UsbDeviceHidDescriptorType::BNumDescriptors::get() {
        return this->bNumDescriptorsField;
    }
    inline System::Void UsbDeviceHidDescriptorType::BNumDescriptors::set(System::Byte value) {
        this->bNumDescriptorsField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  UsbDeviceInterfaceDescriptorType::InterfaceDetails::get() {
        return this->interfaceDetailsField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::InterfaceDetails::set(Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  value) {
        this->interfaceDetailsField = value;
    }
    
    inline System::String^  UsbDeviceInterfaceDescriptorType::ProtocolError::get() {
        return this->protocolErrorField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::ProtocolError::set(System::String^  value) {
        this->protocolErrorField = value;
    }
    
    inline System::String^  UsbDeviceInterfaceDescriptorType::StringDesc::get() {
        return this->stringDescField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::StringDesc::set(System::String^  value) {
        this->stringDescField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BInterfaceNumber::get() {
        return this->bInterfaceNumberField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BInterfaceNumber::set(System::Byte value) {
        this->bInterfaceNumberField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BAlternateSetting::get() {
        return this->bAlternateSettingField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BAlternateSetting::set(System::Byte value) {
        this->bAlternateSettingField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BNumEndpoints::get() {
        return this->bNumEndpointsField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BNumEndpoints::set(System::Byte value) {
        this->bNumEndpointsField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BInterfaceClass::get() {
        return this->bInterfaceClassField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BInterfaceClass::set(System::Byte value) {
        this->bInterfaceClassField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BInterfaceSubclass::get() {
        return this->bInterfaceSubclassField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BInterfaceSubclass::set(System::Byte value) {
        this->bInterfaceSubclassField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::BInterfaceProtocol::get() {
        return this->bInterfaceProtocolField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::BInterfaceProtocol::set(System::Byte value) {
        this->bInterfaceProtocolField = value;
    }
    
    inline System::Byte UsbDeviceInterfaceDescriptorType::IInterface::get() {
        return this->iInterfaceField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::IInterface::set(System::Byte value) {
        this->iInterfaceField = value;
    }
    
    inline System::UInt16 UsbDeviceInterfaceDescriptorType::WNumClasses::get() {
        return this->wNumClassesField;
    }
    inline System::Void UsbDeviceInterfaceDescriptorType::WNumClasses::set(System::UInt16 value) {
        this->wNumClassesField = value;
    }
    
    
    inline System::String^  UsbDeviceQualifierDescriptorType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::DeviceClass::set(System::String^  value) {
        this->deviceClassField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::MaxPacketSizeInBytes::get() {
        return this->maxPacketSizeInBytesField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::MaxPacketSizeInBytes::set(System::Byte value) {
        this->maxPacketSizeInBytesField = value;
    }
    
    inline System::Boolean UsbDeviceQualifierDescriptorType::MaxPacketSizeInBytesSpecified::get() {
        return this->maxPacketSizeInBytesFieldSpecified;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::MaxPacketSizeInBytesSpecified::set(System::Boolean value) {
        this->maxPacketSizeInBytesFieldSpecified = value;
    }
    
    inline System::String^  UsbDeviceQualifierDescriptorType::DeviceClassError::get() {
        return this->deviceClassErrorField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::DeviceClassError::set(System::String^  value) {
        this->deviceClassErrorField = value;
    }
    
    inline System::String^  UsbDeviceQualifierDescriptorType::DeviceSubclassError::get() {
        return this->deviceSubclassErrorField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::DeviceSubclassError::set(System::String^  value) {
        this->deviceSubclassErrorField = value;
    }
    
    inline System::String^  UsbDeviceQualifierDescriptorType::DeviceProtocolError::get() {
        return this->deviceProtocolErrorField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::DeviceProtocolError::set(System::String^  value) {
        this->deviceProtocolErrorField = value;
    }
    
    inline System::String^  UsbDeviceQualifierDescriptorType::DeviceNumConfigError::get() {
        return this->deviceNumConfigErrorField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::DeviceNumConfigError::set(System::String^  value) {
        this->deviceNumConfigErrorField = value;
    }
    
    inline System::String^  UsbDeviceQualifierDescriptorType::ReservedError::get() {
        return this->reservedErrorField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::ReservedError::set(System::String^  value) {
        this->reservedErrorField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::UInt16 UsbDeviceQualifierDescriptorType::BcdUSB::get() {
        return this->bcdUSBField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BcdUSB::set(System::UInt16 value) {
        this->bcdUSBField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::BDeviceClass::get() {
        return this->bDeviceClassField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BDeviceClass::set(System::Byte value) {
        this->bDeviceClassField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::BDeviceSubclass::get() {
        return this->bDeviceSubclassField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BDeviceSubclass::set(System::Byte value) {
        this->bDeviceSubclassField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::BDeviceProtocol::get() {
        return this->bDeviceProtocolField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BDeviceProtocol::set(System::Byte value) {
        this->bDeviceProtocolField = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::BMaxPacketSize0::get() {
        return this->bMaxPacketSize0Field;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::BMaxPacketSize0::set(System::Byte value) {
        this->bMaxPacketSize0Field = value;
    }
    
    inline System::Byte UsbDeviceQualifierDescriptorType::NumConfigurations::get() {
        return this->numConfigurationsField;
    }
    inline System::Void UsbDeviceQualifierDescriptorType::NumConfigurations::set(System::Byte value) {
        this->numConfigurationsField = value;
    }
    
    
    inline System::String^  UsbConfigurationDescriptorType::ConfigDescError::get() {
        return this->configDescErrorField;
    }
    inline System::Void UsbConfigurationDescriptorType::ConfigDescError::set(System::String^  value) {
        this->configDescErrorField = value;
    }
    
    inline System::String^  UsbConfigurationDescriptorType::ConfValueError::get() {
        return this->confValueErrorField;
    }
    inline System::Void UsbConfigurationDescriptorType::ConfValueError::set(System::String^  value) {
        this->confValueErrorField = value;
    }
    
    inline System::String^  UsbConfigurationDescriptorType::ConfStringDesc::get() {
        return this->confStringDescField;
    }
    inline System::Void UsbConfigurationDescriptorType::ConfStringDesc::set(System::String^  value) {
        this->confStringDescField = value;
    }
    
    inline System::String^  UsbConfigurationDescriptorType::AttributesStr::get() {
        return this->attributesStrField;
    }
    inline System::Void UsbConfigurationDescriptorType::AttributesStr::set(System::String^  value) {
        this->attributesStrField = value;
    }
    
    inline System::String^  UsbConfigurationDescriptorType::MaxCurrent::get() {
        return this->maxCurrentField;
    }
    inline System::Void UsbConfigurationDescriptorType::MaxCurrent::set(System::String^  value) {
        this->maxCurrentField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::BLength::get() {
        return this->bLengthField;
    }
    inline System::Void UsbConfigurationDescriptorType::BLength::set(System::Byte value) {
        this->bLengthField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::BDescriptorType::get() {
        return this->bDescriptorTypeField;
    }
    inline System::Void UsbConfigurationDescriptorType::BDescriptorType::set(System::Byte value) {
        this->bDescriptorTypeField = value;
    }
    
    inline System::UInt16 UsbConfigurationDescriptorType::WTotalLength::get() {
        return this->wTotalLengthField;
    }
    inline System::Void UsbConfigurationDescriptorType::WTotalLength::set(System::UInt16 value) {
        this->wTotalLengthField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::BNumInterfaces::get() {
        return this->bNumInterfacesField;
    }
    inline System::Void UsbConfigurationDescriptorType::BNumInterfaces::set(System::Byte value) {
        this->bNumInterfacesField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::BConfigurationValue::get() {
        return this->bConfigurationValueField;
    }
    inline System::Void UsbConfigurationDescriptorType::BConfigurationValue::set(System::Byte value) {
        this->bConfigurationValueField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::IConfiguration::get() {
        return this->iConfigurationField;
    }
    inline System::Void UsbConfigurationDescriptorType::IConfiguration::set(System::Byte value) {
        this->iConfigurationField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::BmAttributes::get() {
        return this->bmAttributesField;
    }
    inline System::Void UsbConfigurationDescriptorType::BmAttributes::set(System::Byte value) {
        this->bmAttributesField = value;
    }
    
    inline System::Byte UsbConfigurationDescriptorType::MaxPower::get() {
        return this->maxPowerField;
    }
    inline System::Void UsbConfigurationDescriptorType::MaxPower::set(System::Byte value) {
        this->maxPowerField = value;
    }
    
    
    inline System::String^  UsbDeviceConfigurationType::DeviceQualifierError::get() {
        return this->deviceQualifierErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::DeviceQualifierError::set(System::String^  value) {
        this->deviceQualifierErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::SpeedConfigurationError::get() {
        return this->speedConfigurationErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::SpeedConfigurationError::set(System::String^  value) {
        this->speedConfigurationErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::DeviceConfigurationError::get() {
        return this->deviceConfigurationErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::DeviceConfigurationError::set(System::String^  value) {
        this->deviceConfigurationErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::InterfaceError::get() {
        return this->interfaceErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::InterfaceError::set(System::String^  value) {
        this->interfaceErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::PreReleaseError::get() {
        return this->preReleaseErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::PreReleaseError::set(System::String^  value) {
        this->preReleaseErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::EndpointError::get() {
        return this->endpointErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::EndpointError::set(System::String^  value) {
        this->endpointErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::HidError::get() {
        return this->hidErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::HidError::set(System::String^  value) {
        this->hidErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::OtgError::get() {
        return this->otgErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::OtgError::set(System::String^  value) {
        this->otgErrorField = value;
    }
    
    inline System::String^  UsbDeviceConfigurationType::IadError::get() {
        return this->iadErrorField;
    }
    inline System::Void UsbDeviceConfigurationType::IadError::set(System::String^  value) {
        this->iadErrorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  UsbDeviceConfigurationType::DeviceDetails::get() {
        return this->deviceDetailsField;
    }
    inline System::Void UsbDeviceConfigurationType::DeviceDetails::set(Microsoft::Kits::Samples::Usb::UsbDeviceClassType^  value) {
        this->deviceDetailsField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbConfigurationDescriptorType^  UsbDeviceConfigurationType::ConfigurationDescriptor::get() {
        return this->configurationDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::ConfigurationDescriptor::set(Microsoft::Kits::Samples::Usb::UsbConfigurationDescriptorType^  value) {
        this->configurationDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceQualifierDescriptorType^  UsbDeviceConfigurationType::DeviceQualifierDescriptor::get() {
        return this->deviceQualifierDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::DeviceQualifierDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceQualifierDescriptorType^  value) {
        this->deviceQualifierDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceInterfaceDescriptorType^  UsbDeviceConfigurationType::InterfaceDescriptor::get() {
        return this->interfaceDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::InterfaceDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceInterfaceDescriptorType^  value) {
        this->interfaceDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  UsbDeviceConfigurationType::EndpointDescriptor::get() {
        return this->endpointDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::EndpointDescriptor::set(Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  value) {
        this->endpointDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceHidDescriptorType^  UsbDeviceConfigurationType::HidDescriptor::get() {
        return this->hidDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::HidDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceHidDescriptorType^  value) {
        this->hidDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceOTGDescriptorType^  UsbDeviceConfigurationType::OtgDescriptor::get() {
        return this->otgDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::OtgDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceOTGDescriptorType^  value) {
        this->otgDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceIADDescriptorType^  UsbDeviceConfigurationType::IadDescriptor::get() {
        return this->iadDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::IadDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceIADDescriptorType^  value) {
        this->iadDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  UsbDeviceConfigurationType::UnknownDescriptor::get() {
        return this->unknownDescriptorField;
    }
    inline System::Void UsbDeviceConfigurationType::UnknownDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceUnknownDescriptorType^  value) {
        this->unknownDescriptorField = value;
    }
    
    
    inline System::Byte EndpointDescriptorType::Length::get() {
        return this->lengthField;
    }
    inline System::Void EndpointDescriptorType::Length::set(System::Byte value) {
        this->lengthField = value;
    }
    
    inline System::Byte EndpointDescriptorType::DescriptorType::get() {
        return this->descriptorTypeField;
    }
    inline System::Void EndpointDescriptorType::DescriptorType::set(System::Byte value) {
        this->descriptorTypeField = value;
    }
    
    inline System::Byte EndpointDescriptorType::EndpointAddress::get() {
        return this->endpointAddressField;
    }
    inline System::Void EndpointDescriptorType::EndpointAddress::set(System::Byte value) {
        this->endpointAddressField = value;
    }
    
    inline System::Byte EndpointDescriptorType::Attributes::get() {
        return this->attributesField;
    }
    inline System::Void EndpointDescriptorType::Attributes::set(System::Byte value) {
        this->attributesField = value;
    }
    
    inline System::UInt16 EndpointDescriptorType::MaxPacketSize::get() {
        return this->maxPacketSizeField;
    }
    inline System::Void EndpointDescriptorType::MaxPacketSize::set(System::UInt16 value) {
        this->maxPacketSizeField = value;
    }
    
    inline System::Byte EndpointDescriptorType::Interval::get() {
        return this->intervalField;
    }
    inline System::Void EndpointDescriptorType::Interval::set(System::Byte value) {
        this->intervalField = value;
    }
    
    inline System::UInt16 EndpointDescriptorType::WInterval::get() {
        return this->wIntervalField;
    }
    inline System::Void EndpointDescriptorType::WInterval::set(System::UInt16 value) {
        this->wIntervalField = value;
    }
    
    inline System::Byte EndpointDescriptorType::SyncAddress::get() {
        return this->syncAddressField;
    }
    inline System::Void EndpointDescriptorType::SyncAddress::set(System::Byte value) {
        this->syncAddressField = value;
    }
    
    inline System::String^  EndpointDescriptorType::EndpointDirection::get() {
        return this->endpointDirectionField;
    }
    inline System::Void EndpointDescriptorType::EndpointDirection::set(System::String^  value) {
        this->endpointDirectionField = value;
    }
    
    inline System::Byte EndpointDescriptorType::EndpointId::get() {
        return this->endpointIdField;
    }
    inline System::Void EndpointDescriptorType::EndpointId::set(System::Byte value) {
        this->endpointIdField = value;
    }
    
    inline System::String^  EndpointDescriptorType::EndpointType::get() {
        return this->endpointTypeField;
    }
    inline System::Void EndpointDescriptorType::EndpointType::set(System::String^  value) {
        this->endpointTypeField = value;
    }
    
    inline System::String^  EndpointDescriptorType::EndpointPacketInfo::get() {
        return this->endpointPacketInfoField;
    }
    inline System::Void EndpointDescriptorType::EndpointPacketInfo::set(System::String^  value) {
        this->endpointPacketInfoField = value;
    }
    
    inline System::String^  EndpointDescriptorType::EndpointPacketSizeValidation::get() {
        return this->endpointPacketSizeValidationField;
    }
    inline System::Void EndpointDescriptorType::EndpointPacketSizeValidation::set(System::String^  value) {
        this->endpointPacketSizeValidationField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  UsbDeviceType::ConnectionInfo::get() {
        return this->connectionInfoField;
    }
    inline System::Void UsbDeviceType::ConnectionInfo::set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  value) {
        this->connectionInfoField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::PortConnectorType^  UsbDeviceType::PortConnector::get() {
        return this->portConnectorField;
    }
    inline System::Void UsbDeviceType::PortConnector::set(Microsoft::Kits::Samples::Usb::PortConnectorType^  value) {
        this->portConnectorField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  UsbDeviceType::DeviceConfiguration::get() {
        return this->deviceConfigurationField;
    }
    inline System::Void UsbDeviceType::DeviceConfiguration::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  value) {
        this->deviceConfigurationField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  UsbDeviceType::BosDescriptor::get() {
        return this->bosDescriptorField;
    }
    inline System::Void UsbDeviceType::BosDescriptor::set(Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  value) {
        this->bosDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  UsbDeviceType::ConnectionInfoV2::get() {
        return this->connectionInfoV2Field;
    }
    inline System::Void UsbDeviceType::ConnectionInfoV2::set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  value) {
        this->connectionInfoV2Field = value;
    }
    
    inline System::String^  UsbDeviceType::UsbPortNumber::get() {
        return this->usbPortNumberField;
    }
    inline System::Void UsbDeviceType::UsbPortNumber::set(System::String^  value) {
        this->usbPortNumberField = value;
    }
    
    inline System::String^  UsbDeviceType::ServiceName::get() {
        return this->serviceNameField;
    }
    inline System::Void UsbDeviceType::ServiceName::set(System::String^  value) {
        this->serviceNameField = value;
    }
    
    inline System::String^  UsbDeviceType::HwId::get() {
        return this->hwIdField;
    }
    inline System::Void UsbDeviceType::HwId::set(System::String^  value) {
        this->hwIdField = value;
    }
    
    inline System::String^  UsbDeviceType::DeviceId::get() {
        return this->deviceIdField;
    }
    inline System::Void UsbDeviceType::DeviceId::set(System::String^  value) {
        this->deviceIdField = value;
    }
    
    inline System::String^  UsbDeviceType::DeviceName::get() {
        return this->deviceNameField;
    }
    inline System::Void UsbDeviceType::DeviceName::set(System::String^  value) {
        this->deviceNameField = value;
    }
    
    inline System::String^  UsbDeviceType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void UsbDeviceType::DeviceClass::set(System::String^  value) {
        this->deviceClassField = value;
    }
    
    inline System::String^  UsbDeviceType::UsbProtocol::get() {
        return this->usbProtocolField;
    }
    inline System::Void UsbDeviceType::UsbProtocol::set(System::String^  value) {
        this->usbProtocolField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::NodeConnectionInfoExStructType^  NodeConnectionInfoExType::ConnectionInfoStruct::get() {
        return this->connectionInfoStructField;
    }
    inline System::Void NodeConnectionInfoExType::ConnectionInfoStruct::set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExStructType^  value) {
        this->connectionInfoStructField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::IProductStringDescEn::get() {
        return this->iProductStringDescEnField;
    }
    inline System::Void NodeConnectionInfoExType::IProductStringDescEn::set(System::String^  value) {
        this->iProductStringDescEnField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceClassDetailsType^  NodeConnectionInfoExType::DeviceClassDetails::get() {
        return this->deviceClassDetailsField;
    }
    inline System::Void NodeConnectionInfoExType::DeviceClassDetails::set(Microsoft::Kits::Samples::Usb::UsbDeviceClassDetailsType^  value) {
        this->deviceClassDetailsField = value;
    }
    
    inline System::Byte NodeConnectionInfoExType::MaxPacketSizeInBytes::get() {
        return this->maxPacketSizeInBytesField;
    }
    inline System::Void NodeConnectionInfoExType::MaxPacketSizeInBytes::set(System::Byte value) {
        this->maxPacketSizeInBytesField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::VendorString::get() {
        return this->vendorStringField;
    }
    inline System::Void NodeConnectionInfoExType::VendorString::set(System::String^  value) {
        this->vendorStringField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::ManufacturerString::get() {
        return this->manufacturerStringField;
    }
    inline System::Void NodeConnectionInfoExType::ManufacturerString::set(System::String^  value) {
        this->manufacturerStringField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::ProductString::get() {
        return this->productStringField;
    }
    inline System::Void NodeConnectionInfoExType::ProductString::set(System::String^  value) {
        this->productStringField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::LangIdString::get() {
        return this->langIdStringField;
    }
    inline System::Void NodeConnectionInfoExType::LangIdString::set(System::String^  value) {
        this->langIdStringField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::SerialString::get() {
        return this->serialStringField;
    }
    inline System::Void NodeConnectionInfoExType::SerialString::set(System::String^  value) {
        this->serialStringField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::PipeInfoError::get() {
        return this->pipeInfoErrorField;
    }
    inline System::Void NodeConnectionInfoExType::PipeInfoError::set(System::String^  value) {
        this->pipeInfoErrorField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::LengthError::get() {
        return this->lengthErrorField;
    }
    inline System::Void NodeConnectionInfoExType::LengthError::set(System::String^  value) {
        this->lengthErrorField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::DeviceError::get() {
        return this->deviceErrorField;
    }
    inline System::Void NodeConnectionInfoExType::DeviceError::set(System::String^  value) {
        this->deviceErrorField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::PacketSizeError::get() {
        return this->packetSizeErrorField;
    }
    inline System::Void NodeConnectionInfoExType::PacketSizeError::set(System::String^  value) {
        this->packetSizeErrorField = value;
    }
    
    inline System::String^  NodeConnectionInfoExType::ConfigurationCountError::get() {
        return this->configurationCountErrorField;
    }
    inline System::Void NodeConnectionInfoExType::ConfigurationCountError::set(System::String^  value) {
        this->configurationCountErrorField = value;
    }
    
    
    inline System::UInt64 NodeConnectionInfoExStructType::ConnectionIndex::get() {
        return this->connectionIndexField;
    }
    inline System::Void NodeConnectionInfoExStructType::ConnectionIndex::set(System::UInt64 value) {
        this->connectionIndexField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbDeviceDescriptorType^  NodeConnectionInfoExStructType::DeviceDescriptor::get() {
        return this->deviceDescriptorField;
    }
    inline System::Void NodeConnectionInfoExStructType::DeviceDescriptor::set(Microsoft::Kits::Samples::Usb::UsbDeviceDescriptorType^  value) {
        this->deviceDescriptorField = value;
    }
    
    inline System::Byte NodeConnectionInfoExStructType::CurrentConfigurationValue::get() {
        return this->currentConfigurationValueField;
    }
    inline System::Void NodeConnectionInfoExStructType::CurrentConfigurationValue::set(System::Byte value) {
        this->currentConfigurationValueField = value;
    }
    
    inline System::Byte NodeConnectionInfoExStructType::Speed::get() {
        return this->speedField;
    }
    inline System::Void NodeConnectionInfoExStructType::Speed::set(System::Byte value) {
        this->speedField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbConnectionSpeedType NodeConnectionInfoExStructType::SpeedStr::get() {
        return this->speedStrField;
    }
    inline System::Void NodeConnectionInfoExStructType::SpeedStr::set(Microsoft::Kits::Samples::Usb::UsbConnectionSpeedType value) {
        this->speedStrField = value;
    }
    
    inline System::Boolean NodeConnectionInfoExStructType::DeviceIsHub::get() {
        return this->deviceIsHubField;
    }
    inline System::Void NodeConnectionInfoExStructType::DeviceIsHub::set(System::Boolean value) {
        this->deviceIsHubField = value;
    }
    
    inline System::Byte NodeConnectionInfoExStructType::DeviceAddress::get() {
        return this->deviceAddressField;
    }
    inline System::Void NodeConnectionInfoExStructType::DeviceAddress::set(System::Byte value) {
        this->deviceAddressField = value;
    }
    
    inline System::UInt64 NodeConnectionInfoExStructType::NumOfOpenPipes::get() {
        return this->numOfOpenPipesField;
    }
    inline System::Void NodeConnectionInfoExStructType::NumOfOpenPipes::set(System::UInt64 value) {
        this->numOfOpenPipesField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbConnectionStatusType NodeConnectionInfoExStructType::UsbConnectionStatus::get() {
        return this->usbConnectionStatusField;
    }
    inline System::Void NodeConnectionInfoExStructType::UsbConnectionStatus::set(Microsoft::Kits::Samples::Usb::UsbConnectionStatusType value) {
        this->usbConnectionStatusField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::DevicePowerStateType NodeConnectionInfoExStructType::DevicePowerState::get() {
        return this->devicePowerStateField;
    }
    inline System::Void NodeConnectionInfoExStructType::DevicePowerState::set(Microsoft::Kits::Samples::Usb::DevicePowerStateType value) {
        this->devicePowerStateField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbPipeInfoType^  >^  NodeConnectionInfoExStructType::Pipe::get() {
        return this->pipeField;
    }
    inline System::Void NodeConnectionInfoExStructType::Pipe::set(cli::array< Microsoft::Kits::Samples::Usb::UsbPipeInfoType^  >^  value) {
        this->pipeField = value;
    }
    
    
    inline System::Byte UsbDeviceDescriptorType::Length::get() {
        return this->lengthField;
    }
    inline System::Void UsbDeviceDescriptorType::Length::set(System::Byte value) {
        this->lengthField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::DescriptorType::get() {
        return this->descriptorTypeField;
    }
    inline System::Void UsbDeviceDescriptorType::DescriptorType::set(System::Byte value) {
        this->descriptorTypeField = value;
    }
    
    inline System::UInt16 UsbDeviceDescriptorType::CdUSB::get() {
        return this->cdUSBField;
    }
    inline System::Void UsbDeviceDescriptorType::CdUSB::set(System::UInt16 value) {
        this->cdUSBField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void UsbDeviceDescriptorType::DeviceClass::set(System::Byte value) {
        this->deviceClassField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::DeviceSubclass::get() {
        return this->deviceSubclassField;
    }
    inline System::Void UsbDeviceDescriptorType::DeviceSubclass::set(System::Byte value) {
        this->deviceSubclassField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::DeviceProtocol::get() {
        return this->deviceProtocolField;
    }
    inline System::Void UsbDeviceDescriptorType::DeviceProtocol::set(System::Byte value) {
        this->deviceProtocolField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::MaxPacketSize0::get() {
        return this->maxPacketSize0Field;
    }
    inline System::Void UsbDeviceDescriptorType::MaxPacketSize0::set(System::Byte value) {
        this->maxPacketSize0Field = value;
    }
    
    inline System::UInt16 UsbDeviceDescriptorType::IdVendor::get() {
        return this->idVendorField;
    }
    inline System::Void UsbDeviceDescriptorType::IdVendor::set(System::UInt16 value) {
        this->idVendorField = value;
    }
    
    inline System::UInt16 UsbDeviceDescriptorType::IdProduct::get() {
        return this->idProductField;
    }
    inline System::Void UsbDeviceDescriptorType::IdProduct::set(System::UInt16 value) {
        this->idProductField = value;
    }
    
    inline System::UInt16 UsbDeviceDescriptorType::CdDevice::get() {
        return this->cdDeviceField;
    }
    inline System::Void UsbDeviceDescriptorType::CdDevice::set(System::UInt16 value) {
        this->cdDeviceField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::IManufacturer::get() {
        return this->iManufacturerField;
    }
    inline System::Void UsbDeviceDescriptorType::IManufacturer::set(System::Byte value) {
        this->iManufacturerField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::IProduct::get() {
        return this->iProductField;
    }
    inline System::Void UsbDeviceDescriptorType::IProduct::set(System::Byte value) {
        this->iProductField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::ISerialNumber::get() {
        return this->iSerialNumberField;
    }
    inline System::Void UsbDeviceDescriptorType::ISerialNumber::set(System::Byte value) {
        this->iSerialNumberField = value;
    }
    
    inline System::Byte UsbDeviceDescriptorType::NumConfigurations::get() {
        return this->numConfigurationsField;
    }
    inline System::Void UsbDeviceDescriptorType::NumConfigurations::set(System::Byte value) {
        this->numConfigurationsField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  UsbPipeInfoType::EndpointDescriptor::get() {
        return this->endpointDescriptorField;
    }
    inline System::Void UsbPipeInfoType::EndpointDescriptor::set(Microsoft::Kits::Samples::Usb::EndpointDescriptorType^  value) {
        this->endpointDescriptorField = value;
    }
    
    inline System::UInt64 UsbPipeInfoType::ScheduleOffset::get() {
        return this->scheduleOffsetField;
    }
    inline System::Void UsbPipeInfoType::ScheduleOffset::set(System::UInt64 value) {
        this->scheduleOffsetField = value;
    }
    
    
    inline System::String^  UsbDeviceClassDetailsType::DeviceType::get() {
        return this->deviceTypeField;
    }
    inline System::Void UsbDeviceClassDetailsType::DeviceType::set(System::String^  value) {
        this->deviceTypeField = value;
    }
    
    inline System::String^  UsbDeviceClassDetailsType::DeviceTypeError::get() {
        return this->deviceTypeErrorField;
    }
    inline System::Void UsbDeviceClassDetailsType::DeviceTypeError::set(System::String^  value) {
        this->deviceTypeErrorField = value;
    }
    
    inline System::String^  UsbDeviceClassDetailsType::SubclassType::get() {
        return this->subclassTypeField;
    }
    inline System::Void UsbDeviceClassDetailsType::SubclassType::set(System::String^  value) {
        this->subclassTypeField = value;
    }
    
    inline System::String^  UsbDeviceClassDetailsType::SubclassTypeError::get() {
        return this->subclassTypeErrorField;
    }
    inline System::Void UsbDeviceClassDetailsType::SubclassTypeError::set(System::String^  value) {
        this->subclassTypeErrorField = value;
    }
    
    inline System::String^  UsbDeviceClassDetailsType::DeviceProtocol::get() {
        return this->deviceProtocolField;
    }
    inline System::Void UsbDeviceClassDetailsType::DeviceProtocol::set(System::String^  value) {
        this->deviceProtocolField = value;
    }
    
    inline System::String^  UsbDeviceClassDetailsType::DeviceProtocolError::get() {
        return this->deviceProtocolErrorField;
    }
    inline System::Void UsbDeviceClassDetailsType::DeviceProtocolError::set(System::String^  value) {
        this->deviceProtocolErrorField = value;
    }
    
    inline System::UInt32 UsbDeviceClassDetailsType::UvcVersion::get() {
        return this->uvcVersionField;
    }
    inline System::Void UsbDeviceClassDetailsType::UvcVersion::set(System::UInt32 value) {
        this->uvcVersionField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::HubNodeInformationType^  ExternalHubType::HubNodeInformation::get() {
        return this->hubNodeInformationField;
    }
    inline System::Void ExternalHubType::HubNodeInformation::set(Microsoft::Kits::Samples::Usb::HubNodeInformationType^  value) {
        this->hubNodeInformationField = value;
    }
    
    inline System::String^  ExternalHubType::HubName::get() {
        return this->hubNameField;
    }
    inline System::Void ExternalHubType::HubName::set(System::String^  value) {
        this->hubNameField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubInformationExType^  ExternalHubType::HubInformationEx::get() {
        return this->hubInformationExField;
    }
    inline System::Void ExternalHubType::HubInformationEx::set(Microsoft::Kits::Samples::Usb::HubInformationExType^  value) {
        this->hubInformationExField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  ExternalHubType::HubCapabilityEx::get() {
        return this->hubCapabilityExField;
    }
    inline System::Void ExternalHubType::HubCapabilityEx::set(Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  value) {
        this->hubCapabilityExField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  ExternalHubType::ConnectionInfo::get() {
        return this->connectionInfoField;
    }
    inline System::Void ExternalHubType::ConnectionInfo::set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExType^  value) {
        this->connectionInfoField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  ExternalHubType::UsbDevice::get() {
        return this->usbDeviceField;
    }
    inline System::Void ExternalHubType::UsbDevice::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  value) {
        this->usbDeviceField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  ExternalHubType::NoDevice::get() {
        return this->noDeviceField;
    }
    inline System::Void ExternalHubType::NoDevice::set(cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  value) {
        this->noDeviceField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  ExternalHubType::DeviceConfiguration::get() {
        return this->deviceConfigurationField;
    }
    inline System::Void ExternalHubType::DeviceConfiguration::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceConfigurationType^  >^  value) {
        this->deviceConfigurationField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  ExternalHubType::BosDescriptor::get() {
        return this->bosDescriptorField;
    }
    inline System::Void ExternalHubType::BosDescriptor::set(Microsoft::Kits::Samples::Usb::UsbBosDescriptorType^  value) {
        this->bosDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  ExternalHubType::ConnectionInfoV2::get() {
        return this->connectionInfoV2Field;
    }
    inline System::Void ExternalHubType::ConnectionInfoV2::set(Microsoft::Kits::Samples::Usb::NodeConnectionInfoExV2Type^  value) {
        this->connectionInfoV2Field = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  ExternalHubType::ExternalHub::get() {
        return this->externalHubField;
    }
    inline System::Void ExternalHubType::ExternalHub::set(cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  value) {
        this->externalHubField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::PortConnectorType^  ExternalHubType::PortConnector::get() {
        return this->portConnectorField;
    }
    inline System::Void ExternalHubType::PortConnector::set(Microsoft::Kits::Samples::Usb::PortConnectorType^  value) {
        this->portConnectorField = value;
    }
    
    inline System::String^  ExternalHubType::ServiceName::get() {
        return this->serviceNameField;
    }
    inline System::Void ExternalHubType::ServiceName::set(System::String^  value) {
        this->serviceNameField = value;
    }
    
    inline System::String^  ExternalHubType::HwId::get() {
        return this->hwIdField;
    }
    inline System::Void ExternalHubType::HwId::set(System::String^  value) {
        this->hwIdField = value;
    }
    
    inline System::String^  ExternalHubType::DeviceId::get() {
        return this->deviceIdField;
    }
    inline System::Void ExternalHubType::DeviceId::set(System::String^  value) {
        this->deviceIdField = value;
    }
    
    inline System::String^  ExternalHubType::DeviceName::get() {
        return this->deviceNameField;
    }
    inline System::Void ExternalHubType::DeviceName::set(System::String^  value) {
        this->deviceNameField = value;
    }
    
    inline System::String^  ExternalHubType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void ExternalHubType::DeviceClass::set(System::String^  value) {
        this->deviceClassField = value;
    }
    
    inline System::String^  ExternalHubType::UsbProtocol::get() {
        return this->usbProtocolField;
    }
    inline System::Void ExternalHubType::UsbProtocol::set(System::String^  value) {
        this->usbProtocolField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::HubNodeType HubNodeInformationType::HubNode::get() {
        return this->hubNodeField;
    }
    inline System::Void HubNodeInformationType::HubNode::set(Microsoft::Kits::Samples::Usb::HubNodeType value) {
        this->hubNodeField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubInformationType^  HubNodeInformationType::HubInformation::get() {
        return this->hubInformationField;
    }
    inline System::Void HubNodeInformationType::HubInformation::set(Microsoft::Kits::Samples::Usb::HubInformationType^  value) {
        this->hubInformationField = value;
    }
    
    inline System::UInt64 HubNodeInformationType::MiParentNumberOfInterfaces::get() {
        return this->miParentNumberOfInterfacesField;
    }
    inline System::Void HubNodeInformationType::MiParentNumberOfInterfaces::set(System::UInt64 value) {
        this->miParentNumberOfInterfacesField = value;
    }
    
    
    inline System::Boolean HubInformationType::IsRootHub::get() {
        return this->isRootHubField;
    }
    inline System::Void HubInformationType::IsRootHub::set(System::Boolean value) {
        this->isRootHubField = value;
    }
    
    inline System::Boolean HubInformationType::IsBusPowered::get() {
        return this->isBusPoweredField;
    }
    inline System::Void HubInformationType::IsBusPowered::set(System::Boolean value) {
        this->isBusPoweredField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubDescriptorType^  HubInformationType::HubDescriptor::get() {
        return this->hubDescriptorField;
    }
    inline System::Void HubInformationType::HubDescriptor::set(Microsoft::Kits::Samples::Usb::HubDescriptorType^  value) {
        this->hubDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubCharacteristicsType^  HubInformationType::HubCharacteristics::get() {
        return this->hubCharacteristicsField;
    }
    inline System::Void HubInformationType::HubCharacteristics::set(Microsoft::Kits::Samples::Usb::HubCharacteristicsType^  value) {
        this->hubCharacteristicsField = value;
    }
    
    
    inline System::Byte HubDescriptorType::DescriptorLength::get() {
        return this->descriptorLengthField;
    }
    inline System::Void HubDescriptorType::DescriptorLength::set(System::Byte value) {
        this->descriptorLengthField = value;
    }
    
    inline System::Byte HubDescriptorType::DescriptorType::get() {
        return this->descriptorTypeField;
    }
    inline System::Void HubDescriptorType::DescriptorType::set(System::Byte value) {
        this->descriptorTypeField = value;
    }
    
    inline System::Byte HubDescriptorType::NumberOfPorts::get() {
        return this->numberOfPortsField;
    }
    inline System::Void HubDescriptorType::NumberOfPorts::set(System::Byte value) {
        this->numberOfPortsField = value;
    }
    
    inline System::Byte HubDescriptorType::PowerOntoPowerGood::get() {
        return this->powerOntoPowerGoodField;
    }
    inline System::Void HubDescriptorType::PowerOntoPowerGood::set(System::Byte value) {
        this->powerOntoPowerGoodField = value;
    }
    
    inline System::Byte HubDescriptorType::HubControlCurrent::get() {
        return this->hubControlCurrentField;
    }
    inline System::Void HubDescriptorType::HubControlCurrent::set(System::Byte value) {
        this->hubControlCurrentField = value;
    }
    
    
    inline System::UInt32 HubCharacteristicsType::HubCharacteristicsValue::get() {
        return this->hubCharacteristicsValueField;
    }
    inline System::Void HubCharacteristicsType::HubCharacteristicsValue::set(System::UInt32 value) {
        this->hubCharacteristicsValueField = value;
    }
    
    inline System::String^  HubCharacteristicsType::PowerSwitching::get() {
        return this->powerSwitchingField;
    }
    inline System::Void HubCharacteristicsType::PowerSwitching::set(System::String^  value) {
        this->powerSwitchingField = value;
    }
    
    inline System::Boolean HubCharacteristicsType::CompoundDevice::get() {
        return this->compoundDeviceField;
    }
    inline System::Void HubCharacteristicsType::CompoundDevice::set(System::Boolean value) {
        this->compoundDeviceField = value;
    }
    
    inline System::String^  HubCharacteristicsType::OverCurrentProtection::get() {
        return this->overCurrentProtectionField;
    }
    inline System::Void HubCharacteristicsType::OverCurrentProtection::set(System::String^  value) {
        this->overCurrentProtectionField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::HubTypeType HubInformationExType::HubType::get() {
        return this->hubTypeField;
    }
    inline System::Void HubInformationExType::HubType::set(Microsoft::Kits::Samples::Usb::HubTypeType value) {
        this->hubTypeField = value;
    }
    
    inline System::UInt16 HubInformationExType::HighestPortNumber::get() {
        return this->highestPortNumberField;
    }
    inline System::Void HubInformationExType::HighestPortNumber::set(System::UInt16 value) {
        this->highestPortNumberField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubDescriptorType^  HubInformationExType::HubDescriptor::get() {
        return this->hubDescriptorField;
    }
    inline System::Void HubInformationExType::HubDescriptor::set(Microsoft::Kits::Samples::Usb::HubDescriptorType^  value) {
        this->hubDescriptorField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::Hub30DescriptorType^  HubInformationExType::Hub30Descriptor::get() {
        return this->hub30DescriptorField;
    }
    inline System::Void HubInformationExType::Hub30Descriptor::set(Microsoft::Kits::Samples::Usb::Hub30DescriptorType^  value) {
        this->hub30DescriptorField = value;
    }
    
    
    inline System::Byte Hub30DescriptorType::Length::get() {
        return this->lengthField;
    }
    inline System::Void Hub30DescriptorType::Length::set(System::Byte value) {
        this->lengthField = value;
    }
    
    inline System::Byte Hub30DescriptorType::DescriptorType::get() {
        return this->descriptorTypeField;
    }
    inline System::Void Hub30DescriptorType::DescriptorType::set(System::Byte value) {
        this->descriptorTypeField = value;
    }
    
    inline System::Byte Hub30DescriptorType::NumberOfPorts::get() {
        return this->numberOfPortsField;
    }
    inline System::Void Hub30DescriptorType::NumberOfPorts::set(System::Byte value) {
        this->numberOfPortsField = value;
    }
    
    inline System::UInt16 Hub30DescriptorType::HubCharacteristics::get() {
        return this->hubCharacteristicsField;
    }
    inline System::Void Hub30DescriptorType::HubCharacteristics::set(System::UInt16 value) {
        this->hubCharacteristicsField = value;
    }
    
    inline System::Byte Hub30DescriptorType::PowerOntoPowerGood::get() {
        return this->powerOntoPowerGoodField;
    }
    inline System::Void Hub30DescriptorType::PowerOntoPowerGood::set(System::Byte value) {
        this->powerOntoPowerGoodField = value;
    }
    
    inline System::Byte Hub30DescriptorType::HubControlCurrent::get() {
        return this->hubControlCurrentField;
    }
    inline System::Void Hub30DescriptorType::HubControlCurrent::set(System::Byte value) {
        this->hubControlCurrentField = value;
    }
    
    inline System::Byte Hub30DescriptorType::HubHdrDecLat::get() {
        return this->hubHdrDecLatField;
    }
    inline System::Void Hub30DescriptorType::HubHdrDecLat::set(System::Byte value) {
        this->hubHdrDecLatField = value;
    }
    
    inline System::UInt16 Hub30DescriptorType::HubDelay::get() {
        return this->hubDelayField;
    }
    inline System::Void Hub30DescriptorType::HubDelay::set(System::UInt16 value) {
        this->hubDelayField = value;
    }
    
    inline System::UInt16 Hub30DescriptorType::DeviceRemovable::get() {
        return this->deviceRemovableField;
    }
    inline System::Void Hub30DescriptorType::DeviceRemovable::set(System::UInt16 value) {
        this->deviceRemovableField = value;
    }
    
    
    inline System::Boolean HubCapabilitiesExType::HubIsHighSpeedCapable::get() {
        return this->hubIsHighSpeedCapableField;
    }
    inline System::Void HubCapabilitiesExType::HubIsHighSpeedCapable::set(System::Boolean value) {
        this->hubIsHighSpeedCapableField = value;
    }
    
    inline System::Boolean HubCapabilitiesExType::HubIsHighSpeed::get() {
        return this->hubIsHighSpeedField;
    }
    inline System::Void HubCapabilitiesExType::HubIsHighSpeed::set(System::Boolean value) {
        this->hubIsHighSpeedField = value;
    }
    
    inline System::Boolean HubCapabilitiesExType::HubIsMultiTtCapable::get() {
        return this->hubIsMultiTtCapableField;
    }
    inline System::Void HubCapabilitiesExType::HubIsMultiTtCapable::set(System::Boolean value) {
        this->hubIsMultiTtCapableField = value;
    }
    
    inline System::Boolean HubCapabilitiesExType::HubIsMultiTt::get() {
        return this->hubIsMultiTtField;
    }
    inline System::Void HubCapabilitiesExType::HubIsMultiTt::set(System::Boolean value) {
        this->hubIsMultiTtField = value;
    }
    
    inline System::Boolean HubCapabilitiesExType::HubIsRoot::get() {
        return this->hubIsRootField;
    }
    inline System::Void HubCapabilitiesExType::HubIsRoot::set(System::Boolean value) {
        this->hubIsRootField = value;
    }
    
    inline System::Boolean HubCapabilitiesExType::HubIsArmedWakeOnConnect::get() {
        return this->hubIsArmedWakeOnConnectField;
    }
    inline System::Void HubCapabilitiesExType::HubIsArmedWakeOnConnect::set(System::Boolean value) {
        this->hubIsArmedWakeOnConnectField = value;
    }
    
    inline System::Boolean HubCapabilitiesExType::HubIsBusPowered::get() {
        return this->hubIsBusPoweredField;
    }
    inline System::Void HubCapabilitiesExType::HubIsBusPowered::set(System::Boolean value) {
        this->hubIsBusPoweredField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::HubNodeInformationType^  RootHubType::HubNodeInformation::get() {
        return this->hubNodeInformationField;
    }
    inline System::Void RootHubType::HubNodeInformation::set(Microsoft::Kits::Samples::Usb::HubNodeInformationType^  value) {
        this->hubNodeInformationField = value;
    }
    
    inline System::String^  RootHubType::HubName::get() {
        return this->hubNameField;
    }
    inline System::Void RootHubType::HubName::set(System::String^  value) {
        this->hubNameField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubInformationExType^  RootHubType::HubInformationEx::get() {
        return this->hubInformationExField;
    }
    inline System::Void RootHubType::HubInformationEx::set(Microsoft::Kits::Samples::Usb::HubInformationExType^  value) {
        this->hubInformationExField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  RootHubType::HubCapabilityEx::get() {
        return this->hubCapabilityExField;
    }
    inline System::Void RootHubType::HubCapabilityEx::set(Microsoft::Kits::Samples::Usb::HubCapabilitiesExType^  value) {
        this->hubCapabilityExField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  RootHubType::ExternalHub::get() {
        return this->externalHubField;
    }
    inline System::Void RootHubType::ExternalHub::set(cli::array< Microsoft::Kits::Samples::Usb::ExternalHubType^  >^  value) {
        this->externalHubField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  RootHubType::UsbDevice::get() {
        return this->usbDeviceField;
    }
    inline System::Void RootHubType::UsbDevice::set(cli::array< Microsoft::Kits::Samples::Usb::UsbDeviceType^  >^  value) {
        this->usbDeviceField = value;
    }
    
    inline cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  RootHubType::NoDevice::get() {
        return this->noDeviceField;
    }
    inline System::Void RootHubType::NoDevice::set(cli::array< Microsoft::Kits::Samples::Usb::NoDeviceType^  >^  value) {
        this->noDeviceField = value;
    }
    
    inline System::String^  RootHubType::ServiceName::get() {
        return this->serviceNameField;
    }
    inline System::Void RootHubType::ServiceName::set(System::String^  value) {
        this->serviceNameField = value;
    }
    
    inline System::String^  RootHubType::HwId::get() {
        return this->hwIdField;
    }
    inline System::Void RootHubType::HwId::set(System::String^  value) {
        this->hwIdField = value;
    }
    
    inline System::String^  RootHubType::DeviceId::get() {
        return this->deviceIdField;
    }
    inline System::Void RootHubType::DeviceId::set(System::String^  value) {
        this->deviceIdField = value;
    }
    
    inline System::String^  RootHubType::DeviceName::get() {
        return this->deviceNameField;
    }
    inline System::Void RootHubType::DeviceName::set(System::String^  value) {
        this->deviceNameField = value;
    }
    
    inline System::String^  RootHubType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void RootHubType::DeviceClass::set(System::String^  value) {
        this->deviceClassField = value;
    }
    
    inline System::String^  RootHubType::UsbProtocol::get() {
        return this->usbProtocolField;
    }
    inline System::Void RootHubType::UsbProtocol::set(System::String^  value) {
        this->usbProtocolField = value;
    }
    
    
    inline System::String^  UsbHCPowerStateType::SystemState::get() {
        return this->systemStateField;
    }
    inline System::Void UsbHCPowerStateType::SystemState::set(System::String^  value) {
        this->systemStateField = value;
    }
    
    inline System::String^  UsbHCPowerStateType::HostControllerState::get() {
        return this->hostControllerStateField;
    }
    inline System::Void UsbHCPowerStateType::HostControllerState::set(System::String^  value) {
        this->hostControllerStateField = value;
    }
    
    inline System::String^  UsbHCPowerStateType::HubState::get() {
        return this->hubStateField;
    }
    inline System::Void UsbHCPowerStateType::HubState::set(System::String^  value) {
        this->hubStateField = value;
    }
    
    inline System::Boolean UsbHCPowerStateType::CanWakeUp::get() {
        return this->canWakeUpField;
    }
    inline System::Void UsbHCPowerStateType::CanWakeUp::set(System::Boolean value) {
        this->canWakeUpField = value;
    }
    
    inline System::Boolean UsbHCPowerStateType::IsPowered::get() {
        return this->isPoweredField;
    }
    inline System::Void UsbHCPowerStateType::IsPowered::set(System::Boolean value) {
        this->isPoweredField = value;
    }
    
    
    inline cli::array< Microsoft::Kits::Samples::Usb::UsbHCPowerStateType^  >^  UsbHCPowerStateMappingType::PowerMap::get() {
        return this->powerMapField;
    }
    inline System::Void UsbHCPowerStateMappingType::PowerMap::set(cli::array< Microsoft::Kits::Samples::Usb::UsbHCPowerStateType^  >^  value) {
        this->powerMapField = value;
    }
    
    inline System::String^  UsbHCPowerStateMappingType::LastSleepState::get() {
        return this->lastSleepStateField;
    }
    inline System::Void UsbHCPowerStateMappingType::LastSleepState::set(System::String^  value) {
        this->lastSleepStateField = value;
    }
    
    
    inline System::Int64 UsbHCDeviceInfoType::VendorId::get() {
        return this->vendorIdField;
    }
    inline System::Void UsbHCDeviceInfoType::VendorId::set(System::Int64 value) {
        this->vendorIdField = value;
    }
    
    inline System::Int64 UsbHCDeviceInfoType::DeviceId::get() {
        return this->deviceIdField;
    }
    inline System::Void UsbHCDeviceInfoType::DeviceId::set(System::Int64 value) {
        this->deviceIdField = value;
    }
    
    inline System::String^  UsbHCDeviceInfoType::DriverKey::get() {
        return this->driverKeyField;
    }
    inline System::Void UsbHCDeviceInfoType::DriverKey::set(System::String^  value) {
        this->driverKeyField = value;
    }
    
    inline System::Int64 UsbHCDeviceInfoType::SubSysId::get() {
        return this->subSysIdField;
    }
    inline System::Void UsbHCDeviceInfoType::SubSysId::set(System::Int64 value) {
        this->subSysIdField = value;
    }
    
    inline System::Int64 UsbHCDeviceInfoType::Revision::get() {
        return this->revisionField;
    }
    inline System::Void UsbHCDeviceInfoType::Revision::set(System::Int64 value) {
        this->revisionField = value;
    }
    
    inline System::UInt64 UsbHCDeviceInfoType::DebugPort::get() {
        return this->debugPortField;
    }
    inline System::Void UsbHCDeviceInfoType::DebugPort::set(System::UInt64 value) {
        this->debugPortField = value;
    }
    
    inline System::UInt64 UsbHCDeviceInfoType::NumberOfRootPorts::get() {
        return this->numberOfRootPortsField;
    }
    inline System::Void UsbHCDeviceInfoType::NumberOfRootPorts::set(System::UInt64 value) {
        this->numberOfRootPortsField = value;
    }
    
    inline System::UInt64 UsbHCDeviceInfoType::ControllerFlavor::get() {
        return this->controllerFlavorField;
    }
    inline System::Void UsbHCDeviceInfoType::ControllerFlavor::set(System::UInt64 value) {
        this->controllerFlavorField = value;
    }
    
    inline System::String^  UsbHCDeviceInfoType::ControllerFlavorString::get() {
        return this->controllerFlavorStringField;
    }
    inline System::Void UsbHCDeviceInfoType::ControllerFlavorString::set(System::String^  value) {
        this->controllerFlavorStringField = value;
    }
    
    inline System::Boolean UsbHCDeviceInfoType::PortSwitchingEnabled::get() {
        return this->portSwitchingEnabledField;
    }
    inline System::Void UsbHCDeviceInfoType::PortSwitchingEnabled::set(System::Boolean value) {
        this->portSwitchingEnabledField = value;
    }
    
    inline System::Boolean UsbHCDeviceInfoType::SelectiveSuspendEnabled::get() {
        return this->selectiveSuspendEnabledField;
    }
    inline System::Void UsbHCDeviceInfoType::SelectiveSuspendEnabled::set(System::Boolean value) {
        this->selectiveSuspendEnabledField = value;
    }
    
    inline System::UInt64 UsbHCDeviceInfoType::LegacyBios::get() {
        return this->legacyBiosField;
    }
    inline System::Void UsbHCDeviceInfoType::LegacyBios::set(System::UInt64 value) {
        this->legacyBiosField = value;
    }
    
    
    inline Microsoft::Kits::Samples::Usb::UsbHCDeviceInfoType^  HostControllerType::ControllerInfo::get() {
        return this->controllerInfoField;
    }
    inline System::Void HostControllerType::ControllerInfo::set(Microsoft::Kits::Samples::Usb::UsbHCDeviceInfoType^  value) {
        this->controllerInfoField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::UsbHCPowerStateMappingType^  HostControllerType::PowerMapping::get() {
        return this->powerMappingField;
    }
    inline System::Void HostControllerType::PowerMapping::set(Microsoft::Kits::Samples::Usb::UsbHCPowerStateMappingType^  value) {
        this->powerMappingField = value;
    }
    
    inline Microsoft::Kits::Samples::Usb::RootHubType^  HostControllerType::RootHub::get() {
        return this->rootHubField;
    }
    inline System::Void HostControllerType::RootHub::set(Microsoft::Kits::Samples::Usb::RootHubType^  value) {
        this->rootHubField = value;
    }
    
    inline System::String^  HostControllerType::ServiceName::get() {
        return this->serviceNameField;
    }
    inline System::Void HostControllerType::ServiceName::set(System::String^  value) {
        this->serviceNameField = value;
    }
    
    inline System::String^  HostControllerType::HwId::get() {
        return this->hwIdField;
    }
    inline System::Void HostControllerType::HwId::set(System::String^  value) {
        this->hwIdField = value;
    }
    
    inline System::String^  HostControllerType::DeviceId::get() {
        return this->deviceIdField;
    }
    inline System::Void HostControllerType::DeviceId::set(System::String^  value) {
        this->deviceIdField = value;
    }
    
    inline System::String^  HostControllerType::DeviceName::get() {
        return this->deviceNameField;
    }
    inline System::Void HostControllerType::DeviceName::set(System::String^  value) {
        this->deviceNameField = value;
    }
    
    inline System::String^  HostControllerType::DeviceClass::get() {
        return this->deviceClassField;
    }
    inline System::Void HostControllerType::DeviceClass::set(System::String^  value) {
        this->deviceClassField = value;
    }
    
    inline System::String^  HostControllerType::UsbProtocol::get() {
        return this->usbProtocolField;
    }
    inline System::Void HostControllerType::UsbProtocol::set(System::String^  value) {
        this->usbProtocolField = value;
    }
            }
        }
    }
}

Our Services

  • What our customers say about us?

© 2011-2024 All Rights Reserved. Joya Systems. 4425 South Mopac Building II Suite 101 Austin, TX 78735 Tel: 800-DEV-KERNEL

Privacy Policy. Terms of use. Valid XHTML & CSS