📄 demoups.htm
字号:
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l2:level9
{mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l3
{mso-list-id:1010261280;
mso-list-template-ids:-1637157964;}
@list l3:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l4
{mso-list-id:1246648340;
mso-list-template-ids:-2046270162;}
@list l4:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l5
{mso-list-id:1731687321;
mso-list-template-ids:133613986;}
@list l5:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l6
{mso-list-id:1732456476;
mso-list-template-ids:-860734320;}
@list l6: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 l7
{mso-list-id:1816294252;
mso-list-template-ids:1956828798;}
@list l7: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 l8
{mso-list-id:1819154669;
mso-list-template-ids:-311934658;}
@list l8:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level2
{mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level3
{mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level4
{mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l8: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";}
</style>
<![endif]-->
<meta name=Author content="Stephen R. Berard">
</head>
<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
<div class=Section1>
<h2><span style='font-family:Verdana'>UPS <span class=SpellE>Minidriver</span> Demo<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'>The Demo UPS sample
provides an example of a UPS minidriver for use by the UPS service. It
contains annotated code to assist in developing a UPS minidriver DLL.
Detailed documentation may be found in the Windows 2000/XP DDK under Battery
Devices.<o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>Introduction to UPS <span class=SpellE>Minidrivers</span><o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>A UPS minidriver provides
a means for the standard UPS service to communicate with various UPS
devices. Third parties may provide a minidriver to enable the UPS service
to manage their proprietary hardware. A UPS minidriver is a
user-mode DLL called by the UPS service. A UPS <span class=SpellE>minidriver</span>
has the following responsibilities:<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:l2 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
font-family:Verdana'>Initialize the communication path to the UPS. <o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l2 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
font-family:Verdana'>Update registry entries that are used to display
information to the user via <strong><span style='font-family:Verdana'>Power
Options</span></strong>. <o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l2 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
font-family:Verdana'>Monitor the UPS for state changes. <o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l2 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt;
font-family:Verdana'>Power off the UPS outlets upon shutdown (if supported
by the hardware). <o:p></o:p></span></li>
</ul>
<p><span style='font-size:10.0pt;font-family:Verdana'>Typically, a UPS
minidriver communicates with a UPS device through a COM (serial) port by
calling <span class=SpellE><strong><span style='font-family:Verdana'>CreateFile</span></strong></span>,
<span class=SpellE><strong><span style='font-family:Verdana'>ReadFile</span></strong></span>,
and <span class=SpellE><strong><span style='font-family:Verdana'>WriteFile</span></strong></span>.
These functions are described in the Platform SDK documentation. The
minidriver is responsible for implementing whatever communication protocol the
UPS unit supports.</span></p>
<p><b><span style='font-size:10.0pt;font-family:Verdana'>Note: </span></b><span
style='font-size:10.0pt;font-family:Verdana'>This package is intended to
demonstrate UPS minidriver concepts for educational purposes. It is not to be
used in a production environment in its entirety. <o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>Introduction to the Demo UPS Sample<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>This sample package
consists of source code and an installation INF file. The sample contains
following files: <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 lfo6;tab-stops:list .5in'><span class=SpellE><span
class=GramE><i style='mso-bidi-font-style:normal'><span style='font-size:
10.0pt;font-family:Verdana'>demoups.cpp</span></i></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:Verdana'> :</span></span><span
style='font-size:10.0pt;font-family:Verdana'> C/C++ source file.<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l1 level1 lfo6;tab-stops:list .5in'><span class=SpellE><span
class=GramE><i><span style='font-size:10.0pt;font-family:Verdana'>demoups.h</span></i></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:Verdana'> :</span></span><span
style='font-size:10.0pt;font-family:Verdana'> C/C++ header file.<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l1 level1 lfo6;tab-stops:list .5in'><span class=SpellE><span
class=GramE><em><span style='font-size:10.0pt;font-family:Verdana'>demoups.def</span></em></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:Verdana'> :</span></span><span
style='font-size:10.0pt;font-family:Verdana'> Module definitions file for
the project.<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l1 level1 lfo6;tab-stops:list .5in'><span class=SpellE><span
class=GramE><em><span style='font-size:10.0pt;font-family:Verdana'>demoups.inf</span></em></span></span><span
class=GramE><span style='font-size:10.0pt;font-family:Verdana'> :</span></span><span
style='font-size:10.0pt;font-family:Verdana'> Information file used
for installation.<o:p></o:p></span></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l1 level1 lfo6;tab-stops:list .5in'><span class=GramE><em><span
style='font-size:10.0pt;font-family:Verdana'>demoups.htm</span></em><span
style='font-size:10.0pt;font-family:Verdana'> :</span></span><span
style='font-size:10.0pt;font-family:Verdana'> This file.<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'>To build the sample
drivers, you must first set up the DDK environment on your host machine. The
揑nstallation and Release Notes
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -