diff options
| author | Barry Golden <[email protected]> | 2015-08-06 20:06:07 -0700 |
|---|---|---|
| committer | Barry Golden <[email protected]> | 2015-08-06 20:06:07 -0700 |
| commit | 9026073a419b5ef68fb46d4f7fae52dbef09dbe1 (patch) | |
| tree | b81f73f650af9ac82a7e8739e989456f6e192b37 /usb/usbview | |
| parent | bd17fd844b4f074821b9d4c7bc86b9dc7f0e4a59 (diff) | |
Remove obsolete readme.htm files
Diffstat (limited to 'usb/usbview')
| -rw-r--r-- | usb/usbview/usbview.htm | 400 |
1 files changed, 0 insertions, 400 deletions
diff --git a/usb/usbview/usbview.htm b/usb/usbview/usbview.htm deleted file mode 100644 index 442cdff2..00000000 --- a/usb/usbview/usbview.htm +++ /dev/null @@ -1,400 +0,0 @@ -<html xmlns:o="urn:schemas-microsoft-com:office:office" -xmlns:w="urn:schemas-microsoft-com:office:word" -xmlns="http://www.w3.org/TR/REC-html40"> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=ProgId content=Word.Document> -<meta name=Generator content="Microsoft Word 11"> -<meta name=Originator content="Microsoft Word 11"> -<link rel=File-List href="usbview_files/filelist.xml"> -<title>USBVIEW</title> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Courier; - panose-1:2 7 4 9 2 2 5 2 4 4; - mso-font-charset:0; - mso-generic-font-family:modern; - mso-font-format:other; - mso-font-pitch:fixed; - mso-font-signature:3 0 0 0 1 0;} -@font-face - {font-family:Wingdings; - panose-1:5 0 0 0 0 0 0 0 0 0; - mso-font-charset:2; - mso-generic-font-family:auto; - mso-font-pitch:variable; - mso-font-signature:0 268435456 0 0 -2147483648 0;} -@font-face - {font-family:Verdana; - panose-1:2 11 6 4 3 5 4 4 2 4; - mso-font-charset:0; - mso-generic-font-family:swiss; - mso-font-pitch:variable; - mso-font-signature:536871559 0 0 0 415 0;} -@font-face - {font-family:"MS Sans Serif"; - panose-1:0 0 0 0 0 0 0 0 0 0; - mso-font-alt:"Times New Roman"; - mso-font-charset:0; - mso-generic-font-family:roman; - mso-font-format:other; - mso-font-pitch:auto; - mso-font-signature:0 0 0 0 0 0;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {mso-style-parent:""; - margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman"; - mso-fareast-font-family:"Times New Roman";} -h2 - {mso-margin-top-alt:auto; - margin-right:0in; - mso-margin-bottom-alt:auto; - margin-left:0in; - mso-pagination:widow-orphan; - mso-outline-level:2; - font-size:18.0pt; - font-family:"Times New Roman"; - font-weight:bold;} -h3 - {mso-margin-top-alt:auto; - margin-right:0in; - mso-margin-bottom-alt:auto; - margin-left:0in; - mso-pagination:widow-orphan; - mso-outline-level:3; - font-size:13.5pt; - font-family:"Times New Roman"; - font-weight:bold;} -h4 - {mso-margin-top-alt:auto; - margin-right:0in; - mso-margin-bottom-alt:auto; - margin-left:0in; - mso-pagination:widow-orphan; - mso-outline-level:4; - font-size:12.0pt; - font-family:"Times New Roman"; - font-weight:bold;} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline; - text-underline:single;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline; - text-underline:single;} -p - {mso-margin-top-alt:auto; - margin-right:0in; - mso-margin-bottom-alt:auto; - margin-left:0in; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman"; - mso-fareast-font-family:"Times New Roman";} -pre - {margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; - font-size:10.0pt; - font-family:"Courier New"; - mso-fareast-font-family:"Times New Roman";} -span.SpellE - {mso-style-name:""; - mso-spl-e:yes;} -span.GramE - {mso-style-name:""; - mso-gram-e:yes;} -@page Section1 - {size:8.5in 11.0in; - margin:1.0in 1.25in 1.0in 1.25in; - mso-header-margin:.5in; - mso-footer-margin:.5in; - mso-paper-source:0;} -div.Section1 - {page:Section1;} - /* List Definitions */ - @list l0 - {mso-list-id:119422542; - mso-list-template-ids:-696511164;} -@list l0:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1 - {mso-list-id:248975435; - mso-list-template-ids:2079487724;} -@list l1:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -ol - {margin-bottom:0in;} -ul - {margin-bottom:0in;} ---> -</style> -<!--[if gte mso 10]> -<style> - /* Style Definitions */ - table.MsoNormalTable - {mso-style-name:"Table Normal"; - mso-tstyle-rowband-size:0; - mso-tstyle-colband-size:0; - mso-style-noshow:yes; - mso-style-parent:""; - mso-padding-alt:0in 5.4pt 0in 5.4pt; - mso-para-margin:0in; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Times New Roman"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} -</style> -<![endif]--> -</head> - -<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'> - -<div class=Section1> - -<h2><span style='font-family:Verdana'>USBVIEW<o:p></o:p></span></h2> - -<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Usbview.exe is a Windows -GUI application that allows you to browse all USB controllers and connected USB -devices on your system. The left pane in the main application window displays a -connection-oriented tree view, and the right pane displays the USB data -structures pertaining to the selected USB device, such as the Device, -Configuration, Interface, and Endpoint Descriptors, as well as the current -device configuration.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>This functional -application sample demonstrates how a user-mode application can enumerate USB -host controllers, USB hubs, and attached USB devices, and query information -about the devices from the registry and through USB requests to the devices.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The IOCTL calls (see the -system include file USBIOCTL.H) demonstrated by this sample include:<o:p></o:p></span></p> - -<ul type=disc> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_GET_HCD_DRIVERKEY_NAME <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_USB_GET_NODE_CONNECTION_INFORMATION <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_USB_GET_NODE_CONNECTION_NAME <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_USB_GET_NODE_INFORMATION <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l0 level1 lfo1;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>IOCTL_USB_GET_ROOT_HUB_NAME<o:p></o:p></span></li> -</ul> - -<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The <span class=SpellE>Usbview</span> -sample compiles and links in the standard DDK build environment with Microsoft� -Visual C� 6.0 on both X86 and Alpha systems, producing a single executable -binary Usbview.exe. Both free and checked versions can be built, with assertion -error messages enabled in the checked build to indicate unexpected error -conditions.<o:p></o:p></span></p> - -<h3><span style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3> - -<h4><span style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4> - -<pre><u>Files<span style='mso-spacerun:yes'>�������� </span>Description<o:p></o:p></u></pre><pre><span -style='font-family:Courier'>Usbview.htm<span style='mso-tab-count:1'>��� </span>Documentation for this sample (this file)<o:p></o:p></span></pre><pre><span -style='font-family:Courier'>Sources<span style='mso-tab-count:2'>������� </span>Generic build-compatible sources file for this sample<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Resource.h</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>���� </span>ID definitions for GUI controls<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Usbdesc.h</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span>USB descriptor type definitions<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Usbview.h</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span><span -class=GramE>Main header file</span> for this sample<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Vndrlist.h</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>���� </span>List of USB Vendor IDs and vendor names<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Debug.c</span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>������� </span>Assertion routines for the checked build<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Devnode.c</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span>Routines for accessing <span -class=SpellE>DevNode</span> information<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Dispaud.c</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span>Routines for displaying USB audio class device information<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Display.c</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span>Routines for displaying USB device information<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Enum.c</span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>�������� </span>Routines for enumerating host controllers, hubs, and devices<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Usbview.c</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span>Entry point and GUI handling routines<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Usbview.rc</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>���� </span>Menu and dialog definitions<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Split.cur</span></span><span -style='font-family:Courier'><span style='mso-tab-count:1'>����� </span>Cursor file<o:p></o:p></span></pre><pre><span -class=SpellE><span style='font-family:Courier'>Usb.ico</span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>������� </span>Application icon file<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span style='font-family:Courier'>bang.ico</span></span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>�������������� </span>Application icon file<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span style='font-family:Courier'>hub.ico</span></span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>������� </span>Application icon file<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span style='font-family:Courier'>monitor.ico</span></span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>����������� </span>Application icon file<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span style='font-family:Courier'>port.ico</span></span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>�������������� </span>Application icon file<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span style='font-family:Courier'>makefile</span></span></span><span -style='font-family:Courier'><span style='mso-tab-count:2'>�������������� </span>DDK build environment <span -class=SpellE>makefile</span><o:p></o:p></span></pre><pre><span -style='font-family:Courier'><o:p> </o:p></span></pre><pre><span -style='font-family:Verdana'> <o:p></o:p></span></pre> - -<h4><span style='font-family:Verdana'>Programming Tour<o:p></o:p></span></h4> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The major topics covered -in this tour are: <o:p></o:p></span></p> - -<ul type=disc> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo2;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>GUI handling routines <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo2;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>Device enumeration routines<o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo2;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:Verdana'>Device information display routines<o:p></o:p></span></li> -</ul> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The file <span -class=SpellE>Usbview.c</span> contains the sample application entry point and -GUI handling routines. On entry, the main application window is created, which -is actually a dialog box as defined in <span class=SpellE>Usbview.rc</span>. -The dialog box consists of a split window with a tree view control on the left -side and an edit control on the right side. <o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The routine <span -class=SpellE><span class=GramE>RefreshTree</span></span><span class=GramE>(</span>) -is called to enumerate USB host controller, hubs, and attached devices and to -populate the device tree view control. <span class=SpellE><span class=GramE>RefreshTree</span></span><span -class=GramE>(</span>) calls the routine <span class=SpellE>EnumerateHostControllers</span>() -in <span class=SpellE>Enum.c</span> to enumerate USB host controller, hubs, and -attached devices. After the device tree view control has been populated, <span -class=SpellE>USBView_<span class=GramE>OnNotify</span></span><span class=GramE>(</span>) -is called when an item is selected in the device tree view control. This calls <span -class=SpellE><span class=GramE>UpdateEditControl</span></span><span -class=GramE>(</span>) in <span class=SpellE>Display.c</span> to display -information about the selected item in the edit control.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The file <span -class=SpellE>Enum.c</span> contains the routines that enumerate the USB bus and -populate the tree view control. The USB device enumeration and information -collection process is the main point of this sample application. The -enumeration process starts at <span class=SpellE><span class=GramE>EnumerateHostControllers</span></span><span -class=GramE>(</span>) and goes like this:<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>(1) Enumerate Host -Controllers and Root Hubs. Host controllers have symbolic link names of the -form <span class=SpellE>HCDx</span>, where x starts at 0. Use <span -class=SpellE><span class=GramE>CreateFile</span></span><span class=GramE>(</span>) -to open each host controller symbolic link. Create a node in the tree view to -represent each host controller. After a host controller has been opened, send -the host controller an IOCTL_USB_GET_ROOT_HUB_NAME request to get the symbolic -link name of the root hub that is part of the host controller.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>(2) Enumerate Hubs (Root -Hubs and External Hubs). Given the name of a hub, use <span class=SpellE><span -class=GramE>CreateFile</span></span><span class=GramE>(</span>) to open the -hub. Send the hub an IOCTL_USB_GET_NODE_INFORMATION request to get info about -the hub, such as the number of downstream ports. Create a node in the tree view -to represent each hub.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>(3) Enumerate Downstream -Ports. Given a handle to an open hub and the number of downstream ports on the -hub, send the hub an IOCTL_USB_GET_NODE_CONNECTION_INFORMATION request for each -downstream port of the hub to get info about the device (if any) attached to -each port. If there is a device attached to a port, send the hub an -IOCTL_USB_GET_NODE_CONNECTION_NAME request to get the symbolic link name of the -hub attached to the downstream port. If there is a hub attached to the -downstream port, <span class=SpellE>recurse</span> to step (2). Create a node -in the tree view to represent each hub port and attached device. USB -configuration and string descriptors are retrieved from attached devices in <span -class=SpellE><span class=GramE>GetConfigDescriptor</span></span><span -class=GramE>(</span>) and <span class=SpellE>GetStringDescriptor</span>() by -sending an IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION() to the hub to which -the device is attached.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The file <span -class=SpellE>Display.c</span> contains routines that display information about -selected devices in the application edit control. Information about the device -was collected during the enumeration of the device tree. This information -includes USB device, configuration, and string descriptors and connection and configuration -information that is maintained by the USB stack. The routines in this file -simply parse and print the data structures for the device that were collected -when it was enumerated. The file <span class=SpellE>Dispaud.c</span> parses and -prints data structures that are specific to USB audio class devices.<o:p></o:p></span></p> - -<p align=center style='text-align:center'><span style='font-size:10.0pt; -font-family:Verdana'><a href="#top">Top of page</a> <o:p></o:p></span></p> - -<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624 - style='width:6.5in;mso-cellspacing:0in;mso-padding-alt:0in 5.4pt 0in 5.4pt'> - <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes; - height:1.5pt'> - <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'> - <p class=MsoNormal><o:p> </o:p></p> - </td> - </tr> -</table> - -<p><span style='font-size:7.5pt;font-family:"MS Sans Serif"'>� 2004 Microsoft -Corporation</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p> - -</div> - -</body> - -</html> |
