Click here to Skip to main content
12,630,420 members (30,290 online)
Click here to Skip to main content

Stats

29.6K views
14 downloads
14 bookmarked
Posted

The CLR, and How It Works for Interoperation

, 26 Oct 2007 CPOL
An explantion of the CLR and its use of certain base classes for interoperation.
<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:m="http://schemas.microsoft.com/office/2004/12/omml"
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 12">
<meta name=Originator content="Microsoft Word 12">
<link rel=File-List href="CLR_files/filelist.xml">
<link rel=Edit-Time-Data href="CLR_files/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>The CLR, and how It Works for Interoperation</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Dave</o:Author>
  <o:Template>Normal</o:Template>
  <o:LastAuthor>Dave</o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>192</o:TotalTime>
  <o:LastPrinted>2007-10-27T04:45:00Z</o:LastPrinted>
  <o:Created>2007-10-27T07:21:00Z</o:Created>
  <o:LastSaved>2007-10-27T07:21:00Z</o:LastSaved>
  <o:Pages>8</o:Pages>
  <o:Words>2016</o:Words>
  <o:Characters>11492</o:Characters>
  <o:Lines>95</o:Lines>
  <o:Paragraphs>26</o:Paragraphs>
  <o:CharactersWithSpaces>13482</o:CharactersWithSpaces>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>
 <o:OfficeDocumentSettings>
  <o:RelyOnVML/>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]-->
<link rel=dataStoreItem href="CLR_files/item0001.xml"
target="CLR_files/props0002.xml">
<link rel=themeData href="CLR_files/themedata.thmx">
<link rel=colorSchemeMapping href="CLR_files/colorschememapping.xml">
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:TrackMoves>false</w:TrackMoves>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:DontVertAlignCellWithSp/>
   <w:DontBreakConstrainedForcedTables/>
   <w:DontVertAlignInTxbx/>
   <w:Word11KerningPairs/>
   <w:CachedColBalance/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="--"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267">
  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
 </w:LatentStyles>
</xml><![endif]-->
<link rel=plchdr href="CLR_files/plchdr.htm">
<style>
<!--
 /* Font Definitions */
 @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:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073741899 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:3 0 0 0 1 0;}
