CIM_USBDevice class (CIMWin32 WMI Providers)

The CIM_USBDevice class represents the management characteristics of a USB device.

Important

The DMTF (Distributed Management Task Force) CIM (Common Information Model) classes are the parent classes upon which WMI classes are built. WMI currently supports only the CIM 2.x version schemas.

The following syntax is simplified from Managed Object Format (MOF) code and includes all of its inherited properties. Properties are listed in alphabetic order, not MOF order.

Syntax

[AMENDMENT]
class CIM_USBDevice : CIM_LogicalDevice
{
  uint16   Availability;
  string   Caption;
  uint8    ClassCode;
  uint32   ConfigManagerErrorCode;
  boolean  ConfigManagerUserConfig;
  string   CreationClassName;
  uint8    CurrentAlternateSettings[];
  uint8    CurrentConfigValue;
  string   Description;
  string   DeviceID;
  boolean  ErrorCleared;
  string   ErrorDescription;
  datetime InstallDate;
  uint32   LastErrorCode;
  string   Name;
  uint8    NumberOfConfigs;
  string   PNPDeviceID;
  uint16   PowerManagementCapabilities[];
  boolean  PowerManagementSupported;
  uint8    ProtocolCode;
  string   Status;
  uint16   StatusInfo;
  uint8    SubclassCode;
  string   SystemCreationClassName;
  string   SystemName;
  uint16   USBVersion;
};

Members

The CIM_USBDevice class has these types of members:

Methods

The CIM_USBDevice class has these methods.

Method Description
GetDescriptor Returns the USB device descriptor. Not implemented by WMI.
Reset Requests a reset of the logical device. Not implemented by WMI.
SetPowerState Defines the desired power state for a logical device and when a device should be put into that state. Not implemented by WMI.

Properties

The CIM_USBDevice class has these properties.

Availability

Data type: uint16

Access type: Read-only

Qualifiers: MappingStrings ("MIF.DMTF|Operational State|003.5", "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus")

Availability and status of the device.

This property is inherited from CIM_LogicalDevice.

Other (1)

Unknown (2)

Running/Full Power (3)

Running or Full Power

Warning (4)

In Test (5)

Not Applicable (6)

Power Off (7)

Off Line (8)

Off Duty (9)

Degraded (10)

Not Installed (11)

Install Error (12)

Power Save - Unknown (13)

The device is known to be in a power save mode, but its exact status is unknown.

Power Save - Low Power Mode (14)

The device is in a power save state but still functioning, and may exhibit degraded performance.

Power Save - Standby (15)

The device is not functioning, but could be brought to full power quickly.

Power Cycle (16)

Power Save - Warning (17)

The device is in a warning state, though also in a power save mode.

Paused (18)

The device is paused.

Not Ready (19)

The device is not ready.

Not Configured (20)

The device is not configured.

Quiesced (21)

The device is quiet.

Caption

Data type: string

Access type: Read-only

Qualifiers: MaxLen (64), DisplayName ("Caption")

Short textual description of the object.

This property is inherited from CIM_ManagedSystemElement.

ClassCode

Data type: uint8

Access type: Read-only

USB class code.

ConfigManagerErrorCode

Data type: uint32

Access type: Read-only

Qualifiers: Schema ("Win32")

Win32 Configuration Manager error code.

This property is inherited from CIM_LogicalDevice.

This device is working properly. (0)

Device is working properly.

This device is not configured correctly. (1)

Device is not configured correctly.

Windows cannot load the driver for this device. (2)

The driver for this device might be corrupted, or your system may be running low on memory or other resources. (3)

Driver for this device might be corrupted, or the system may be low on memory or other resources.

This device is not working properly. One of its drivers or your registry might be corrupted. (4)

Device is not working properly. One of its drivers or the registry might be corrupted.

The driver for this device needs a resource that Windows cannot manage. (5)

Driver for the device requires a resource that Windows cannot manage.

The boot configuration for this device conflicts with other devices. (6)

Boot configuration for the device conflicts with other devices.

Cannot filter. (7)

The driver loader for the device is missing. (8)

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. (9)

Device is not working properly. The controlling firmware is incorrectly reporting the resources for the device.

This device cannot start. (10)

Device cannot start.

This device failed. (11)

Device failed.

This device cannot find enough free resources that it can use. (12)

Device cannot find enough free resources to use.

Windows cannot verify this device's resources. (13)

Windows cannot verify the device's resources.

This device cannot work properly until you restart your computer. (14)

Device cannot work properly until the computer is restarted.

This device is not working properly because there is probably a re-enumeration problem. (15)

Device is not working properly due to a possible re-enumeration problem.

Windows cannot identify all the resources this device uses. (16)

Windows cannot identify all of the resources that the device uses.

This device is asking for an unknown resource type. (17)

Device is requesting an unknown resource type.

Reinstall the drivers for this device. (18)

Device drivers must be reinstalled.

Failure using the VxD loader. (19)

Your registry might be corrupted. (20)

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. (21)

System failure. If changing the device driver is ineffective, see the hardware documentation. Windows is removing the device.

This device is disabled. (22)

Device is disabled.

System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation. (23)

System failure. If changing the device driver is ineffective, see the hardware documentation.

This device is not present, is not working properly, or does not have all its drivers installed. (24)

Device is not present, not working properly, or does not have all of its drivers installed.

Windows is still setting up this device. (25)

Windows is still setting up the device.

Windows is still setting up this device. (26)

Windows is still setting up the device.

This device does not have valid log configuration. (27)

Device does not have valid log configuration.

The drivers for this device are not installed. (28)

Device drivers are not installed.

This device is disabled because the firmware of the device did not give it the required resources. (29)

Device is disabled. The device firmware did not provide the required resources.

This device is using an Interrupt Request (IRQ) resource that another device is using. (30)

Device is using an IRQ resource that another device is using.

This device is not working properly because Windows cannot load the drivers required for this device. (31)

Device is not working properly. Windows cannot load the required device drivers.

ConfigManagerUserConfig

Data type: boolean

Access type: Read-only

Qualifiers: Schema ("Win32")

If TRUE, the device is using a user-defined configuration.

This property is inherited from CIM_LogicalDevice.

CreationClassName

Data type: string

Access type: Read-only

Qualifiers: CIM_Key

Name of the class or subclass used in the creation of an instance. When used with other key properties of the class, this property allows all instances of the class and its subclasses to be uniquely identified.

This property is inherited from CIM_LogicalDevice.

CurrentAlternateSettings

Data type: uint8 array

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_USBDevice.CurrentConfigValue")

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 CurrentConfigValue property has a value of 0 (zero), which indicates that the device is not configured, the array is undefined. For more information about parsing this octet string, see the USB specification.

CurrentConfigValue

Data type: uint8

Access type: Read-only

Qualifiers: ModelCorrespondence ("CIM_USBDevice.CurrentAlternateSettings")

Configuration currently selected for the device. If the value is 0 (zero), the device is unconfigured.

Description

Data type: string

Access type: Read-only

Qualifiers: DisplayName ("Description")

Textual description of the object.

This property is inherited from CIM_ManagedSystemElement.

DeviceID

Data type: string

Access type: Read-only

Qualifiers: CIM_Key

Address or other identifying information to uniquely name the logical device.

This property is inherited from CIM_LogicalDevice.

ErrorCleared

Data type: boolean

Access type: Read-only

If TRUE, the error reported in the LastErrorCode property is now cleared.

This property is inherited from CIM_LogicalDevice.

ErrorDescription

Data type: string

Access type: Read-only

Free-form string that supplies information about the error recorded in the LastErrorCode property and corrective actions to perform.

This property is inherited from CIM_LogicalDevice.

InstallDate

Data type: datetime

Access type: Read-only

Qualifiers: MappingStrings ("MIF.DMTF|ComponentID|001.5"), DisplayName ("Install Date")

Date and time the object was installed. This property does not need a value to indicate that the object is installed.

