1 karl 1.1.2.2 // Copyright (c) 2009 DMTF. All rights reserved.
2 [Version ( "2.22.0" ),
3 UMLPackagePath ( "CIM::Device::USB" ),
4 Description ( "The management characterisitics of a USB Device." )]
5 class CIM_USBDevice : CIM_LogicalDevice {
6
7 [Description (
8 "Indicates the latest USB Version supported by the USB "
9 "Device. The property is expressed as a Binary-Coded "
10 "Decimal (BCD) where a decimal point is implied between "
11 "the 2nd and 3rd digits. For example, a value of 0x201 "
12 "indicates that version 2.01 is supported." )]
13 uint16 USBVersion;
14
15 [Description ( "Indicates the USB class code." ),
16 MappingStrings {
17 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bDeviceClass" }]
18 uint8 ClassCode;
19
20 [Description ( "Indicates the USB subclass code." ),
21 MappingStrings {
22 karl 1.1.2.2 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bDeviceSubClass" }]
23 uint8 SubclassCode;
24
25 [Description ( "Indicates the USB protocol code." ),
26 MappingStrings {
27 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bDeviceProtocol" }]
28 uint8 ProtocolCode;
29
30 [Description (
31 "From the USB specification Device Descriptor, where "
32 "\'bcdUSB\' is the USB Specification Number, in "
33 "Binary-Coded Decimal format, that the device complies "
34 "with." ),
35 MappingStrings {
36 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bcdUSB" }]
37 uint16 USBVersionInBCD;
38
39 [Description (
40 "From the USB specification Device Descriptor, Maximum "
41 "Packet size for the USB zero endpoint. Valid sizes are "
42 "8, 16, 32, 64." ),
43 karl 1.1.2.2 MappingStrings {
44 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bMaxPacketSize" }]
45 uint8 MaxPacketSize;
46
47 [Description (
48 "From the USB specification Device Descriptor, Vendor ID "
49 "assigned by USB.org." ),
50 MappingStrings {
51 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|idVendor" }]
52 uint16 VendorID;
53
54 [Description (
55 "From the USB specification Device Descriptor, Product ID "
56 "assigned by manufacturer." ),
57 MappingStrings {
58 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|idProduct" }]
59 uint16 ProductID;
60
61 [Description (
62 "From the USB specification Device Descriptor, Device "
63 "Release Number in Binary-Coded Decimal." ),
64 karl 1.1.2.2 MappingStrings {
65 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bcdDevice" }]
66 uint16 DeviceReleaseNumber;
67
68 [Description (
69 "From the USB specification Device Descriptior, "
70 "Manufacturer string." ),
71 MappingStrings {
72 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|iManufacturer" }]
73 string Manufacturer;
74
75 [Description (
76 "From the USB specification Device Descriptor, Product String."
77 ),
78 MappingStrings {
79 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|iProduct" }]
80 string Product;
81
82 [Description (
83 "From the USB specification Device Descriptor, Serial "
84 "Number String." ),
85 karl 1.1.2.2 MappingStrings {
86 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|iSerialNumber" }]
87 string SerialNumber;
88
89 [Description (
90 "Number of device configurations that are defined for the Device."
91 ),
92 MappingStrings {
93 "Universal Serial Bus Specification.USB-IF|Standard Device Descriptor|bNumConfigurations" }]
94 uint8 NumberOfConfigs;
95
96 [Description (
97 "Indicates the configuration currently selected for the "
98 "Device. If this value is zero, the Device is "
99 "unconfigured." ),
100 ModelCorrespondence { "CIM_USBDevice.CurrentAlternateSettings" }]
101 uint8 CurrentConfigValue;
102
103 [Description (
104 "An array of USB \'alternate settings\' for each "
105 "interface in the currently selected configuration "
106 karl 1.1.2.2 "(indicated by the CurrentConfigValue property). This "
107 "array has one entry for each interface in the "
108 "configuration. If the property, CurrentConfigValue, is "
109 "zero (indicating the Device is not configured), the "
110 "array is undefined. To understand how to parse this "
111 "octet string, refer to the USB Specification." ),
112 ModelCorrespondence { "CIM_USBDevice.CurrentConfigValue" }]
113 uint8 CurrentAlternateSettings[];
114
115 [Description (
116 "CommandTimeout is configurable by management "
117 "applications supporting USB Redirections. When the "
118 "Redirection Service redirects a USBDevice command to a "
119 "remote device, and the remote device does not respond "
120 "before CommandTimout times out, the Redirection Service "
121 "will emulate a media eject event and re-try the command "
122 "and/or try to re-establish the connection to the remote "
123 "device. The timeout is expressed using the interval "
124 "format of the datetime type." )]
125 datetime CommandTimeout;
126
127 karl 1.1.2.2
128 [Description (
129 "This method returns the USBDevice Descriptor as "
130 "specified by the input parameters. Each parameter is "
131 "briefly described here with more detail in its Qualifier "
132 "list. RequestType is an input parameter that defines "
133 "whether the request is for standard, class or "
134 "vendor-specific information, as well as specifying the "
135 "recipient. RequestValue is also an input parameter and "
136 "defines the USB Descriptor Type and Index. RequestIndex "
137 "is an input parameter which describes the language used "
138 "to return a string Descriptor. RequestLength is both an "
139 "input and output parameter. It specifies the length of "
140 "the Descriptor that should be returned (on input) and "
141 "what is actually returned in the Buffer parameter (on "
142 "output). Buffer is an output parameter, containing the "
143 "Descriptor data. The GetDescriptor method returns an "
144 "integer value of 0 if the USB Descriptor is successfully "
145 "returned, 1 if the request is not supported and any "
146 "other number to indicate an error. \n"
147 "In a subclass, the set of possible return codes could be "
148 karl 1.1.2.2 "specified, using a ValueMap qualifier on the method. The "
149 "strings to which the ValueMap contents are \'translated\' "
150 "may also be specified in the subclass as a Values array "
151 "qualifier." )]
152 uint32 GetDescriptor(
153 [IN, Description (
154 "RequestType is bit-mapped and identifies the type "
155 "of Descriptor request and the recipient. The type "
156 "of request may be \'standard\', \'class\' or "
157 "\'vendor-specific\'. The recipient may be "
158 "\'device\', \'interface\', \'endpoint\' or "
159 "\'other\'. Refer to the USB Specification for the "
160 "appropriate values for each bit." )]
161 uint8 RequestType,
162 [IN, Description (
163 "RequestValue contains the Descriptor Type in the "
164 "high byte and the Descriptor Index (for example, "
165 "index or offset into the Descriptor array) in the "
166 "low byte. Refer to the USB Specification for more "
167 "information." )]
168 uint16 RequestValue,
169 karl 1.1.2.2 [IN, Description (
170 "RequestIndex defines the 2 byte Language ID code "
171 "used by the USBDevice when returning string "
172 "Descriptor data. The parameter is typically 0 for "
173 "non-string Descriptors. Refer to the USB "
174 "Specification for more information." )]
175 uint16 RequestIndex,
176 [IN, OUT, Description (
177 "On input, RequestLength is the length (in octets) "
178 "of the Descriptor that should be returned. If this "
179 "value is less than the actual length of the "
180 "Descriptor, only the requested length will be "
181 "returned. If it is more than the actual length, "
182 "the actual length is returned. On output, this "
183 "parameter is the length, in octets, of the Buffer "
184 "being returned. If the requested Descriptor does "
185 "not exist, the contents of this parameter are "
186 "undefined." )]
187 uint16 RequestLength,
188 [IN ( false ), OUT, Description (
189 "Buffer returns the requested Descriptor "
190 karl 1.1.2.2 "information. If the Descriptor does not exist, the "
191 "contents of the Buffer are undefined." )]
192 uint8 Buffer[]);
193
194 };
|