@font-face
	{font-family:"Lucida Console";
	panose-1:2 11 6 9 4 5 4 2 2 4;
	mso-font-charset:0;
	mso-generic-font-family:modern;
	mso-font-pitch:fixed;
	mso-font-signature:-2147482993 6144 0 0 31 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
h1
	{mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Heading 1 Char";
	mso-style-next:Normal;
	margin-top:24.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:14.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	mso-font-kerning:0pt;}
h2
	{mso-style-priority:9;
	mso-style-qformat:yes;
	mso-style-link:"Heading 2 Char";
	mso-style-next:Normal;
	margin-top:10.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:13.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;}
p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
	{mso-style-priority:99;
	mso-style-link:"Footnote Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	mso-themecolor:hyperlink;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	mso-themecolor:followedhyperlink;
	text-decoration:underline;
	text-underline:single;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-bidi-font-family:Tahoma;}
span.MsoPlaceholderText
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	color:gray;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
span.MsoSubtleEmphasis
	{mso-style-priority:19;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-bidi-font-size:11.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	color:gray;
	mso-themecolor:text1;
	mso-themetint:127;
	mso-ansi-language:EN-US;
	mso-bidi-font-weight:normal;
	font-style:italic;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Balloon Text";
	mso-ansi-font-size:8.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-ascii-font-family:Tahoma;
	mso-hansi-font-family:Tahoma;
	mso-bidi-font-family:Tahoma;}
span.Heading1Char
	{mso-style-name:"Heading 1 Char";
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 1";
	mso-ansi-font-size:14.0pt;
	mso-bidi-font-size:14.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	font-weight:bold;}
span.Heading2Char
	{mso-style-name:"Heading 2 Char";
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 2";
	mso-ansi-font-size:13.0pt;
	mso-bidi-font-size:13.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;}
span.CodeChar
	{mso-style-name:"Code Char";
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:Code;
	font-family:"Lucida Console";
	mso-ascii-font-family:"Lucida Console";
	mso-hansi-font-family:"Lucida Console";
	color:blue;
	mso-no-proof:yes;}
p.Code, li.Code, div.Code
	{mso-style-name:Code;
	mso-style-unhide:no;
	mso-style-link:"Code Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;
	font-size:11.0pt;
	font-family:"Lucida Console";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	color:blue;
	mso-no-proof:yes;}
p.DecimalAligned, li.DecimalAligned, div.DecimalAligned
	{mso-style-name:"Decimal Aligned";
	mso-style-priority:40;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	tab-stops:decimal .25in;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
span.FootnoteTextChar
	{mso-style-name:"Footnote Text Char";
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Footnote Text";
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1603342243;
	mso-list-type:hybrid;
	mso-list-template-ids:983987768 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;}
@list l1
	{mso-list-id:1628390937;
	mso-list-type:hybrid;
	mso-list-template-ids:-225912800 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	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-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin-top:0in;
	mso-para-margin-right:0in;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;}
table.MsoTableLightList
	{mso-style-name:"Light List";
	mso-tstyle-rowband-size:1;
	mso-tstyle-colband-size:1;
	mso-style-priority:61;
	mso-style-unhide:no;
	border:solid black 1.0pt;
	mso-border-themecolor:text1;
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-language:EN-US;}
table.MsoTableLightListFirstRow
	{mso-style-name:"Light List";
	mso-table-condition:first-row;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-shading:black;
	mso-tstyle-shading-themecolor:text1;
	mso-para-margin-top:0in;
	mso-para-margin-bottom:0in;
	mso-para-margin-bottom:.0001pt;
	line-height:normal;
	color:white;
	mso-themecolor:background1;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListLastRow
	{mso-style-name:"Light List";
	mso-table-condition:last-row;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-border-top:2.25pt double black;
	mso-tstyle-border-top-themecolor:text1;
	mso-tstyle-border-left:1.0pt solid black;
	mso-tstyle-border-left-themecolor:text1;
	mso-tstyle-border-bottom:1.0pt solid black;
	mso-tstyle-border-bottom-themecolor:text1;
	mso-tstyle-border-right:1.0pt solid black;
	mso-tstyle-border-right-themecolor:text1;
	mso-para-margin-top:0in;
	mso-para-margin-bottom:0in;
	mso-para-margin-bottom:.0001pt;
	line-height:normal;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListFirstCol
	{mso-style-name:"Light List";
	mso-table-condition:first-column;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListLastCol
	{mso-style-name:"Light List";
	mso-table-condition:last-column;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListOddColumn
	{mso-style-name:"Light List";
	mso-table-condition:odd-column;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-border-top:1.0pt solid black;
	mso-tstyle-border-top-themecolor:text1;
	mso-tstyle-border-left:1.0pt solid black;
	mso-tstyle-border-left-themecolor:text1;
	mso-tstyle-border-bottom:1.0pt solid black;
	mso-tstyle-border-bottom-themecolor:text1;
	mso-tstyle-border-right:1.0pt solid black;
	mso-tstyle-border-right-themecolor:text1;}
table.MsoTableLightListOddRow
	{mso-style-name:"Light List";
	mso-table-condition:odd-row;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-border-top:1.0pt solid black;
	mso-tstyle-border-top-themecolor:text1;
	mso-tstyle-border-left:1.0pt solid black;
	mso-tstyle-border-left-themecolor:text1;
	mso-tstyle-border-bottom:1.0pt solid black;
	mso-tstyle-border-bottom-themecolor:text1;
	mso-tstyle-border-right:1.0pt solid black;
	mso-tstyle-border-right-themecolor:text1;}
table.MsoTableLightListAccent3
	{mso-style-name:"Light List - Accent 3";
	mso-tstyle-rowband-size:1;
	mso-tstyle-colband-size:1;
	mso-style-priority:61;
	mso-style-unhide:no;
	border:solid #9BBB59 1.0pt;
	mso-border-themecolor:accent3;
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-language:EN-US;}
table.MsoTableLightListAccent3FirstRow
	{mso-style-name:"Light List - Accent 3";
	mso-table-condition:first-row;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-shading:#9BBB59;
	mso-tstyle-shading-themecolor:accent3;
	mso-para-margin-top:0in;
	mso-para-margin-bottom:0in;
	mso-para-margin-bottom:.0001pt;
	line-height:normal;
	color:white;
	mso-themecolor:background1;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListAccent3LastRow
	{mso-style-name:"Light List - Accent 3";
	mso-table-condition:last-row;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-border-top:2.25pt double #9BBB59;
	mso-tstyle-border-top-themecolor:accent3;
	mso-tstyle-border-left:1.0pt solid #9BBB59;
	mso-tstyle-border-left-themecolor:accent3;
	mso-tstyle-border-bottom:1.0pt solid #9BBB59;
	mso-tstyle-border-bottom-themecolor:accent3;
	mso-tstyle-border-right:1.0pt solid #9BBB59;
	mso-tstyle-border-right-themecolor:accent3;
	mso-para-margin-top:0in;
	mso-para-margin-bottom:0in;
	mso-para-margin-bottom:.0001pt;
	line-height:normal;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListAccent3FirstCol
	{mso-style-name:"Light List - Accent 3";
	mso-table-condition:first-column;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListAccent3LastCol
	{mso-style-name:"Light List - Accent 3";
	mso-table-condition:last-column;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableLightListAccent3OddColumn
	{mso-style-name:"Light List - Accent 3";
	mso-table-condition:odd-column;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-border-top:1.0pt solid #9BBB59;
	mso-tstyle-border-top-themecolor:accent3;
	mso-tstyle-border-left:1.0pt solid #9BBB59;
	mso-tstyle-border-left-themecolor:accent3;
	mso-tstyle-border-bottom:1.0pt solid #9BBB59;
	mso-tstyle-border-bottom-themecolor:accent3;
	mso-tstyle-border-right:1.0pt solid #9BBB59;
	mso-tstyle-border-right-themecolor:accent3;}
table.MsoTableLightListAccent3OddRow
	{mso-style-name:"Light List - Accent 3";
	mso-table-condition:odd-row;
	mso-style-priority:61;
	mso-style-unhide:no;
	mso-tstyle-border-top:1.0pt solid #9BBB59;
	mso-tstyle-border-top-themecolor:accent3;
	mso-tstyle-border-left:1.0pt solid #9BBB59;
	mso-tstyle-border-left-themecolor:accent3;
	mso-tstyle-border-bottom:1.0pt solid #9BBB59;
	mso-tstyle-border-bottom-themecolor:accent3;
	mso-tstyle-border-right:1.0pt solid #9BBB59;
	mso-tstyle-border-right-themecolor:accent3;}
table.MsoTableMediumShading2Accent5
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-tstyle-rowband-size:1;
	mso-tstyle-colband-size:1;
	mso-style-priority:64;
	mso-style-unhide:no;
	border-top:solid windowtext 2.25pt;
	border-left:none;
	border-bottom:solid windowtext 2.25pt;
	border-right:none;
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-language:EN-US;}
table.MsoTableMediumShading2Accent5FirstRow
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:first-row;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-shading:#4BACC6;
	mso-tstyle-shading-themecolor:accent5;
	mso-tstyle-border-top:2.25pt solid windowtext;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-bottom:2.25pt solid windowtext;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;
	mso-para-margin-top:0in;
	mso-para-margin-bottom:0in;
	mso-para-margin-bottom:.0001pt;
	line-height:normal;
	color:white;
	mso-themecolor:background1;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableMediumShading2Accent5LastRow
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:last-row;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-shading:white;
	mso-tstyle-shading-themecolor:background1;
	mso-tstyle-border-top:2.25pt double windowtext;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-bottom:2.25pt solid windowtext;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;
	mso-para-margin-top:0in;
	mso-para-margin-bottom:0in;
	mso-para-margin-bottom:.0001pt;
	line-height:normal;}
table.MsoTableMediumShading2Accent5FirstCol
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:first-column;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-shading:#4BACC6;
	mso-tstyle-shading-themecolor:accent5;
	mso-tstyle-border-top:cell-none;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-bottom:2.25pt solid windowtext;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;
	color:white;
	mso-themecolor:background1;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableMediumShading2Accent5LastCol
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:last-column;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-shading:#4BACC6;
	mso-tstyle-shading-themecolor:accent5;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;
	color:white;
	mso-themecolor:background1;
	mso-ansi-font-weight:bold;
	mso-bidi-font-weight:bold;}
table.MsoTableMediumShading2Accent5OddColumn
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:odd-column;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-shading:#D8D8D8;
	mso-tstyle-shading-themecolor:background1;
	mso-tstyle-shading-themeshade:216;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;}
table.MsoTableMediumShading2Accent5OddRow
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:odd-row;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-shading:#D8D8D8;
	mso-tstyle-shading-themecolor:background1;
	mso-tstyle-shading-themeshade:216;}
table.MsoTableMediumShading2Accent5NECell
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:ne-cell;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-border-top:2.25pt solid windowtext;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-bottom:2.25pt solid windowtext;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;}
table.MsoTableMediumShading2Accent5NWCell
	{mso-style-name:"Medium Shading 2 - Accent 5";
	mso-table-condition:nw-cell;
	mso-style-priority:64;
	mso-style-unhide:no;
	mso-tstyle-border-top:2.25pt solid windowtext;
	mso-tstyle-border-left:cell-none;
	mso-tstyle-border-bottom:2.25pt solid windowtext;
	mso-tstyle-border-right:cell-none;
	mso-tstyle-border-insideh:cell-none;
	mso-tstyle-border-insidev:cell-none;
	color:white;
	mso-themecolor:background1;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="4098"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
  <o:rules v:ext="edit">
   <o:r id="V:Rule2" type="connector" idref="#_x0000_s1026"/>
  </o:rules>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>

<div class=Section1>

<p class=MsoNormal style='text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<w:Sdt
 PrefixMappings="xmlns:ns0='http://purl.org/dc/elements/1.1/' xmlns:ns1='http://schemas.openxmlformats.org/package/2006/metadata/core-properties' "
 Xpath="/ns1:coreProperties[1]/ns0:title[1]"
 DocPart="412E5364205542E4A7D75FB34C99AA35" Text="t"
 StoreItemID="X_6C3C8BC8-F283-45AE-878A-BAB7291924A1" Title="Title" ID="6577768">
 <h1>The CLR, and how It Works for Interoperation<w:sdtPr></w:sdtPr></h1>
</w:Sdt>

<h2><span style='mso-spacerun:yes'>�</span>by logisimo</h2>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><span
style='mso-tab-count:1'>��������������� </span>The intention of this paper is
to explain some features of the CLR as a basis to understand the basics of
interoperation. This paper will reference some key system symbol components in
order to explain how the System.Runtime.InteropServices namespace contains
methods that use to enable a C# program to call a native system function
contained a raw C DLL. This feature is called P/Invoke, for platform invoke.</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>The Common Language
Runtime (CLR) is actually a classic COM server contained within a DLL. It
functions as the core component of the .NET Framework. An instance of the CLR
is an implementation of the Common Language Infrastructure (CLI) specification
that executes code insides the bounds of a well-bounded Common Type System. A .NET
language like C# or VB.NET is a language whose compiler targets the CLR and
whose code emits metadata and IL code. The compiling of several source code
files results in a managed module called a Portable Executable. An assembly is
unit of deployment and derives from combined managed modules. this module
system reflects the strengths of the .NET Framework, as the Portable Executable
is based on the UNIX-founded Common Object File Format (COFF). It is
operational to integrate with other languages on multiple platforms. Similar to
the Java Virtual Machine, the CLR is a virtual execution environment.<span
style='mso-spacerun:yes'>� </span>That is, the CLR is actually a system program
and the architecture of the .NET Framework is an underlying infrastructure that
provides an environment for a strictly-managed programming platform that uses
some core services of the CLR. The CLR, then, performs services of which are
(but limited to)) automatic memory management using a Garbage Collection (GC)
memory heap, built on top of standard Windows memory mechanisms; metadata and
module conventions to control the discovery, loading, layout, and analysis of
managed libraries and programs; a rich exceptions subsystem to enable programs
to communicate and respond to failures in a structure manner; type verification
with security checks and code access security. </p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>Having said
that, the CLR can be used together with certain base classes of the .NET
Framework will allows managed code to call unmanaged functions defined in
native code. Further, the CLR allows interoperability with both native and
legacy code. This feature is called platform invoke, or P/Invoke. An
understanding of this service can lead the developer to a sharper understanding
of .NET and COM Interop.<span style='mso-spacerun:yes'>� </span>Just-In-Time
compiling involves compiling managed code to native code, which, in a sense,
defines the physical nature of the CLR:<span style='mso-spacerun:yes'>�
</span>physically the CLR is a collection DLLs containing sophisticated
algorithms that interact with Windows via calls to various Win32 and COM APIs.
Managed programs are then essentially Windows DLLs whose code bootstraps whose
bootstraps to the CLR as part of the Windows load executable sequence.<span
style='mso-spacerun:yes'>� </span>Loading the CLR into a Windows process will
illustrate several Windows DLLs in which each version of the CLR is published
with two DLLs, mscorsvr.dll and mscorwks.dll. Neither of these DLLs are a .NET
assembly and consequently do not contain metadata and IL code. Each process
that executes one or many .NET executables will contain one of the two.
Mscorsvr.dll contains the version of the CLR specifically optimized for
multi-processing machines (svr means server). Mscorwks.dll contains the version
of the CLR specifically optimized for a single processing machine (wks stands
for work station). Mscorlib.dll is an assembly and is the other main component
of the .NET Framework. As an assembly it contains implementations of every base
type (class) in the .NET Framework to thus be called a class library. The
loading of the CLR is a process that must handled by the process itself and
involves an entity called the runtime host. Therefore, there must be some
unmanaged code within the runtime host (unmanaged application) since the CLR
will be handling the managed code. These pieces of unmanaged code take care of
loading the CLR, configuring it, and then transferring the current thread
within the process into managed code. Once the CLR is loaded, the unmanaged
application that is hosting the runtime must take care of other tasks such as
sealing with un-trapped exceptions.<span style='mso-spacerun:yes'>� </span>This
is an important feature because an exception can be caught be a runtime host
but there must some method to handle that exception. There are several commonly
used runtime hosts (referred to in .NET Framework documentation as unmanaged
applications): Internet Explorer, the Console and WinForms hosts. The point
made here to illustrate that interoperability is required from the start in
order to load the CLR.</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>Once the CLR has
been loaded and configured for runtime execution, the runtime host is where the
executed assembly is launched and loaded into the default application domain
(Appdomain). Similar to a light-weight process, an application domain functions
as unit of isolation to prevent collision with other executables within the
process. A Windows process context switch will involve prefetching and image
loading, where the shared DLLs load into to the process�s address space. Each
process has at least one thread of execution and the code and data of the
application is loaded into the memory-mapped file in order for the application
to execute. The process then is a unit of abstraction that functions as
container for resources in order to run the application. The thread of
execution within the process is the concretely defined code instruction. </p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>Earlier, I wrote
that the CLR is a classic COM server. Microsoft designed this component as a
COM server contained in a DLL and therefore was written using extraneous
plumbing code to adhere to the strict identity rules and thus register itself
in the system registry. The same is loaded into a Windows process that must
have unmanaged code in order t load and configure it to transfer to the current
thread to managed code.<span style='mso-spacerun:yes'>� </span>Platform Invoke
is a service that enables managed doe to call unmanaged functions implemented
in DLLs. Remember there are system DLLs and application DLLs.<span
style='mso-spacerun:yes'>� </span>P/Invoke locates an exported function and
marshals its arguments (integers, strings, structures, arrays, and so on)
across the interoperation boundary as needed. </p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>An Overview of
Platform Invoke</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><span
style='mso-no-proof:yes'><v:shapetype id="_x0000_t75" coordsize="21600,21600"
 o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
 stroked="f">
 <v:stroke joinstyle="miter"/>
 <v:formulas>
  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
  <v:f eqn="sum @0 1 0"/>
  <v:f eqn="sum 0 0 @1"/>
  <v:f eqn="prod @2 1 2"/>
  <v:f eqn="prod @3 21600 pixelWidth"/>
  <v:f eqn="prod @3 21600 pixelHeight"/>
  <v:f eqn="sum @0 0 1"/>
  <v:f eqn="prod @6 1 2"/>
  <v:f eqn="prod @7 21600 pixelWidth"/>
  <v:f eqn="sum @8 21600 0"/>
  <v:f eqn="prod @7 21600 pixelHeight"/>
  <v:f eqn="sum @10 21600 0"/>
 </v:formulas>
 <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
 <o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Picture_x0020_0" o:spid="_x0000_i1025" type="#_x0000_t75"
 alt="pinvoke.bmp" style='width:400.5pt;height:2in;visibility:visible;
 mso-wrap-style:square'>
 <v:imagedata src="CLR_files/image001.png" o:title="pinvoke"/>
</v:shape></span></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>Platform invoke
is a service that enables managed code to call unmanaged functions implemented
in DLLs, such as those in the Win32 API (note windows internals). It locates an
exported function and marshals its arguments (integers, strings, arrays,
structures, as so on) across the interoperation boundary as needed. The classes
allowing you to use the P/Invoke mechanism are located in the
System.Runtime.InteropServices namespace.<span style='mso-spacerun:yes'>�
</span>To call a function in a native DLL from a C# program we must first
declare this function within a C# class:</p>

<p class=MsoListParagraphCxSpFirst style='margin-left:1.0in;mso-add-space:auto;
text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol'><span style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The declaration of this function must be marked
with the System.Runtime.InteropServices namespace DllImport attribute, which
indicates the name of the DLL.</p>

<p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;mso-add-space:
auto;text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol'><span style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Use the static and extern keywords in from of
the method declaration.</p>

<p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;mso-add-space:
auto;text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol'><span style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Use the same name for the method used in the DLL.</p>

<p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;mso-add-space:
auto;text-align:justify;text-indent:-.25in;mso-list:l1 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol'><span style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Give a name to each argument. </p>

<p class=MsoListParagraphCxSpLast style='margin-left:1.0in;mso-add-space:auto;
text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>A basic use of
P/Invoke is to allow .NET components to interact with the Win32 API. Several
commonly used DLLs in the Win32 API are:</p>

<table class=MsoTableLightListAccent3 border=1 cellspacing=0 cellpadding=0
 style='border-collapse:collapse;border:none;mso-border-alt:solid #9BBB59 1.0pt;
 mso-border-themecolor:accent3;mso-yfti-tbllook:1568;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
 <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
  <td valign=top style='border-top:solid #9BBB59 1.0pt;mso-border-top-themecolor:
  accent3;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:accent3;
  border-bottom:none;border-right:none;background:#9BBB59;mso-background-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal;mso-yfti-cnfc:1'><b><span style='mso-fareast-font-family:"Times New Roman";
  mso-fareast-theme-font:minor-fareast;color:white;mso-themecolor:background1;
  mso-bidi-language:EN-US'>DLL<span
  style='mso-spacerun:yes'>������������������������������������������ </span><o:p></o:p></span></b></p>
  </td>
  <td valign=top style='border-top:solid #9BBB59 1.0pt;mso-border-top-themecolor:
  accent3;border-left:none;border-bottom:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;background:#9BBB59;mso-background-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal;mso-yfti-cnfc:1'><b><span style='mso-fareast-font-family:"Times New Roman";
  mso-fareast-theme-font:minor-fareast;color:white;mso-themecolor:background1;
  mso-bidi-language:EN-US'>Description of Contents<o:p></o:p></span></b></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:0'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:1'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>GDI32.dll<span
  style='mso-spacerun:yes'>����� </span><o:p></o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>Graphics Device Interface functions
  for device output, such as those used for drawing and font management.<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:2'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>Kernel32.dll<span
  style='mso-spacerun:yes'>������ </span><o:p></o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><span style='mso-spacerun:yes'>�
  </span>Low-level<span style='mso-spacerun:yes'>� </span>operating system
  functions for memory management and resource handling<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><span
  style='mso-spacerun:yes'>�</span><span style='mso-spacerun:yes'>�</span><span
  style='mso-spacerun:yes'>���� </span><o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:3'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:4'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>User32.dll<span
  style='mso-spacerun:yes'>������� </span><o:p></o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>Windows Mgt. functions for message
  handling, timers, menus, and communications.<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:5'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:6'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:7'>
  <td valign=top style='border:none;border-left:solid #9BBB59 1.0pt;mso-border-left-themecolor:
  accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td valign=top style='border:none;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:8;mso-yfti-lastrow:yes'>
  <td valign=top style='border-top:none;border-left:solid #9BBB59 1.0pt;
  mso-border-left-themecolor:accent3;border-bottom:solid #9BBB59 1.0pt;
  mso-border-bottom-themecolor:accent3;border-right:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td valign=top style='border-top:none;border-left:none;border-bottom:solid #9BBB59 1.0pt;
  mso-border-bottom-themecolor:accent3;border-right:solid #9BBB59 1.0pt;
  mso-border-right-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>If you use the
dumpbin.exe tool contained in the Visual Studio tools, you can identify and
locate the functions contained in the DLL:</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>C:\Program
Files\Visual Studio 8\bin&gt; dumbin.exe �exports C:\Windows\System32\kernel32.dll
and then redirect this command to a text file using the �&gt;� operator: &gt;
kernel.txt. You will most likely find that there are 1027 functions. One of
them is the Beep() function. Here is code that should be executed on the .NET
Framework console:</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
 style='margin-left:3.15pt;background:yellow;border-collapse:collapse;
 border:none;mso-border-alt:solid black 3.0pt;mso-border-themecolor:text1;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:3.0pt solid black;
 mso-border-insideh-themecolor:text1;mso-border-insidev:3.0pt solid black;
 mso-border-insidev-themecolor:text1'>
 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
  height:223.5pt'>
  <td width=560 valign=top style='width:420.0pt;border:solid black 3.0pt;
  mso-border-themecolor:text1;padding:0in 5.4pt 0in 5.4pt;height:223.5pt'>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'>using System;</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'>using System.Runtime.InteropServices;</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>������ </span>class Program {</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>�</span><span
  style='mso-spacerun:yes'>����� </span><span
  style='mso-spacerun:yes'>��</span>[DllImport(&quot;Kernel32.dll&quot;)]</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>�</span><span
  style='mso-spacerun:yes'>����� </span><span
  style='mso-spacerun:yes'>��</span>public static extern bool Beep( uint iFreq,
  uint iDuration );</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>���� </span><span
  style='mso-spacerun:yes'>���</span>static void Main() {</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>��� </span><span
  style='mso-spacerun:yes'>����</span><span
  style='mso-spacerun:yes'>��</span>bool b = Beep(100, 100);</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>� </span><span
  style='mso-spacerun:yes'>�����</span><span style='mso-spacerun:yes'>�</span>}</p>
  <p class=MsoNormal style='margin-left:2.25pt;text-align:justify;text-indent:
  .5in'><span style='mso-spacerun:yes'>���� </span>}<span style='mso-tab-count:
  1'>������� </span></p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>At the prompt, type
�type con &gt; Beep.cs</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>You will have
space without a prompt.</p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727&gt;
type con &gt; Beep.cs</p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'>Copy and
paste the above code into the console space, and hit Control-Z, and then the
enter key.</p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'>Now compile:</p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727&gt;
csc.exe /r:System.dll Beep.cs</p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727&gt;
Beep.exe</p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'><o:p>&nbsp;</o:p></p>

<p class=Code style='border:none;mso-padding-alt:0in 0in 0in 0in'>And then
listen to the system beep.</p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-align:justify;text-indent:.5in'>When the
platform invoke calls an unmanaged function, it performs the following sequence
of actions:</p>

<p class=MsoListParagraphCxSpFirst style='margin-left:1.0in;mso-add-space:auto;
text-align:justify;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'><span
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It locates the DLL contained in the function</p>

<p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;mso-add-space:
auto;text-align:justify;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'><span
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It loads the DLL into memory</p>

<p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;mso-add-space:
auto;text-align:justify;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'><span
style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It located the address of the function
(contained in the DLL) in memory</p>

<p class=MsoListParagraphCxSpMiddle style='margin-left:1.0in;mso-add-space:
auto;text-align:justify;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'><span
style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It pushes the arguments onto stack, marshaling
the data as needed</p>

<p class=MsoListParagraphCxSpLast style='margin-left:1.0in;mso-add-space:auto;
text-align:justify;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><span
style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'><span
style='mso-list:Ignore'>5.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It transfers control to the unmanaged function</p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'>If you prefer to
use avoid using the dumpbin.exe tool, then to obtain managed definition of its
native functions, go to <a href="http://www.pinvoke.net">www.pinvoke.net</a>. </p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'>Consider the
standard �Hello, World!� in C#:</p>

<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
 style='margin-left:21.15pt;background:yellow;border-collapse:collapse;
 border:none;mso-border-alt:solid black 3.0pt;mso-border-themecolor:text1;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:3.0pt solid black;
 mso-border-insideh-themecolor:text1;mso-border-insidev:3.0pt solid black;
 mso-border-insidev-themecolor:text1'>
 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
  height:118.5pt'>
  <td width=286 valign=top style='width:214.5pt;border:solid black 3.0pt;
  mso-border-themecolor:text1;padding:0in 5.4pt 0in 5.4pt;height:118.5pt'>
  <p class=MsoNormal style='margin-left:20.25pt;text-align:justify'>using
  System;</p>
  <p class=MsoNormal style='margin-left:20.25pt;text-align:justify'>public
  class MainApp {</p>
  <p class=MsoNormal style='margin-left:20.25pt;text-align:justify'><span
  style='mso-spacerun:yes'>�� </span>public static void Main() {</p>
  <p class=MsoNormal style='margin-left:20.25pt;text-align:justify'><span
  style='mso-spacerun:yes'>� </span><span style='mso-spacerun:yes'>�</span>Console.WriteLine(�Hello,World!�);</p>
  <p class=MsoNormal style='margin-left:20.25pt;text-align:justify'><span
  style='mso-spacerun:yes'>���� </span>}</p>
  <p class=MsoNormal style='margin-left:20.25pt;text-align:justify'>}</p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'>If you following
the hierarchal structure of the System class, then the code is more accurately
written:</p>

<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
 style='margin-left:4.65pt;background:yellow;border-collapse:collapse;
 border:none;mso-border-alt:solid black 3.0pt;mso-border-themecolor:text1;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:3.0pt solid black;
 mso-border-insideh-themecolor:text1;mso-border-insidev:3.0pt solid black;
 mso-border-insidev-themecolor:text1'>
 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
  height:146.25pt'>
  <td width=396 valign=top style='width:297.0pt;border:solid black 3.0pt;
  mso-border-themecolor:text1;padding:0in 5.4pt 0in 5.4pt;height:146.25pt'>
  <p class=MsoNormal style='margin-left:36.75pt;text-align:justify'>using System;</p>
  <p class=MsoNormal style='margin-left:36.75pt;text-align:justify'>public
  class MainApp {</p>
  <p class=MsoNormal style='margin-left:36.75pt;text-align:justify'><span
  style='mso-spacerun:yes'>� </span>static public void
  Main(System.String[]<span style='mso-spacerun:yes'>� </span>args ) {</p>
  <p class=MsoNormal style='margin-left:36.75pt;text-align:justify'><span
  style='mso-spacerun:yes'>���� </span>System.Console.WriteLine(�Hello, World!�);</p>
  <p class=MsoNormal style='margin-left:36.75pt;text-align:justify'><span
  style='mso-spacerun:yes'>��� </span>}</p>
  <p class=MsoNormal style='margin-left:36.75pt;text-align:justify'>}</p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'>To pass a string
to a native method using P/Invoke , you must use the System.String type. Native
functions who take strings each exist in two encoding versions: an ANSI suffixed
with an A and a UNICODE ( or a variation of the 2 byte UNICODE, like UTF-8)
suffixed with a W. So identifying functions consists of both the function name
and the name of the DLL. For example, <span
style='mso-spacerun:yes'>�</span>specifying the MessageBox function contained
in User32.dll identifies the function (MessageBox) and its container location
(User32.dll).The typical use of P/Invoke, however, is to allow .NET components
to interact with the Win32 API. <span style='mso-spacerun:yes'>�</span>MessageBoxA
is the ANSI <span style='mso-spacerun:yes'>�</span>entry point for the
MessageBox function; MessageBoxW is the entry point for the Unicode version. <span
style='mso-spacerun:yes'>�</span>Note all COM components are required to be in
Unicode and sometimes a translation of the encoding in required. <span
style='mso-spacerun:yes'>�</span>To choose between one byte and two byte
encoding, the DllImport attribute offers a parameter named CharSet which can
take the values of Auto, Unicode, and ANSI. The example below shows to pass to
strings during a call to the MessageBox() function:</p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
 style='margin-left:-9.6pt;background:yellow;border-collapse:collapse;
 border:none;mso-border-alt:solid black 3.0pt;mso-border-themecolor:text1;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:3.0pt solid black;
 mso-border-insideh-themecolor:text1;mso-border-insidev:3.0pt solid black;
 mso-border-insidev-themecolor:text1'>
 <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;
  height:333.0pt'>
  <td width=553 valign=top style='width:414.75pt;border:solid black 3.0pt;
  mso-border-themecolor:text1;padding:0in 5.4pt 0in 5.4pt;height:333.0pt'>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>using
  System;</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>// must
  reference to gain access to the P/Invoke types</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>using
  System.Runtime.InteropServices;</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>class Program
  {</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>// the Win32
  MessageBox() function resides in user32.dll</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'><span
  style='mso-spacerun:yes'>���������������������� </span><span
  style='mso-spacerun:yes'>���</span>[DllImport(&quot;user32.dll&quot;, CharSet
  = CharSet.Auto)]</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'><span
  style='mso-spacerun:yes'>� </span><span
  style='mso-spacerun:yes'>������������������������</span><span
  style='mso-spacerun:yes'>�</span>public static extern int MessageBox(
  System.IntPtr hWnd,</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'><span
  style='mso-spacerun:yes'>�������������������������� </span>string text,
  string caption, uint type );</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'><span
  style='mso-spacerun:yes'>� </span><span
  style='mso-spacerun:yes'>�������</span><span
  style='mso-spacerun:yes'>�</span>static void Main() {</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>// insert
  some managed data</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'><span
  style='mso-spacerun:yes'>��� </span><span style='mso-spacerun:yes'>���</span><span
  style='mso-spacerun:yes'>��</span>MessageBox( System.IntPtr.Zero, &quot;hello&quot;,
  &quot;caption text&quot;, 0 );</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'><span
  style='mso-spacerun:yes'>��� </span><span
  style='mso-spacerun:yes'>���</span>}</p>
  <p class=MsoNormal style='margin-left:51.0pt;text-align:justify'>}<span
  style='mso-tab-count:1'>������� </span></p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'>To reiterate,
the process of calling a C-style DLL begins by declaring the function to call
using the static and extern C# keywords. And notice that when you declare a C
function prototype, you must list the return type functions name and arguments
in terms of managed data types.<span style='mso-spacerun:yes'>� </span>This is
called type conversion and is a premise if interoperability. The prototype for
Beep() in the kernel32.dll is:</p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'>BOOL
Beep(DWORD<span style='mso-spacerun:yes'>� </span>dwFreq, DWORD dwDuration); </p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><span
style='mso-tab-count:1'>��������������� </span>To call Beep() you must convert
the Win32 BOOL type into a .NET bool and the Win32 DWORD into a .NET unit: The
32-bit double word, the unsigned integer, the unsigned long integer are all
data types that convert to the System32.Int32 .NET type. The C# equivalent is
uint. <span style='mso-spacerun:yes'>�</span>The following table is meant for
type conversion when using C#:</p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<table class=MsoTableLightListAccent3 border=1 cellspacing=0 cellpadding=0
 style='border-collapse:collapse;border:none;mso-border-alt:solid #9BBB59 2.25pt;
 mso-border-themecolor:accent3;mso-yfti-tbllook:1568;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
 <tr style='mso-yfti-irow:-1;mso-yfti-firstrow:yes'>
  <td width=151 valign=top style='width:113.4pt;border-top:solid #9BBB59 2.25pt;
  mso-border-top-themecolor:accent3;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;border-bottom:none;border-right:none;
  background:#9BBB59;mso-background-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal;mso-yfti-cnfc:1'><b><span style='mso-fareast-font-family:"Times New Roman";
  mso-fareast-theme-font:minor-fareast;color:white;mso-themecolor:background1;
  mso-bidi-language:EN-US'>Win32 type<span
  style='mso-spacerun:yes'>������������������������������������������������������������������������������������������������������������������������������
  </span><o:p></o:p></span></b></p>
  </td>
  <td width=429 colspan=2 valign=top style='width:322.0pt;border-top:solid #9BBB59 2.25pt;
  mso-border-top-themecolor:accent3;border-left:none;border-bottom:none;
  border-right:solid #9BBB59 2.25pt;mso-border-right-themecolor:accent3;
  background:#9BBB59;mso-background-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal;mso-yfti-cnfc:1'><b><span style='mso-fareast-font-family:"Times New Roman";
  mso-fareast-theme-font:minor-fareast;color:white;mso-themecolor:background1;
  mso-bidi-language:EN-US'><span style='mso-spacerun:yes'>���� </span><span
  style='mso-spacerun:yes'>���������������</span><span
  style='mso-spacerun:yes'>���</span>.NET type<span
  style='mso-spacerun:yes'>��������������������� </span>C#<span
  style='mso-spacerun:yes'>� </span>Equivalent<o:p></o:p></span></b></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:0;height:178.65pt'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt;height:178.65pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>LPSTR,LPCSTR,LPWSTR<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>BYTE<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>SHORT<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>WORD<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>DWORD, UINT, ULONG<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>INT, LONG<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>BOOL<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>CHAR<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>FLOAT<span
  style='mso-spacerun:yes'>���������������������������� </span><span
  style='mso-spacerun:yes'>��������</span><span
  style='mso-spacerun:yes'>������������</span><o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>DOUBLE<span style='mso-spacerun:yes'>�
  </span><span style='mso-spacerun:yes'>�����������������������������</span><span
  style='mso-spacerun:yes'>��</span><span
  style='mso-spacerun:yes'>�����������������������������������������������</span><span
  style='mso-spacerun:yes'>������������������������������������������������������</span><o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt;
  height:178.65pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=410 rowspan=8 valign=top style='width:307.25pt;border-top:none;
  border-left:none;border-bottom:solid #9BBB59 2.25pt;mso-border-bottom-themecolor:
  accent3;border-right:solid #9BBB59 2.25pt;mso-border-right-themecolor:accent3;
  padding:0in 5.4pt 0in 5.4pt;height:178.65pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.String<span
  style='mso-spacerun:yes'>��������������������������������� </span>string<span
  style='mso-spacerun:yes'>���������������������� </span><o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.StringBuilder<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Byte<span
  style='mso-spacerun:yes'>������������������������������������ </span>byte<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Int16<span
  style='mso-spacerun:yes'>���������������������������������� </span>short<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>SystemUInt16<span
  style='mso-spacerun:yes'>�������������������������������� </span>ushort<span
  style='mso-spacerun:yes'>��������� </span><o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Int32<span
  style='mso-spacerun:yes'>��������������� </span><span
  style='mso-spacerun:yes'>������������������</span><span
  style='mso-spacerun:yes'>���</span>uint<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>SystemUInt32<span
  style='mso-spacerun:yes'>����������������������������������� </span>uint<span
  style='mso-spacerun:yes'>���� </span><o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Bool<span
  style='mso-spacerun:yes'>������������������������������������� </span>bool<span
  style='mso-spacerun:yes'>��� </span><o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Char<span
  style='mso-spacerun:yes'>������������������������������������ </span><span
  style='mso-spacerun:yes'>��</span>char<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Single<span
  style='mso-spacerun:yes'>�� </span><span
  style='mso-spacerun:yes'>���������������</span><span
  style='mso-spacerun:yes'>������������������</span>float<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'>System.Double<span
  style='mso-spacerun:yes'>�������������������������������� </span>double<o:p></o:p></span></p>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:1'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:2'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:3'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:4'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:5'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:6'>
  <td width=151 valign=top style='width:113.4pt;border:none;border-left:solid #9BBB59 2.25pt;
  mso-border-left-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:7;mso-yfti-lastrow:yes'>
  <td width=151 valign=top style='width:113.4pt;border-top:none;border-left:
  solid #9BBB59 2.25pt;mso-border-left-themecolor:accent3;border-bottom:solid #9BBB59 2.25pt;
  mso-border-bottom-themecolor:accent3;border-right:none;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><span style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:
  minor-fareast;mso-bidi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
  </td>
  <td width=20 valign=top style='width:14.75pt;border:none;border-bottom:solid #9BBB59 2.25pt;
  mso-border-bottom-themecolor:accent3;padding:0in 5.4pt 0in 5.4pt'>
  <p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
  normal'><v:shapetype id="_x0000_t32" coordsize="21600,21600" o:spt="32"
   o:oned="t" path="m,l21600,21600e" filled="f">
   <v:path arrowok="t" fillok="f" o:connecttype="none"/>
   <o:lock v:ext="edit" shapetype="t"/>
  </v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t32" style='position:absolute;
   margin-left:5.25pt;margin-top:12.6pt;width:308.25pt;height:.75pt;flip:y;
   z-index:1;mso-position-horizontal-relative:text;
   mso-position-vertical-relative:text' o:connectortype="straight"/><span
  style='mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font:minor-fareast;
  mso-bidi-language:EN-US'><o:p></o:p></span></p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-left:.5in;text-align:justify'><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

logicchild
Pref. Trust
United States United States
I started electronics training at age 33. I began studying microprocessor technology in an RF communications oriented program. I am 43 years old now. I have studied C code, opcode (mainly x86 and AT+T) for around 3 years in order to learn how to recognize viral code and the use of procedural languages. I am currently learning C# and the other virtual runtime system languages. I guess I started with the egg rather than the chicken. My past work would indicate that my primary strength is in applied mathematics.

You may also be interested in...

Pro
Pro
| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.161205.3 | Last Updated 27 Oct 2007
Article Copyright 2007 by logicchild
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid