summaryrefslogtreecommitdiff
path: root/setup/devcon
diff options
context:
space:
mode:
authorBarry Golden <[email protected]>2015-08-06 20:06:07 -0700
committerBarry Golden <[email protected]>2015-08-06 20:06:07 -0700
commit9026073a419b5ef68fb46d4f7fae52dbef09dbe1 (patch)
treeb81f73f650af9ac82a7e8739e989456f6e192b37 /setup/devcon
parentbd17fd844b4f074821b9d4c7bc86b9dc7f0e4a59 (diff)
Remove obsolete readme.htm files
Diffstat (limited to 'setup/devcon')
-rw-r--r--setup/devcon/devcon.htm680
1 files changed, 0 insertions, 680 deletions
diff --git a/setup/devcon/devcon.htm b/setup/devcon/devcon.htm
deleted file mode 100644
index 200ecf21..00000000
--- a/setup/devcon/devcon.htm
+++ /dev/null
@@ -1,680 +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="devcon_files/filelist.xml">
-<title>DevCon Sample</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-alt:"Courier New";
- 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: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";}
-p.MsoListNumber, li.MsoListNumber, div.MsoListNumber
- {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";}
-a:link, span.MsoHyperlink
- {color:blue;
- text-decoration:underline;
- text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
- {color:blue;
- 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";}
-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:-120;
- mso-list-type:simple;
- mso-list-template-ids:-155046518;}
-@list l0:level1
- {mso-level-style-link:"List Number";
- mso-level-tab-stop:.25in;
- mso-level-number-position:left;
- margin-left:.25in;
- text-indent:-.25in;}
-@list l1
- {mso-list-id:2061856105;
- mso-list-template-ids:886459906;}
-@list l1:level1
- {mso-level-tab-stop:.5in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level2
- {mso-level-tab-stop:1.0in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level3
- {mso-level-tab-stop:1.5in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level4
- {mso-level-tab-stop:2.0in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level5
- {mso-level-tab-stop:2.5in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level6
- {mso-level-tab-stop:3.0in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level7
- {mso-level-tab-stop:3.5in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level8
- {mso-level-tab-stop:4.0in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-@list l1:level9
- {mso-level-tab-stop:4.5in;
- mso-level-number-position:left;
- text-indent:-.25in;}
-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=blue style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<h2><span class=SpellE><span style='font-family:Verdana'>DevCon</span></span><span
-style='font-family:Verdana'> Sample<o:p></o:p></span></h2>
-
-<h3><span style='font-family:Verdana'>DEVCON<o:p></o:p></span></h3>
-
-<p><span class=SpellE><span style='font-size:10.0pt;font-family:Verdana'>DevCon</span></span><span
-style='font-size:10.0pt;font-family:Verdana'> is a command-line tool that
-displays detailed information about devices, and lets you search for and
-manipulate devices from the command line. <span class=SpellE>DevCon</span>
-enables, disables, installs, configures, and removes devices on the local
-computer and displays detailed information about devices on local and remote
-computers. <span class=SpellE>DevCon</span> is included in the Windows DDK.<o:p></o:p></span></p>
-
-<h3><span style='font-family:Verdana'>ABOUT THIS DOCUMENT<o:p></o:p></span></h3>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This document describes
-the <span class=SpellE>DevCon</span> source code, which is included in the
-Windows DDK in the /<span class=SpellE>src/setup/devcon</span> directory. It
-explains the <span class=SpellE>DevCon</span> design, and describes how to use
-the <span class=SpellE>SetupAPI</span> and device installation functions to
-enumerate devices and perform device operations in a console application.<o:p></o:p></span></p>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>For a complete
-description of <span class=SpellE>DevCon</span> features and instructions for
-using them, see the <span class=SpellE>DevCon</span> help file in the DDK
-documentation in Driver Development Tools/Tools for Testing Drivers/<span
-class=SpellE>DevCon</span>.<o:p></o:p></span></p>
-
-<h3><span style='font-family:Verdana'>SCOPE<o:p></o:p></span></h3>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>These instructions
-pertain to Windows XP and Windows Server 2003. <span class=SpellE>DevCon</span>
-was designed for use on Windows 2000, Windows XP, and Windows Server 2003. It
-will not work on Windows 95, Windows 98, or Windows ME.<o:p></o:p></span></p>
-
-<h3><span style='font-family:Verdana'>HOW IT WORKS<o:p></o:p></span></h3>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>Running &quot;<span
-class=SpellE>devcon</span> help&quot; will provide a list of commands along
-with short descriptions of what each command does. &quot;<span class=SpellE><span
-class=GramE>devcon</span></span> help &lt;command&gt;&quot; will give more
-detailed help on that command. The interpretation of each command is done via a
-dispatch table &quot;<span class=SpellE>DispatchTable</span>&quot; that is at
-the bottom of &quot;<span class=SpellE>cmds.cpp</span>&quot;. Some of the
-commands make use of a generic device enumerator &quot;<span class=SpellE>EnumerateDevices</span>&quot;.
-A few of these commands will work when given a remote target computer, and will
-also work if using the 32-bit <span class=SpellE>devcon</span> on Wow64.&nbsp;
-A description of some of the more interesting functions and the APIs they use
-follows:<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdClasses</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This command demonstrates
-the use of <span class=SpellE>SetupDiBuildClassInfoListEx</span> to enumerate
-all device class <span class=SpellE>GUID's</span>. The function <span
-class=SpellE>SetupDiClassNameFromGuidEx</span> and <span class=SpellE>SetupDiGetClassDescriptionEx</span>
-are used to obtain more information about each device class.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdListClass</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This command demonstrates
-the use of <span class=SpellE>SetupDiClassGuidsFromNameEx</span> to enumerate
-one or more class <span class=SpellE>GUID's</span> that match the class name.
-This command also demonstrates the use of <span class=SpellE>SetupDiGetClassDevsEx</span>
-to list all the devices for each class GUID.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdFind</span></span></span><span
-style='font-family:Verdana'> <span class=SpellE>cmdFindAll</span> <span
-class=SpellE>cmdStatus</span><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>A simple use of <span
-class=SpellE>EnumerateDevices</span> (explained below) to list devices and
-display different levels of information about each device. Note that all but <span
-class=SpellE>cmdFindAll</span> use DIGCF_PRESENT to only list information about
-devices that are currently present. The main functionality for these and
-related devices is done inside <span class=SpellE>FindCallback</span>.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdEnable</span></span></span><span
-style='font-family:Verdana'> <span class=SpellE>cmdDisable</span> <span
-class=SpellE>cmdRestart</span><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>These&nbsp;commands show
-how to issue DIF_PROPERTYCHANGE to enable a device, disable a device, or
-restart a device. The main functionality for each of these commands is done
-inside <span class=SpellE>ControlCallback</span>. <o:p></o:p></span></p>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>These operations cannot
-be done on a remote machine or in the context of Wow64. CFGMGR32 API's should
-not be used as they skip class and co-installers. <o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdUpdate</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This command shows how to
-use <span class=SpellE>UpdateDriverForPlugAndPlayDevices</span> to update the
-driver for all devices to a specific driver. Normally INSTALLFLAG_FORCE would
-not be specified allowing <span class=SpellE>UpdateDriverForPlugAndPlayDevices</span>
-to determine if there is a better match already known. It's specified in <span
-class=SpellE>DevCon</span> to allow <span class=SpellE>DevCon</span> to be used
-more effectively as a debugging/testing tool. This cannot be done on a remote
-machine or in the context of Wow64. <o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdInstall</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>A variation of <span
-class=SpellE>cmdUpdate</span> to install a driver when there is no associated
-hardware. It creates a new root-enumerated device instance and associates it
-with a made up hardware ID specified on the command line (which should
-correspond to a hardware ID in the INF). This cannot be done on a remote
-machine or in the context of Wow64.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdRemove</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>A
-command to remove devices.</span></span><span style='font-size:10.0pt;
-font-family:Verdana'> Plug &amp; Play devices that are removed will reappear in
-response to <span class=SpellE>cmdRescan</span>. The main functionality of this
-command is in <span class=SpellE>RemoveCallback</span> that demonstrates the
-use of DIF_REMOVE. This cannot be done on a remote machine or in the context of
-Wow64. CFGMGR32 API's should not be used as they skip class and co-installers.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdRescan</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This command shows the
-correct way to rescan for all Plug &amp; Play devices that may have previously
-been removed, or that otherwise require a rescan to detect them. <o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdDPAdd</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>This
-command allows you to add a Driver Package to the machine.<span
-style='mso-spacerun:yes'>� </span>The main functionality of this command
-demonstrates the use of <span class=SpellE>SetupCopyOEMInf</span>. Adding a Driver
-Package to the machine doesn�t mean the drivers are installed on devices, it
-simply means the drivers are available automatically when a new device is
-plugged in or <span class=GramE>a</span> existing device is updated.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdDPDelete</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>This
-command allows you to uninstall a Driver Package from the machine.<span
-style='mso-spacerun:yes'>� </span>The main functionality of this command
-demonstrates the use of <span class=SpellE>SetupUninstallOEMInf</span>.
-Removing a Driver Package from the machine does not uninstall the drivers
-associated with a device. If you want to accomplish both then use <span
-class=SpellE>cmdRemove</span> on all the devices using a given Driver Package
-and then <span class=SpellE>cmdDPDelete</span> to remove the Driver Package
-itself from the machine. This functionality is not available in Windows 2000 or
-earlier.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdDPEnum</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>This
-command allows you to enumerate all of the 3<sup>rd</sup> party Driver Packages
-currently installed on the machine and also shows you how to get some common
-properties from a Driver Package (Provider, Class description, <span
-class=SpellE>DriverVer</span> date and version).<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span class=GramE><span style='font-family:Verdana'>cmdDPEnumLegacy</span></span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>This
-command shows you how to enumerate 3<sup>rd</sup> party Driver Packages on
-Windows Server 2003 and earlier operating systems.<o:p></o:p></span></p>
-
-<h4><span style='font-family:Verdana'>Reboot<o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This function shows how
-to correctly reboot the machine from a hardware install program. In particular
-it passes flags to <span class=SpellE>ExitWindowsEx</span> that cause the
-reboot to be associated with hardware installation. You should never reboot <span
-class=GramE>the</span> machine unnecessarily.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>EnumerateDevices</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Demonstrates
-the use of <span class=SpellE>SetupDiGetClassDevsEx</span> to enumerate all
-devices or all present devices, either globally or limited to a specific setup
-class.</span></span><span style='font-size:10.0pt;font-family:Verdana'>
-Demonstrates the use of <span class=SpellE>SetupDiCreateDeviceInfoListEx</span>
-to create a blank list associated with a class or not (for most cases, a blank
-list need not be associated with a class). <span class=GramE>Demonstrates the
-use of <span class=SpellE>SetupDiOpenDeviceInfo</span> to add a device instance
-into a device info list.</span> These last two API's are ideal to obtain a <span
-class=SpellE>DeviceInfoData</span> structure from a device instance and machine
-name when mixing CFGMGR32 API's with SETUPAPI API's. <span class=SpellE>SetupDiGetDeviceInfoListDetail</span>
-is called to obtain a remote machine handle that may be passed into CFGMGR32
-API's. <span class=SpellE>SetupDiEnumDeviceInfo</span> is called to enumerate
-each and every device that is in the device info list (either explicitly added,
-or determined by the call to <span class=SpellE>SetupDiGetClassDevsEx</span>).
-The instance ID is obtained by calling <span class=SpellE>CM_Get_Device_ID_Ex</span>,
-using information in <span class=SpellE>devInfo</span> (obtained from <span
-class=SpellE>SetupDiEnumerateDeviceInfo</span>) and <span class=SpellE>devInfoListDetail</span>
-(obtained from <span class=SpellE>SetupDiGetDeviceInfoListDetail</span>). <span
-class=SpellE>GetHwIds</span> is called to obtain a list of hardware and
-compatible ID's (explained below). Once an interesting device has been
-determined (typically by checking hardware ID's) then the callback is called to
-operate on that individual device.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>GetHwIds</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>Shows how to get the
-complete list of hardware ID's or compatible ID's for a device using <span
-class=SpellE>SetupDiGetDeviceRegistryProperty</span>.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>GetDeviceDescription</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Shows
-how to obtain descriptive information about a device.</span></span><span
-style='font-size:10.0pt;font-family:Verdana'> The friendly name is used if it <span
-class=GramE>exists,</span> otherwise the device description is used.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>DumpDeviceWithInfo</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Shows
-how to obtain an instance ID (or use any CFGMGR32 API) given HDEVINFO (device
-info list) and PSP_DEVINFO_DATA (device info data).</span></span><span
-style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>DumpDeviceStatus</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Shows
-how to interpret the information returned by <span class=SpellE>CM_Get_DevNode_Status_Ex</span>.
-Refer to <span class=SpellE>cfg.h</span> for information returned by this API.</span></span><span
-style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>DumpDeviceResources</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Shows
-how to obtain information about resources used by a device.</span></span><span
-style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>DumpDeviceDriverFiles</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>Provided as a debugging
-aid, obtains information about the files apparently being used for a device. It
-uses <span class=SpellE>SetupDiBuildDriverInfoList</span> to obtain information
-about the driver being used for the specified device. The driver list
-associated with a device may be enumerated by calling <span class=SpellE>SetupDiEnumDriverInfo</span>.
-In this case, there will be no more than one driver listed. This function
-proceeds to obtain a list of files that would normally be copied for this
-driver using DIF_INSTALLDEVICEFILES. <span class=SpellE>SetupScanFileQueue</span>
-is used to enumerate the file queue to display the list of files that are associated
-with the driver.<o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>DumpDeviceDriverNodes</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>Provided as a debugging
-aid, this function determines the list of compatible drivers for a device. It
-uses <span class=SpellE>SetupDiBuildDriverInfoList</span> to obtain the list of
-compatible drivers. In this case, all drivers are enumerated, however typically
-DIF_SELECTBESTCOMPATDRV and <span class=SpellE>SetupDiGetSelectedDriver</span>
-would be used together to find which driver the OS would consider to be the
-best. <o:p></o:p></span></p>
-
-<h4><span class=SpellE><span style='font-family:Verdana'>DumpDeviceStack</span></span><span
-style='font-family:Verdana'><o:p></o:p></span></h4>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This function determines
-class and device upper and lower filters. <o:p></o:p></span></p>
-
-<h3><span style='font-family:Verdana'>BUILDING THE DEVCON SAMPLE<o:p></o:p></span></h3>
-
-<h5><span style='font-family:Verdana'>To build the <span class=SpellE>devcon</span>
-sample:<o:p></o:p></span></h5>
-
-<p class=MsoListNumber style='margin-left:.5in;text-indent:-.25in;mso-list:
-l1 level1 lfo3;tab-stops:list .5in'><![if !supportLists]><span
-style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:Verdana;
-mso-bidi-font-family:Verdana'><span style='mso-list:Ignore'>1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-style='font-size:10.0pt;font-family:Verdana'>Click the Build Environment icon
-of choice in the Development Kits Build Environments sub-menu. This will set up
-the correct build environment to build this sample. Note that this sample will
-build in the 64-bit environments as well as the 32-bit environments. <o:p></o:p></span></p>
-
-<p class=MsoListNumber style='margin-left:.5in;text-indent:-.25in;mso-list:
-l1 level1 lfo3;tab-stops:list .5in'><![if !supportLists]><span
-style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:Verdana;
-mso-bidi-font-family:Verdana'><span style='mso-list:Ignore'>2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-style='font-size:10.0pt;font-family:Verdana'>In a command window, change to the
-directory containing the <span class=SpellE>DevCon</span> source code. For
-example:<o:p></o:p></span></p>
-
-<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>
-
-<p style='margin-left:.5in'><span class=SpellE><span class=GramE><b><span
-style='font-size:10.0pt;font-family:Verdana'>cd</span></b></span></span><b><span
-style='font-size:10.0pt;font-family:Verdana'> <span class=SpellE>src\setup\devcon</span></span></b><span
-style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
-
-</blockquote>
-
-<p class=MsoListNumber style='margin-left:.5in;text-indent:-.25in;mso-list:
-l1 level1 lfo3;tab-stops:list .5in'><![if !supportLists]><span
-style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:Verdana;
-mso-bidi-font-family:Verdana'><span style='mso-list:Ignore'>3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-style='font-size:10.0pt;font-family:Verdana'>Use the macro BLD or run the
-following from the command prompt: <o:p></o:p></span></p>
-
-<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>
-
-<p><span class=GramE><b><span style='font-size:10.0pt;font-family:Verdana'>build</span></b></span><b><span
-style='font-size:10.0pt;font-family:Verdana'> �c</span></b><span
-style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>This invokes the
-Microsoft make routines that produce the <span class=SpellE>Build.log</span>, <span
-class=SpellE>Build.wrn</span>, and <span class=SpellE>Build.err</span> log
-files. <o:p></o:p></span></p>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>When the build completes,
-the executable will be placed in the ObjXXX\I386 subdirectory of the
-&lt;TARGETPATH&gt; directory specified in the Sources file (depending on build
-environment chosen). <o:p></o:p></span></p>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>If the build does not
-succeed, check for these errors: 1) the build environment is not set up
-properly, or 2) modifications made to the sample source code introduced errors.
-<o:p></o:p></span></p>
-
-</blockquote>
-
-<h3><span style='font-family:Verdana'>USING DEVCON<o:p></o:p></span></h3>
-
-<p><span class=SpellE><span style='font-size:10.0pt;font-family:Verdana'>DevCon</span></span><span
-style='font-size:10.0pt;font-family:Verdana'> is provided in ready-to-run form
-in tools\<span class=SpellE>devcon</span>. For usage, refer to the document
-provided with devcon.exe. <span class=SpellE>DevCon</span> is a command line
-utility with built-in documentation available by typing &quot;<span
-class=SpellE>devcon</span> help&quot;. <o:p></o:p></span></p>
-
-<h3><span style='font-family:Verdana'>TESTING<o:p></o:p></span></h3>
-
-<p><span style='font-size:10.0pt;font-family:Verdana'>Type &quot;<span
-class=SpellE>devcon</span> find *&quot; to list device instances of all present
-devices on the local machine.<o:p></o:p></span></p>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Type
-&quot;<span class=SpellE>devcon</span> status @root\rdp_mou\0000&quot; to list
-status of the terminal server mouse driver.</span></span><span
-style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p>
-
-<p><span class=GramE><span style='font-size:10.0pt;font-family:Verdana'>Type
-&quot;<span class=SpellE>devcon</span> status *PNP05*&quot; to list status of
-all COM ports.</span></span><span style='font-size:10.0pt;font-family:Verdana'><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>
-
-<table class=MsoNormalTable border=0 cellspacing=1 cellpadding=0 width=916
- style='width:687.0pt;mso-cellspacing:.7pt;mso-padding-alt:0in 0in 0in 0in'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><u>File</u></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><u>Description</u></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><i>DevCon.htm</i></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>Sample tour documentation for this binary (this file).</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>DevCon.cpp</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>Source file for <span class=SpellE>tmain</span> entry
- point and utility functions.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>Cmds.cpp</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>Source file for supported commands.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>Dump.cpp</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>Source file for functions that output information about
- devices.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>DevCon.h</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=GramE>Header file</span> for sample.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:6'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>DevCon.rc</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=GramE>Resource file</span> containing some
- strings and version information.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:7'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>rc_ids.h</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=GramE>Header file</span> for resources.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:8'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>Msg.mc</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>Message file that is used to build <span class=SpellE>msg.rc</span>
- and <span class=SpellE>msg.h</span> used for help texts and other messages.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:9'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><i>Sources</i></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>Generic file that lists source files and all the build
- options.</p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:10;mso-yfti-lastrow:yes'>
- <td width=151 valign=top style='width:113.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal><span class=SpellE><i>Makefile</i></span></p>
- </td>
- <td width=755 style='width:566.25pt;padding:0in 0in 0in 0in'>
- <p class=MsoNormal>File that redirects to the real make file that is shared
- by all the driver components of the Windows DDK.</p>
- </td>
- </tr>
-</table>
-
-<h3><span style='font-family:Courier'>FEEDBACK<o:p></o:p></span></h3>
-
-<p><span style='font-family:Courier'>We welcome your comments, problem reports
-and wish-list requests. Please submit them by pointing your Internet browser to
-<a href="http://www.microsoft.com/ddk">http://www.microsoft.com/ddk</a>. </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><span style='font-size:2.0pt;mso-bidi-font-size:12.0pt'><o:p>&nbsp;</o:p></span></p>
- </td>
- </tr>
-</table>
-
-<p><span style='font-size:7.5pt;font-family:"MS Sans Serif"'>� 2004</span><span
-style='font-size:10.0pt;font-family:Verdana'> </span><span style='font-size:
-7.5pt;font-family:"MS Sans Serif"'>Microsoft Corporation </span><span
-style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p>
-
-</div>
-
-</body>
-
-</html>