mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
295 lines
11 KiB
295 lines
11 KiB
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html xmlns:v="urn:schemas-microsoft-com:vml"
|
|
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=us-ascii">
|
|
<meta name=ProgId content=Word.Document>
|
|
<meta name=Generator content="Microsoft Word 10">
|
|
<meta name=Originator content="Microsoft Word 10">
|
|
<link rel=File-List href="extend_files/filelist.xml">
|
|
<title>Extend</title>
|
|
<!--[if gte mso 9]><xml>
|
|
<o:DocumentProperties>
|
|
<o:Author>Dave Parsons</o:Author>
|
|
<o:Template>Normal</o:Template>
|
|
<o:LastAuthor>davidshi</o:LastAuthor>
|
|
<o:Revision>5</o:Revision>
|
|
<o:TotalTime>358</o:TotalTime>
|
|
<o:Created>1999-11-18T21:52:00Z</o:Created>
|
|
<o:LastSaved>2001-03-28T00:03:00Z</o:LastSaved>
|
|
<o:Pages>1</o:Pages>
|
|
<o:Words>351</o:Words>
|
|
<o:Characters>2001</o:Characters>
|
|
<o:Company>Microsoft Corp.</o:Company>
|
|
<o:Lines>16</o:Lines>
|
|
<o:Paragraphs>4</o:Paragraphs>
|
|
<o:CharactersWithSpaces>2348</o:CharactersWithSpaces>
|
|
<o:Version>10.2625</o:Version>
|
|
</o:DocumentProperties>
|
|
</xml><![endif]--><!--[if gte mso 9]><xml>
|
|
<w:WordDocument>
|
|
<w:HideSpellingErrors/>
|
|
<w:HideGrammaticalErrors/>
|
|
<w:Compatibility>
|
|
<w:UseFELayout/>
|
|
</w:Compatibility>
|
|
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
|
</w:WordDocument>
|
|
</xml><![endif]-->
|
|
<style>
|
|
<!--
|
|
/* Font Definitions */
|
|
@font-face
|
|
{font-family:SimSun;
|
|
panose-1:2 1 6 0 3 1 1 1 1 1;
|
|
mso-font-alt:\5B8B\4F53;
|
|
mso-font-charset:134;
|
|
mso-generic-font-family:auto;
|
|
mso-font-pitch:variable;
|
|
mso-font-signature:3 135135232 16 0 262145 0;}
|
|
@font-face
|
|
{font-family:"\@SimSun";
|
|
panose-1:2 1 6 0 3 1 1 1 1 1;
|
|
mso-font-charset:134;
|
|
mso-generic-font-family:auto;
|
|
mso-font-pitch:variable;
|
|
mso-font-signature:3 135135232 16 0 262145 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";
|
|
color:black;}
|
|
h1
|
|
{mso-margin-top-alt:auto;
|
|
margin-right:0in;
|
|
mso-margin-bottom-alt:auto;
|
|
margin-left:0in;
|
|
mso-pagination:widow-orphan;
|
|
mso-outline-level:1;
|
|
font-size:24.0pt;
|
|
font-family:"Times New Roman";
|
|
mso-fareast-font-family:SimSun;
|
|
color:black;
|
|
font-weight:bold;}
|
|
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";
|
|
mso-fareast-font-family:SimSun;
|
|
color:black;
|
|
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";
|
|
mso-fareast-font-family:SimSun;
|
|
color:black;
|
|
font-weight:bold;}
|
|
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";
|
|
color:black;}
|
|
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:"Courier New";
|
|
color:black;}
|
|
@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:371000526;
|
|
mso-list-type:hybrid;
|
|
mso-list-template-ids:619977120 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
|
|
@list l0:level1
|
|
{mso-level-tab-stop:.5in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level2
|
|
{mso-level-tab-stop:1.0in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level3
|
|
{mso-level-tab-stop:1.5in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level4
|
|
{mso-level-tab-stop:2.0in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level5
|
|
{mso-level-tab-stop:2.5in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level6
|
|
{mso-level-tab-stop:3.0in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level7
|
|
{mso-level-tab-stop:3.5in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0:level8
|
|
{mso-level-tab-stop:4.0in;
|
|
mso-level-number-position:left;
|
|
text-indent:-.25in;}
|
|
@list l0: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]--><!--[if gte mso 9]><xml>
|
|
<o:shapedefaults v:ext="edit" spidmax="3074"/>
|
|
</xml><![endif]--><!--[if gte mso 9]><xml>
|
|
<o:shapelayout v:ext="edit">
|
|
<o:idmap v:ext="edit" data="1"/>
|
|
</o:shapelayout></xml><![endif]-->
|
|
</head>
|
|
|
|
<body bgcolor=white lang=EN-US link=blue vlink=blue style='tab-interval:.5in'
|
|
leftmargin=8>
|
|
|
|
<div class=Section1>
|
|
|
|
<h1><a name=MYSAMPLE>Sample </a>User Interface Extension</h1>
|
|
|
|
<h1><span style='font-size:14.0pt;mso-bidi-font-size:24.0pt;color:red'>[This is
|
|
preliminary documentation and subject to change.]<o:p></o:p></span></h1>
|
|
|
|
<h2>SUMMARY</h2>
|
|
|
|
<p>This sample shows how to write Windows Image Acquisition (WIA) user
|
|
interface (UI) extensions. It adds tabs to the device properties dialog
|
|
(accessible from Explorer) and it adds commands to the context menu for the
|
|
sample camera device’s icon. These extensions are applied to the WIA
|
|
sample camera from this DDK by providing implementations of IShellPropSheetExt
|
|
and IContextMenu.</p>
|
|
|
|
<p>At the time of this writing, WIA is only supported on Windows ME and Windows
|
|
XP. This sample will not work on Windows 98 or Windows 2000.</p>
|
|
|
|
<h3>BUILDING THE SAMPLE</h3>
|
|
|
|
<p>To build the sample follow these steps:</p>
|
|
|
|
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
|
|
tab-stops:list .5in'><![if !supportLists]><span style='mso-list:Ignore'>1.<span
|
|
style='font:7.0pt "Times New Roman"'> </span></span><![endif]>In
|
|
the Start menu, select<span style='mso-spacerun:yes'> </span>"Free
|
|
Build Environment" or "Checked Build Environment" under
|
|
"Windows DDK" to open a command window and set basic environment
|
|
variables needed to build drivers. </p>
|
|
|
|
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
|
|
tab-stops:list .5in'><![if !supportLists]><span style='mso-list:Ignore'>2.<span
|
|
style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Change
|
|
to the directory containing the sample driver source code,
|
|
src\wdm\wia\extend.</p>
|
|
|
|
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
|
|
tab-stops:list .5in'><![if !supportLists]><span style='mso-list:Ignore'>3.<span
|
|
style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Execute
|
|
the "build" command. After the build completes, a library named
|
|
Extend.dll will be located in a subdirectory.</p>
|
|
|
|
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
|
|
tab-stops:list .5in'><![if !supportLists]><span style='mso-list:Ignore'>4.<span
|
|
style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Also
|
|
build the sample camera driver located in the src\wdm\wia\wiacam
|
|
directory.</p>
|
|
|
|
<h3>USING THE SAMPLE<o:p></o:p></h3>
|
|
|
|
<p><! ---------------- Snip Snip ---------------- >To use the driver, follow
|
|
the instructions in the sample camera readme file, <a
|
|
href="../wiacam/wiacam.htm">wiacam.htm</a>.</p>
|
|
|
|
<p>To test the sample UI extensions, open the Scanners and Cameras folder in
|
|
Explorer.</p>
|
|
|
|
<h3>RESOURCES</h3>
|
|
|
|
<p>WIA information: <a href="http://www.microsoft.com/hwdev/tech/wia">http://www.microsoft.com/hwdev/tech/wia</a></p>
|
|
|
|
<p>DDK information: <a href="http://www.microsoft.com/ddk/">http://www.microsoft.com/ddk/</a></p>
|
|
|
|
<h3>CODE TOUR</h3>
|
|
|
|
<h3>File Manifest</h3>
|
|
|
|
<pre>Files<span style='mso-spacerun:yes'> </span>Description</pre><pre>------------ -------------------------------------------------------</pre><pre>classes.h<span style='mso-spacerun:yes'> </span>Defines interface for extensions</pre><pre>extend.cpp<span style='mso-spacerun:yes'> </span>Implements UI extensions</pre><pre>extend.def<span style='mso-spacerun:yes'> </span>Linker command file</pre><pre>extend.h<span style='mso-spacerun:yes'> </span>Header file for UI extensions</pre><pre>extend.rc<span style='mso-spacerun:yes'> </span>Resources for UI extensions</pre><pre>makefile<span style='mso-spacerun:yes'> </span>Used for building the UI extensions—do not modify</pre><pre>precomp.h<span style='mso-spacerun:yes'> </span>Precompiled header file containing all included headers</pre><pre>resource.h<span style='mso-spacerun:yes'> </span>Header file for resources</pre><pre>shellext.cpp Implements IcontextMenu and IShellPropSheetExt</pre><pre>sources<span style='mso-spacerun:yes'> </span>Controls building of UI extensions</pre><pre>stdafx.cpp<span style='mso-spacerun:yes'> </span>Includes standard header files</pre><pre>wiacamui.rgs Registry entries for UI extensions</pre><pre>extend.htm<span style='mso-spacerun:yes'> </span>This readme file</pre><pre>extidl.idl<span style='mso-spacerun:yes'> </span>MIDL interface definition file</pre><pre>readme.htm<span style='mso-spacerun:yes'> </span>Project readme file</pre><pre>tcamprop.h<span style='mso-spacerun:yes'> </span>Header file for private device properties</pre><pre>testdev.ico<span style='mso-spacerun:yes'> </span>Sample device icon</pre>
|
|
|
|
<h3 style='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'>Programming
|
|
Tour</h3>
|
|
|
|
<p style='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'>[TO
|
|
DO]<span style='font-family:"Courier New"'><o:p></o:p></span></p>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|