Claims
- 1. A method comprising:
providing user interface information into firmware on a USB device, the user interface information corresponding to the USB device; and responsive to receiving a host-specific device request, communicating the user interface information to a requester.
- 2. A method as recited in claim 1, wherein the user interface information comprises:
a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device.
- 3. A method as recited in claim 1, wherein the user interface information comprises:
a custom property section comprising one or more custom property entries, each custom property entry corresponding to a respective custom property for the USB device; and a header section comprising an indication of the number of custom property entries for which mappings exist in the custom property section.
- 4. A method as recited in claim 1, wherein the user interface information is selected from information comprising an icon, a font, a picture, a label, a help page, or a URL.
- 5. A method as recited in claim 1, wherein the user interface information is in a data format specified by an operating system.
- 6. A method comprising
querying a USB device with a host-specific device request that corresponds to adescriptor, the descriptor indicating user interface information corresponding to the USB device; responsive to the querying, receiving the user interface information; and displaying a set of user interface elements specified by the user interface information.
- 7. A method as recited in claim 6, wherein the descriptor comprises:
a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device.
- 8. A method as recited in claim 6, wherein the descriptor comprises:
a custom property section comprising one or more custom property entries, each custom property entry corresponding to a single custom property for the USB device; and a header section comprising an indication of the number of custom properties property entries for which mappings exist in the custom property section.
- 9. A method as recited in claim 6, wherein the set of user interface elements are selected from elements comprising an icon, a font, a picture, a label, a help page, or a URL.
- 10. A method as recited in claim 6, wherein the user interface information is in a data format specified by an operating system.
- 11. One or more computer-readable media containing a computer executable program that performs a method as recited in claim 6.
- 12. In a USB device that responds to device requests from a host, the device requests including USB-specific device requests with corresponding USB-specified request codes and device-specific device requests with corresponding device-specified request codes, the USB-specific device requests including a GET_DESCRIPTOR device request with a corresponding GET_DESCRIPTOR request code, a method of implementing a host-specific device request to display user interface elements that correspond to the USB device, the method comprising:
receiving a GET_DESCRIPTOR device request that specifies a predetermined index; and responding to the GET_DESCRIPTOR device request by returning a descriptor that corresponds in the USB device to the host-specific device request for a device-specific request code, the descriptor specifying user interface information corresponding to the USB device.
- 13. A method as recited in claim 12, wherein the user interface information comprises:
a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device.
- 14. A method as recited in claim 12, wherein the user interface information comprises:
a custom property section comprising one or more custom property entries, each custom property entry corresponding to a single custom property for the USB device; and a header section comprising an indication of the number of custom properties property entries for which mappings exist in the custom property section.
- 15. One or more computer-readable media containing a computer executable program that performs a method as recited in claim 12.
- 16. A method comprising:
communicating a non-standard USB device request to a device; and responsive to the communicating, receiving an extended property descriptor from the device, the extended property descriptor specifying user interface information corresponding to the USB device.
- 17. A method as recited in claim 16, wherein the user interface information comprises information that is used by an operating system to augment a shell or user interface to represent the device.
- 18. A method as recited in claim 16, wherein the extended property descriptor further comprises a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the device.
- 19. A method as recited in claim 16, wherein the extended property descriptor further comprises:
a custom property section comprising one or more custom property entries, each custom property entry corresponding to a single custom property for the USB device; and a header section comprising an indication of the number of custom properties property entries for which mappings exist in the custom property section.
- 20. A method as recited in claim 16, wherein the extended property descriptor comprises user interface information corresponding to the USB device, the method further comprising:
responsive to receiving the property descriptor, providing information corresponding to the user interface information to computer program applications.
- 21. A USB device comprising:
a processor; a port coupled to the processor; a memory coupled to the processor; an extended property descriptor stored in the memory, the extended property descriptor identifying a set of user interface information corresponding to the USB device; and a control program module stored in the memory, the control program module being configured to send the extended configuration descriptor to a requester in response to receiving a host-specific device request at the port.
- 22. A USB device recited in claim 21, wherein the extended property descriptor comprises:
a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device.
- 23. A USB device recited in claim 21, wherein the extended property descriptor comprises:
a custom property section comprising one or more custom property entries, each custom property entry corresponding to a single custom property for the USB device; and a header section comprising an indication of the number of custom properties property entries for which mappings exist in the custom property section.
- 24. A USB device recited in claim 21, wherein the set of user interface information is in a data format specified by an operating system.
- 25. A computer-readable storage medium containing computer-executable instructions utilized by an application program to interact with a USB device, wherein the computer-executable instructions comprise:
receiving a request from an application program for a descriptor that specifies user interface information corresponding to the USB device; querying the USB device with a host-specific device request to obtain the property descriptor; responsive to the querying, receiving the descriptor; and providing the received property descriptor to the requesting application program.
- 26. A computer-readable storage medium as recited in claim 25, wherein the user interface information corresponds to information used to augment a shell or user interface that is presentable to a user.
- 27. A computer-readable storage medium as recited in claim 25, wherein the obtained property descriptor comprises:
one or more custom property sections, each custom property section indicating information corresponding to a user interface element for the USB device.
- 28. A computer-readable storage medium as recited in claim 25, wherein the obtained property descriptor comprises:
a header section indicating the number of custom properties for which mappings exist in the property descriptor; and, one or more custom property sections, each custom property section indicating information corresponding to a user interface element for the USB device.
- 29. A computer-readable storage medium as recited in claim 25, wherein the user interface information is selected from information comprising an icon, a font, a picture, a label, a help page, or a URL.
- 30. A computer comprising one or more computer-readable media as recited in claim 25.
- 31. One or more computer-readable media containing a computer-executable program for use in conjunction with a USB device that responds to device requests from the program, the device requests including USB-specific device requests with corresponding USB-specified request codes and device-specific device requests with corresponding device-specified request codes, the program comprising:
receiving a host-specific request for an extended property descriptor from a requester, the extended property descriptor indicating one or more user interface elements that correspond to the USB device; responsive to the receiving, communicating the extended property descriptor to the requestor.
- 32. One or more computer-readable media as recited in claim 31, wherein the property descriptor comprises:
a custom property section that corresponds to a user interface element associated with the USB device.
- 33. One or more computer-readable media as recited in claim 31, wherein the property descriptor comprises:
a header section indicating the number of custom properties for which mappings exist in the property descriptor; and, one or more custom property sections, each custom property section corresponding to a respective user interface associated with the USB device.
- 34. A computer comprising one or more computer-readable media as recited in claim 31.
- 35. A computer-readable medium having stored thereon a data structure, comprising:
a first data field comprising data indicating a count indicating the number of control property entries for which mappings exist in a descriptor; and one or more second data fields, the number of second data fields based on the count, each second data field comprising data corresponding to a custom property for a USB device.
- 36. A computer-readable medium as recited in claim 35, wherein the first data field further comprises:
a total descriptor length indication; and a descriptor version indication.
- 37. A computer-readable medium as recited in claim 35, wherein each second data field further comprises:
a custom property section length indication; a data type indication of the custom property; a property name corresponding to the custom property; and a set of property data corresponding to the custom property.
RELATED APPLICATIONS
[0001] This application is related to a prior U.S. Patent Application filed Feb. 4, 2000, titled “Host-Specified USB Device Requests”, Ser. No. 09/498,056, which is hereby incorporated by reference.