{'Description':'RequestType is bit-mapped and identifies the type of Descriptor request and the recipient. The type of request may be 'standard', 'class' or 'vendor-specific'. The recipient may be 'device', 'interface', 'endpoint' or 'other'. Refer to the USB Specification for the appropriate values for each bit.'}
RequestValue
uint16
1
✓
-
{'Description':'RequestValue contains the Descriptor Type in the high byte and the Descriptor Index (for example, index or offset into the Descriptor array) in the low byte. Refer to the USB Specification for more information.'}
RequestIndex
uint16
2
✓
-
{'Description':'RequestIndex defines the 2 byte Language ID code used by the USBDevice when returning string Descriptor data. The parameter is typically 0 for non-string Descriptors. Refer to the USB Specification for more information.'}
RequestLength
uint16
3
-
✓
{'Description':'On input, RequestLength is the length (in octets) of the Descriptor that should be returned. If this value is less than the actual length of the Descriptor, only the requested length will be returned. If it is more than the actual length, the actual length is returned. On output, this parameter is the length, in octets, of the Buffer being returned. If the requested Descriptor does not exist, the contents of this parameter are undefined.'}
Buffer
uint8
4
-
✓
{'Description':'Buffer returns the requested Descriptor information. If the Descriptor does not exist, the contents of the Buffer are undefined.'}
Description
'This method returns the USBDevice Descriptor as specified by the input parameters. Each parameter is briefly described here with more detail in its Qualifier list. RequestType is an input parameter that defines whether the request is for standard, class or vendor-specific information, as well as specifying the recipient. RequestValue is also an input parameter and defines the USB Descriptor Type and Index. RequestIndex is an input parameter which describes the language used to return a string Descriptor. RequestLength is both an input and output parameter. It specifies the length of the Descriptor that should be returned (on input) and what is actually returned in the Buffer parameter (on output). Buffer is an output parameter, containing the Descriptor data. The GetDescriptor method returns an integer value of 0 if the USB Descriptor is successfully returned, 1 if the request is not supported and any other number to indicate an error. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' may also be specified in the subclass as a Values array qualifier.'
'Requests a reset of the logical device. The return value should be 0 if the request was successfully executed, 1 if the request is not supported and some other value if an error occurred.'
{'Values':['Full Power', 'Power Save - Low Power Mode', 'Power Save - Standby', 'Power Save - Other', 'Power Cycle', 'Power Off']}
Time
datetime
1
✓
-
Description
'SetPowerState defines the desired power state for a logical device and when a device should be put into that state. The desired power state is specified by setting the PowerState parameter to one of the following integer values: 1="Full Power", 2="Power Save - Low Power Mode", 3="Power Save - Standby", 4="Power Save - Other", 5="Power Cycle" or 6="Power Off". The Time parameter (for all state changes, except 5, "Power Cycle") indicates when the power state should be set, either as a regular date-time value or as an interval value (where the interval begins when the method invocation is received). When the PowerState parameter is equal to 5, "Power Cycle", the Time parameter indicates when the device should power on again. Power off is immediate. SetPowerState should return 0 if successful, 1 if the specified PowerState and Time request is not supported, and some other value if any other error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' may also be specified in the subclass as a Values array qualifier.'
'Indicates whether power to the Hub Ports is individually or gang-switched. If this value is FALSE, power is switched individually for each Port. If this value is TRUE, power is switched to all Ports on the Hub at once.'
'Number of downstream Ports on the Hub, including those embedded in the Hub's silicon. Individual USBPorts are associated with the Hub using the USBPortOnHub association.'
'The availability and status of the device. For example, the Availability property indicates that the device is running and has full power (value=3), or is in a warning (4), test (5), degraded (10) or power save state (values 13-15 and 17). Regarding the power saving states, these are defined as follows: Value 13 ("Power Save - Unknown") indicates that the device is known to be in a power save mode, but its exact status in this mode is unknown; 14 ("Power Save - Low Power Mode") indicates that the device is in a power save state but still functioning, and may exhibit degraded performance; 15 ("Power Save - Standby") describes that the device is not functioning but could be brought to full power 'quickly'; and value 17 ("Power Save - Warning") indicates that the device is in a warning state, though also in a power save mode.'
Values
['Other', 'Unknown', 'Running/Full Power', 'Warning', 'In Test', 'Not Applicable', 'Power Off', 'Off Line', 'Off Duty', 'Degraded', 'Not Installed', 'Install Error', 'Power Save - Unknown', 'Power Save - Low Power Mode', 'Power Save - Standby', 'Power Cycle', 'Power Save - Warning', 'Paused', 'Not Ready', 'Not Configured', 'Quiesced']
'Indicates the Win32 Configuration Manager error code. The following values may be returned: 0 This device is working properly. 1 This device is not configured correctly. 2 Windows cannot load the driver for this device. 3 The driver for this device might be corrupted, or your system may be running low on memory or other resources. 4 This device is not working properly. One of its drivers or your registry might be corrupted. 5 The driver for this device needs a resource that Windows cannot manage. 6 The boot configuration for this device conflicts with other devices. 7 Cannot filter. 8 The driver loader for the device is missing. 9 This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly. 10 This device cannot start. 11 This device failed. 12 This device cannot find enough free resources that it can use. 13 Windows cannot verify this device's resources. 14 This device cannot work properly until you restart your computer. 15 This device is not working properly because there is probably a re-enumeration problem. 16 Windows cannot identify all the resources this device uses. 17 This device is asking for an unknown resource type. 18 Reinstall the drivers for this device. 19 Your registry might be corrupted. 20 Failure using the VxD loader. 21 System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device. 22 This device is disabled. 23 System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation. 24 This device is not present, is not working properly, or does not have all its drivers installed. 25 Windows is still setting up this device. 26 Windows is still setting up this device. 27 This device does not have valid log configuration. 28 The drivers for this device are not installed. 29 This device is disabled because the firmware of the device did not give it the required resources. 30 This device is using an Interrupt Request (IRQ) resource that another device is using. 31 This device is not working properly because Windows cannot load the drivers required for this device.'
Values
['This device is working properly.', 'This device is not configured correctly.', 'Windows cannot load the driver for this device.', 'The driver for this device might be corrupted, or your system may be running low on memory or other resources.', 'This device is not working properly. One of its drivers or your registry might be corrupted.', 'The driver for this device needs a resource that Windows cannot manage.', 'The boot configuration for this device conflicts with other devices.', 'Cannot filter.', 'The driver loader for the device is missing.', 'This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.', 'This device cannot start.', 'This device failed.', 'This device cannot find enough free resources that it can use.', 'Windows cannot verify this device's resources.', 'This device cannot work properly until you restart your computer.', 'This device is not working properly because there is probably a re-enumeration problem.', 'Windows cannot identify all the resources this device uses.', 'This device is asking for an unknown resource type.', 'Reinstall the drivers for this device.', 'Failure using the VxD loader.', 'Your registry might be corrupted.', 'System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device.', 'This device is disabled.', 'System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation.', 'This device is not present, is not working properly, or does not have all its drivers installed.', 'Windows is still setting up this device.', 'Windows is still setting up this device.', 'This device does not have valid log configuration.', 'The drivers for this device are not installed.', 'This device is disabled because the firmware of the device did not give it the required resources.', 'This device is using an Interrupt Request (IRQ) resource that another device is using.', 'This device is not working properly because Windows cannot load the drivers required for this device.']
'CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.'
'An array of USB 'alternate settings' for each interface in the currently selected configuration (indicated by the CurrentConfigValue property). This array has one entry for each interface in the configuration. If the property, CurrentConfigValue, is zero (indicating the Device is not configured), the array is undefined. To understand how to parse this octet string, refer to the USB Specification.'
'ErrorDescription is a free-form string supplying more information about the error recorded in LastErrorCode property, and information on any corrective actions that may be taken.'
'The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.'
'Indicates the specific power-related capabilities of the logical device. The array values, 0="Unknown", 1="Not Supported" and 2="Disabled" are self-explanatory. The value, 3="Enabled" indicates that the power management features are currently enabled but the exact feature set is unknown or the information is unavailable. "Power Saving Modes Entered Automatically" (4) describes that a device can change its power state based on usage or other criteria. "Power State Settable" (5) indicates that the SetPowerState method is supported. "Power Cycling Supported" (6) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 ("Power Cycle"). "Timed Power On Supported" (7) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 ("Power Cycle") and the Time parameter set to a specific date and time, or interval, for power-on.'
Values
['Unknown', 'Not Supported', 'Disabled', 'Enabled', 'Power Saving Modes Entered Automatically', 'Power State Settable', 'Power Cycling Supported', 'Timed Power On Supported']
'Boolean indicating that the Device can be power managed - ie, put into a power save state. This boolean does not indicate that power management features are currently enabled, or if enabled, what features are supported. Refer to the PowerManagementCapabilities array for this information. If this boolean is false, the integer value 1, for the string, "Not Supported", should be the only entry in the PowerManagementCapabilities array.'
'The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are "OK", "Degraded" and "Pred Fail". "Pred Fail" indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are "Error", "Starting", "Stopping" and "Service". The latter, "Service", could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither "OK" nor in one of the other states.'
'StatusInfo is a string indicating whether the logical device is in an enabled (value = 3), disabled (value = 4) or some other (1) or unknown (2) state. If this property does not apply to the logical device, the value, 5 ("Not Applicable"), should be used.'
'Indicates the latest USB Version supported by the USB Device. The property is expressed as a Binary-Coded Decimal (BCD) where a decimal point is implied between the 2nd and 3rd digits. For example, a value of 0x201 indicates that version 2.01 is supported.'