This property is inherited from CIM_ManagedSystemElement.

LastErrorCode

Data type: uint32

Access type: Read-only

Last error code reported by the logical device.

This property is inherited from CIM_LogicalDevice.

Name

Data type: string

Access type: Read-only

Qualifiers: DisplayName ("Name")

Label by which the object is known. When subclassed, this property can be overridden to be a key property.

This property is inherited from CIM_ManagedSystemElement.

NumberOfConfigs

Data type: uint8

Access type: Read-only

Number of device configurations that are defined for the device.

PNPDeviceID

Data type: string

Access type: Read-only

Qualifiers: Schema ("Win32")

Win32 Plug and Play device identifier of the logical device. This property is inherited from CIM_LogicalDevice.

Example: "*PNP030b"

PowerManagementCapabilities

Data type: uint16 array

Access type: Read-only

Array of the specific power-related capabilities of a logical device.

This property is inherited from CIM_LogicalDevice.

Unknown (0)

Not Supported (1)

Disabled (2)

Enabled (3)

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)

The device can change its power state based on usage or other criteria.

Power State Settable (5)

The SetPowerState method is supported. This method is found on the parent CIM_LogicalDevice class and can be implemented. For more information, see Designing Managed Object Format (MOF) Classes.

Power Cycling Supported (6)

The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle).

Timed Power On Supported (7)

The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle) and Time set to a specific date and time, or interval, for power-on.

PowerManagementSupported

Data type: boolean

Access type: Read-only

If TRUE, the device can be power managed, that is, put into a power-save state. If FALSE, the integer value 1 ("Not Supported") should be the only entry in the PowerManagementCapabilities array.

This property does not indicate whether power management features are currently enabled, or if enabled, which features are supported. For more information, see the PowerManagementCapabilities array. This property is inherited from CIM_LogicalDevice.

ProtocolCode

Data type: uint8

Access type: Read-only

USB protocol code.

Status

Data type: string

Access type: Read-only

Qualifiers: MaxLen (10), DisplayName ("Status")

Current status of the object. This property is inherited from CIM_ManagedSystemElement.

Values include the following:

OK ("OK")

Error ("Error")

Degraded ("Degraded")

Unknown ("Unknown")

Pred Fail ("Pred Fail")

Starting ("Starting")

Stopping ("Stopping")

Service ("Service")

Stressed ("Stressed")

NonRecover ("NonRecover")

No Contact ("No Contact")

Lost Comm ("Lost Comm")

StatusInfo

Data type: uint16

Access type: Read-only

Qualifiers: MappingStrings ("MIF.DMTF|Operational State|003.3")

State of the logical device. If this property does not apply to the logical device, the value 5 (Not Applicable) should be used.

This property is inherited from CIM_LogicalDevice.

Other (1)

Unknown (2)

Enabled (3)

Disabled (4)

Not Applicable (5)

SubclassCode

Data type: uint8

Access type: Read-only

USB subclass code.

SystemCreationClassName

Data type: string

Access type: Read-only

Qualifiers: Propagated ("CIM_System.CreationClassName"), CIM_Key

Scoping system's creation class name.

This property is inherited from CIM_LogicalDevice.

SystemName

Data type: string

Access type: Read-only

Qualifiers: Propagated ("CIM_System.Name"), CIM_Key

Scoping system's name.

This property is inherited from CIM_LogicalDevice.

USBVersion

Data type: uint16

Access type: Read-only

Latest USB version supported by the USB device. This property is expressed as a binary-coded decimal (BCD) where a decimal point is implied between the second and third digits. For example, a value of 0x201 indicates that version 2.01 is supported.

Remarks

The CIM_USBDevice class is derived from CIM_LogicalDevice.

WMI does not implement this class. For WMI classes that implement CIM_USBDevice, see Win32 Classes.

This documentation is derived from the CIM class descriptions published by the DMTF. Microsoft may have made changes to correct minor errors, conform to Microsoft SDK documentation standards, or provide more information.

Requirements

Requirement Value
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

See also

CIM_LogicalDevice