diff options
| author | Barry Golden <[email protected]> | 2015-08-06 20:06:07 -0700 |
|---|---|---|
| committer | Barry Golden <[email protected]> | 2015-08-06 20:06:07 -0700 |
| commit | 9026073a419b5ef68fb46d4f7fae52dbef09dbe1 (patch) | |
| tree | b81f73f650af9ac82a7e8739e989456f6e192b37 /bluetooth | |
| parent | bd17fd844b4f074821b9d4c7bc86b9dc7f0e4a59 (diff) | |
Remove obsolete readme.htm files
Diffstat (limited to 'bluetooth')
| -rw-r--r-- | bluetooth/bthecho/bthecho.htm | 2222 | ||||
| -rw-r--r-- | bluetooth/serialhcibus/BluetoothHCISampleBusDriver.htm | 2333 |
2 files changed, 0 insertions, 4555 deletions
diff --git a/bluetooth/bthecho/bthecho.htm b/bluetooth/bthecho/bthecho.htm deleted file mode 100644 index 9ea0ff09..00000000 --- a/bluetooth/bthecho/bthecho.htm +++ /dev/null @@ -1,2222 +0,0 @@ -<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 14"> -<meta name=Originator content="Microsoft Word 14"> -<link rel=File-List href="bthecho_files/filelist.xml"> -<title>BTHECHO</title> -<link rel=themeData href="bthecho_files/themedata.thmx"> -<link rel=colorSchemeMapping href="bthecho_files/colorschememapping.xml"> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:TrackMoves>false</w:TrackMoves> - <w:TrackFormatting/> - <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:SplitPgBreakAndParaMark/> - </w:Compatibility> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - <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" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 2"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" 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]--> -<style> -<!-- - /* Font Definitions */ - @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:-536870145 1073743103 0 0 415 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:-520092929 1073786111 9 0 415 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-pitch:variable; - mso-font-signature:-520081665 -1073717157 41 0 66047 0;} -@font-face - {font-family:Consolas; - panose-1:2 11 6 9 2 2 4 3 2 4; - mso-font-charset:0; - mso-generic-font-family:modern; - mso-font-pitch:fixed; - mso-font-signature:-520092929 1073806591 9 0 415 0;} -@font-face - {font-family:Verdana; - panose-1:2 11 6 4 3 5 4 4 2 4; - mso-font-charset:0; - mso-generic-font-family:swiss; - mso-font-pitch:variable; - mso-font-signature:-1593833729 1073750107 16 0 415 0;} -@font-face - {font-family:"MS Sans Serif"; - mso-font-alt:"Times New Roman"; - mso-font-charset:0; - mso-generic-font-family:auto; - mso-font-pitch:auto; - mso-font-signature:0 0 0 0 0 0;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-parent:""; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -h2 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 2 Char"; - mso-margin-top-alt:auto; - margin-right:0cm; - mso-margin-bottom-alt:auto; - margin-left:0cm; - mso-pagination:widow-orphan; - mso-outline-level:2; - font-size:18.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black; - font-weight:bold;} -h3 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 3 Char"; - mso-margin-top-alt:auto; - margin-right:0cm; - mso-margin-bottom-alt:auto; - margin-left:0cm; - mso-pagination:widow-orphan; - mso-outline-level:3; - font-size:13.5pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black; - font-weight:bold;} -p.MsoCommentText, li.MsoCommentText, div.MsoCommentText - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Comment Text Char"; - margin-top:0cm; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:windowtext;} -a:link, span.MsoHyperlink - {mso-style-noshow:yes; - mso-style-priority:99; - color:blue; - text-decoration:underline; - text-underline:single;} -a:visited, span.MsoHyperlinkFollowed - {mso-style-noshow:yes; - mso-style-priority:99; - color:purple; - text-decoration:underline; - text-underline:single;} -p - {mso-style-noshow:yes; - mso-style-priority:99; - mso-margin-top-alt:auto; - margin-right:0cm; - mso-margin-bottom-alt:auto; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -pre - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"HTML Preformatted Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; - font-size:10.0pt; - font-family:"Courier New"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -p.MsoAcetate, li.MsoAcetate, div.MsoAcetate - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Balloon Text Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:8.0pt; - font-family:"Tahoma","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph - {mso-style-noshow:yes; - mso-style-priority:34; - mso-style-unhide:no; - mso-style-qformat:yes; - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:36.0pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -span.Heading2Char - {mso-style-name:"Heading 2 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 2"; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-hansi-font-family:Cambria; - color:#4F81BD; - font-weight:bold;} -span.Heading3Char - {mso-style-name:"Heading 3 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 3"; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-hansi-font-family:Cambria; - color:#4F81BD; - font-weight:bold;} -span.HTMLPreformattedChar - {mso-style-name:"HTML Preformatted Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"HTML Preformatted"; - font-family:Consolas; - mso-ascii-font-family:Consolas; - mso-hansi-font-family:Consolas; - mso-bidi-font-family:Consolas; - color:black;} -span.CommentTextChar - {mso-style-name:"Comment Text Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Comment Text"; - font-family:"Calibri","sans-serif"; - mso-ascii-font-family:Calibri; - mso-hansi-font-family:Calibri; - mso-bidi-font-family:Calibri;} -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"; - font-family:"Tahoma","sans-serif"; - mso-ascii-font-family:Tahoma; - mso-hansi-font-family:Tahoma; - mso-bidi-font-family:Tahoma; - color:black;} -p.msolistparagraphcxspfirst, li.msolistparagraphcxspfirst, div.msolistparagraphcxspfirst - {mso-style-name:msolistparagraphcxspfirst; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:36.0pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -p.msolistparagraphcxspmiddle, li.msolistparagraphcxspmiddle, div.msolistparagraphcxspmiddle - {mso-style-name:msolistparagraphcxspmiddle; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:36.0pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -p.msolistparagraphcxsplast, li.msolistparagraphcxsplast, div.msolistparagraphcxsplast - {mso-style-name:msolistparagraphcxsplast; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:36.0pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -p.msochpdefault, li.msochpdefault, div.msochpdefault - {mso-style-name:msochpdefault; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-margin-top-alt:auto; - margin-right:0cm; - mso-margin-bottom-alt:auto; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black;} -span.SpellE - {mso-style-name:""; - mso-spl-e:yes;} -span.GramE - {mso-style-name:""; - mso-gram-e:yes;} -.MsoChpDefault - {mso-style-type:export-only; - mso-default-props:yes; - font-size:10.0pt; - mso-ansi-font-size:10.0pt; - mso-bidi-font-size:10.0pt;} -@page WordSection1 - {size:612.0pt 792.0pt; - margin:72.0pt 72.0pt 72.0pt 72.0pt; - mso-header-margin:36.0pt; - mso-footer-margin:36.0pt; - mso-paper-source:0;} -div.WordSection1 - {page:WordSection1;} - /* List Definitions */ - @list l0 - {mso-list-id:8795649; - mso-list-template-ids:-546284450;} -@list l0:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level2 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level3 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level4 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level5 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level6 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level7 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level8 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l0:level9 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1 - {mso-list-id:33114569; - mso-list-template-ids:-1035949190;} -@list l1:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level2 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level3 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level4 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level5 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level6 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level7 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level8 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level9 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2 - {mso-list-id:164320546; - mso-list-template-ids:-1574943340;} -@list l2:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level2 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level3 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level4 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level5 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level6 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level7 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level8 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level9 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3 - {mso-list-id:580453498; - mso-list-template-ids:-581900072;} -@list l3:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level2 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level3 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level4 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level5 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level6 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level7 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level8 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l3:level9 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4 - {mso-list-id:997656672; - mso-list-template-ids:245934636;} -@list l4:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level2 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level3 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level4 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level5 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level6 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level7 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level8 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4:level9 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5 - {mso-list-id:1057557407; - mso-list-template-ids:184817430;} -@list l5:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level2 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level3 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level4 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level5 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level6 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level7 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level8 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5:level9 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l6 - {mso-list-id:1105617970; - mso-list-type:hybrid; - mso-list-template-ids:-315086462 269025295 269025305 269025307 269025295 269025305 269025307 269025295 269025305 269025307;} -@list l6:level1 - {mso-level-tab-stop:none; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l6:level2 - {mso-level-number-format:alpha-lower; - mso-level-tab-stop:none; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l6:level3 - {mso-level-number-format:roman-lower; - mso-level-tab-stop:none; - mso-level-number-position:right; - text-indent:-9.0pt;} -@list l6:level4 - {mso-level-tab-stop:none; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l6:level5 - {mso-level-number-format:alpha-lower; - mso-level-tab-stop:none; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l6:level6 - {mso-level-number-format:roman-lower; - mso-level-tab-stop:none; - mso-level-number-position:right; - text-indent:-9.0pt;} -@list l6:level7 - {mso-level-tab-stop:none; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l6:level8 - {mso-level-number-format:alpha-lower; - mso-level-tab-stop:none; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l6:level9 - {mso-level-number-format:roman-lower; - mso-level-tab-stop:none; - mso-level-number-position:right; - text-indent:-9.0pt;} -ol - {margin-bottom:0cm;} -ul - {margin-bottom:0cm;} ---> -</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-parent:""; - mso-padding-alt:0cm 5.4pt 0cm 5.4pt; - mso-para-margin:0cm; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Times New Roman","serif";} -</style> -<![endif]--> -<meta name=Template content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot"> -<!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="1026"/> -</xml><![endif]--><!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> -</head> - -<body bgcolor=white lang=EN-CA link=blue vlink=purple style='tab-interval:36.0pt' -leftmargin=8> - -<div class=WordSection1> - -<h2><span lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>Bluetooth Echo Sample </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'><o:p></o:p></span></h2> - -<h3><span lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>SUMMARY</span><span lang=EN-US -style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></h3> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>This sample demonstrates developing Bluetooth L2CAP -profile drivers using Bluetooth L2CAP DDIs.</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>The sample includes two drivers. One for a device that -acts as an L2CAP server and another for the device that acts as an L2CAP -client. Server simply echoes back any data that it receives from client on the -same L2CA channel.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>These drivers can be used with devices that can be -installed with bth.inf. Such devices get installed as �Generic Bluetooth -Radio�. Examples of such devices are Bluetooth USB dongles such as (but not -limited to):</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt'><span lang=EN-US style='font-size:8.0pt; -font-family:"Courier New";mso-ansi-language:EN-US'>Generic Bluetooth -Radio= -<span class=SpellE>BthUsb</span>, USB\Vid_0a12&Pid_0001</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt'><span lang=EN-US style='font-size:8.0pt; -font-family:"Courier New";mso-ansi-language:EN-US'>CSR <span class=SpellE>Nanosira</span>= -<span class=SpellE>BthUsb</span>, USB\Vid_0a12&Pid_0003</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt'><span lang=EN-US style='font-size:8.0pt; -font-family:"Courier New";mso-ansi-language:EN-US'>CSR <span class=SpellE>Nanosira</span> -WHQL Reference -Radio= -<span class=SpellE>BthUsb</span>, USB\Vid_0a12&Pid_0004</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt'><span lang=EN-US style='font-size:8.0pt; -font-family:"Courier New";mso-ansi-language:EN-US'>CSR <span class=SpellE>Nanosira</span>-Multimedia= -<span class=SpellE>BthUsb</span>, USB\Vid_0a12&Pid_0005</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt'><span lang=EN-US style='font-size:8.0pt; -font-family:"Courier New";mso-ansi-language:EN-US'>CSR <span class=SpellE>Nanosira</span>-Multimedia -WHQL Reference Radio= <span class=SpellE>BthUsb</span>, -USB\Vid_0a12&Pid_0006</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Please refer to bth.inf for the complete list of -devices.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>The installation steps below describe how to install -echo server and client with such a device.</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Please note that RFCOMM based profiles must be -developed and accessed using user-mode socket APIs. </span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>This sample is applicable to Windows� Vista, Windows� -7 and Windows� Developer Preview operating systems.</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<h3><span lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>BUILDING THE SAMPLE</span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'><o:p></o:p></span></h3> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>To build the sample drivers and exe, you must first -set up the WDK environment on your host machine on your Windows Developer -Preview operating system.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Run <span class=SpellE><i>msbuild</i></span><i> </i>command -in the <span class=SpellE><b>bthecho</b></span> directory as follows</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<h3 style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l6 level1 lfo10'><![if !supportLists]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-ansi-language: -EN-US;font-weight:normal'><span style='mso-list:Ignore'>1.<span -style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US;font-weight:normal'>BthEcho.lib (common library for the -Bluetooth Echo sample)<o:p></o:p></span></h3> - -<h3 style='margin-left:72.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US;font-weight:normal'>cd</span></span><span lang=EN-US style='font-size: -10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language:EN-US;font-weight: -normal'> <span class=SpellE>bthecho</span>\common\lib<br> -<span class=SpellE>msbuild</span> /<span class=SpellE>t:clean</span> /<span -class=SpellE>t:build</span> <span class=SpellE>BthEcho.VcxProj</span><o:p></o:p></span></h3> - -<h3 style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l6 level1 lfo10'><![if !supportLists]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-ansi-language: -EN-US;font-weight:normal'><span style='mso-list:Ignore'>2.<span -style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US;font-weight:normal'>BthEchoSampleSrv.sys (driver for -Bluetooth Echo Server device)<o:p></o:p></span></h3> - -<h3 style='margin-left:72.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US;font-weight:normal'>cd ..</span></span><span lang=EN-US style='font-size: -10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language:EN-US;font-weight: -normal'>\..\<span class=SpellE>bthsrv</span>\sys<br> -<span class=SpellE>msbuild</span> /<span class=SpellE>t<span class=GramE>:clean</span></span> -/<span class=SpellE>t:build</span> <span class=SpellE>BthEchoSampleSrv.VcxProj</span><o:p></o:p></span></h3> - -<h3 style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l6 level1 lfo10'><![if !supportLists]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-ansi-language: -EN-US;font-weight:normal'><span style='mso-list:Ignore'>3.<span -style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US;font-weight:normal'>BthSrvInst.exe (Bluetooth echo -sever installation utility)<o:p></o:p></span></h3> - -<h3 style='margin-left:72.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US;font-weight:normal'>cd ..</span></span><span lang=EN-US style='font-size: -10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language:EN-US;font-weight: -normal'>\<span class=SpellE>inst</span><br> -<span class=SpellE>msbuild</span> /<span class=SpellE>t<span class=GramE>:clean</span></span> -/<span class=SpellE>t:build</span> <span class=SpellE>bthsrvinst.VcxProj</span><o:p></o:p></span></h3> - -<h3 style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l6 level1 lfo10'><![if !supportLists]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-ansi-language: -EN-US;font-weight:normal'><span style='mso-list:Ignore'>4.<span -style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US;font-weight:normal'>BthEchoSampleCli.sys (driver for -Bluetooth Echo client device)<o:p></o:p></span></h3> - -<h3 style='margin-left:72.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US;font-weight:normal'>cd ..</span></span><span lang=EN-US style='font-size: -10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language:EN-US;font-weight: -normal'>\..\<span class=SpellE>bthcli</span>\ sys<br> -<span class=SpellE>msbuild</span> /<span class=SpellE>t<span class=GramE>:clean</span></span> -/<span class=SpellE>t:build</span> <span class=SpellE>BthEchoSampleCli.VcxProj</span><o:p></o:p></span></h3> - -<h3 style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l6 level1 lfo10'><![if !supportLists]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana;mso-ansi-language: -EN-US;font-weight:normal'><span style='mso-list:Ignore'>5.<span -style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US;font-weight:normal'>BthEcho.exe (Bluetooth echo -application used to exercise client device)<o:p></o:p></span></h3> - -<h3 style='margin-left:72.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US;font-weight:normal'>cd ..</span></span><span lang=EN-US style='font-size: -10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language:EN-US;font-weight: -normal'>\app<br> -<span class=SpellE>msbuild</span> /<span class=SpellE>t<span class=GramE>:clean</span></span> -/<span class=SpellE>t:build</span> <span class=SpellE>BthEcho.VcxProj</span><o:p></o:p></span></h3> - -<h3><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US;font-weight:normal'><o:p> </o:p></span></h3> - -<h3><span lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>INSTALLATION </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'><o:p></o:p></span></h3> - -<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family: -"Verdana","sans-serif";mso-ansi-language:EN-US'>Note: </span></b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Bluetooth echo server device and echo client device -must be installed on two different machines.</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family: -"Verdana","sans-serif";mso-ansi-language:EN-US'>Server Installation</span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt'><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>1.</span><span lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Copy <i>KMDF <span class=SpellE>coinstaller</span> -(wdfcoinstallerMMmmm.dll, </i>from <span class=SpellE>redist</span>\<span -class=SpellE>wdf</span><span class=GramE>\<i> )</i></span>, <span class=SpellE><i>BthEchoSampleSrv.Sys</i></span><i>, -BthEchoSampleSrv.inf and bthsrvinst.exe</i> on a temporary directory on the -target machine.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt'><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>2.</span><span lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Run <i>bthsrvinst.exe /<span class=SpellE>i</span></i> -to install the echo server device. This enables the Bluetooth Enumerator -(BthEnum.sys) to enumerate echo server device and create a PDO for the device -(please refer to the device tree below).</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt'><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>2.</span><span lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Step #2 causes BthEnum.sys to create a PDO. -Consequently hardware installation wizard gets launched. Either <span -class=GramE>go</span> through the UI (Device Manager � Update Driver Software -in Windows� 7, �Found New Hardware� wizard in Windows� Vista) and point it to -the temporary directory where you copied the binaries in step #1, or using -devcon.exe from the tools\<span class=SpellE>devcon</span> folder, run the -following command from the temporary directory:</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:108.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>devcon.exe</span></span><i><span lang=EN-US style='font-size:10.0pt; -font-family:"Verdana","sans-serif";mso-ansi-language:EN-US'> </span></i><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>update<i> BthEchoSampleSrv.inf</i> -BTHENUM\{c07508f2-b970-43ca-b5dd-cc4f2391bef4}</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt'><span lang=EN-US style='font-size:10.0pt; -font-family:"Verdana","sans-serif";mso-ansi-language:EN-US'>If devcon.exe fails -check the error level using: </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-left:108.0pt'><span class=GramE><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>echo</span></span><span lang=EN-US style='font-size:10.0pt;font-family: -"Verdana","sans-serif";mso-ansi-language:EN-US'> %<span class=SpellE>errorlevel</span>%</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt'><span lang=EN-US style='font-size:10.0pt; -font-family:"Verdana","sans-serif";mso-ansi-language:EN-US'>If <span -class=SpellE>errorlevel</span> is 1, you need to reboot the machine for KMDF -update to take effect. If <span class=SpellE>errorlevel</span> is 2, please -make sure that you have the driver files described in #1 available in the -current directory. For more information on installation failure please check -setup logs.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt'><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>4.</span><span lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Upon successful installation you will see �Bluetooth -Echo Sample Server� in Device Manager under Bluetooth devices.</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt'><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>5.</span><span lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -(</span><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>This steps in needed only on Windows� Vista) Navigate -to the system tray, right click on the Bluetooth icon, and select �Open Settings�. -This launches the �Bluetooth Settings� dialog. On the �Options� tab, check -�Allow Bluetooth devices to find this Computer�. Note that this will make your -computer discoverable to other Bluetooth devices, and should be disabled again -when no longer required.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family: -"Verdana","sans-serif";mso-ansi-language:EN-US'> </span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt'><b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Device tree for Echo Server device</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt'><b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'> </span></b><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>(Drivers for FDOs are shown for each <span class=SpellE>devnode</span> -in the tree.)</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family: -"Verdana","sans-serif";mso-ansi-language:EN-US'> </span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<pre><span lang=EN-US style='mso-ansi-language:EN-US'> ---------------------<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> |BthEchoSampleSrv.sys |<---------------Function driver for PDO ejected by BthEnum.sys<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> ---------------------<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> ^<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | ---------------------<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | | |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | |Bluetooth Enumerator |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> --------- | (BthEnum.SYS) | <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> ---------------------<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> ^<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | --------------------- ---------------------<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | | | | |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> ----------| bthport.SYS |<-------->| bthusb.SYS | <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | | | |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> --------------------- ---------------------<o:p></o:p></span></pre> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -<span class=SpellE>Bth</span> port driver loaded by bthusb.sys - ^ </span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -| </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> - V</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> ----------------------</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -| -|</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -| USB Stack |</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -| - |</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> ----------------------</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> - ^</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -| </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> - V</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -----------------------</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -| USB Bluetooth Dongle |</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> - ----------------------</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Client Installation</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>1.</span><span lang=EN-US style='font-size:7.0pt; -mso-ansi-language:EN-US'> </span><b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Important</span></b><span lang=EN-US style='font-size:10.0pt;font-family: -"Verdana","sans-serif";mso-ansi-language:EN-US'>: This must be done on a -separate machine from the one where echo server device was installed.</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>2.</span><span lang=EN-US style='font-size:7.0pt; -mso-ansi-language:EN-US'> </span><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Copy <i>KMDF <span class=SpellE>coinstaller</span> -(wdfcoinstallerMMmmm.dll, </i>from <span class=SpellE>redist</span>\<span -class=SpellE>wdf</span>\<i>)</i>, <span class=SpellE><i>BthEchoSampleCli.Sys</i></span><i>, -BthEchoSampleCli.inf and bthecho.exe</i> on a temporary directory on the target -machine.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>3.</span><span lang=EN-US style='font-size:7.0pt; -mso-ansi-language:EN-US'> </span><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Run <span class=SpellE>bthprops.cpl</span> from a command line or right -click on the Bluetooth icon in the system tray and select �Show Devices' to -bring up a list of installed Bluetooth devices.</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>4.</span><span lang=EN-US style='font-size:7.0pt; -mso-ansi-language:EN-US'> </span><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Windows� 7: </span><span lang=EN-US style='font-size:7.0pt;mso-ansi-language: -EN-US'> </span><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>In the �Bluetooth Devices� window click the �Add a -device� button. Windows� Vista: In the �Devices� tab, click Add button.</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>5.</span><span lang=EN-US style='font-size:7.0pt; -mso-ansi-language:EN-US'> </span><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>In the Add a Device wizard select the server machine (the machine where -you installed the echo server) as a Bluetooth device. If the server machine -does not appear, please check the echo server installation and make sure that -you have enabled �Allow Bluetooth device to find this computer� on the server -machine as explained above. When the server machine is correctly displayed, -select it and pick �Next�.</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>6. The wizard should default to a numeric compare -ceremony for pairing the machines. When this happens, ensure the numbers match -on both the client and the server, select �Yes� on both machines to indicate -they match, and click �Next� on both machines to complete the pairing.</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>7. The �Found New Hardware� wizard will be launched on -Windows� Vista. On Windows� 7 and Windows� Developer Preview you will need to -go through Device Manager and update driver software for it. Either point the -wizard to the temporary directory created in step #2, or use devcon.exe from -the tools\<span class=SpellE>devcon</span> folder to install the client device:</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:108.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Devcon.exe update<i> BthEchoSampleCli.inf</i> BTHENUM<span -class=GramE>\{</span>c07508f2-b970-43ca-b5dd-cc4f2391bef4}</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:72.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Check for any error from devcon.exe as described in -server installation. </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>If the installation is successful, you will see -�Bluetooth Echo Sample Client� in Device Manager under Bluetooth devices. </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>The device tree for echo client device is similar to -the one shown for the echo server device, since both client and server are -enumerated by BthEnum.sys (although the installation mechanism and properties -of client and server are different).</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> </span></b><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Uninstalling Server</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>1. Uninstall the device and delete driver -software using the Bluetooth Devices window by running <span class=SpellE>bthprops.cpl</span>, -right clicking on the device, and selecting �Remove Device� </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>2. Run <i>bthsrvinst.exe /u</i> to -uninstall the echo server. This would make bthenum.sys stop enumerating the -echo server. Without this step �Found New Hardware� wizard will be launched -again when you reconnect the device.</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Uninstalling Client</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>1. Uninstall the device and delete driver -software using the Bluetooth Devices window by running <span class=SpellE>bthprops.cpl</span>, -right clicking on the device, and selecting �Remove Device� </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>TESTING</span><span lang=EN-US -style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></h3> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Run BthEcho.exe on the client machine. You should see -client sending data to the server and receiving the same data echoed back. -Press <span class=SpellE>Ctrl+c</span> to terminate the application. You will -see output similar to below:</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>D:\bth\wdfcli>BthEcho.exe</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -class=SpellE><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"; -mso-ansi-language:EN-US'>DevicePath</span></span><span lang=EN-US -style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language:EN-US'>: -\\?\bthenum#{c07508f2-b970-43ca-b5dd-cc4f2391bef4}_localmfg&000a#7&3</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>62d0a3&0&000c55ff727a_c00000001<span class=GramE>#{</span>fc71b33d-d528-4763-a86c-78777c7bcd7b}</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Opened device successfully</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Written -26 bytes: WDF Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Reply from server 26 bytes: WDF -Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Written -26 bytes: WDF Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Reply from server 26 bytes: WDF -Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Written -26 bytes: WDF Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Reply from server 26 bytes: WDF -Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Written -26 bytes: WDF Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Reply from server 26 bytes: WDF -Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>Written -26 bytes: WDF Bluetooth Sample Echo</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt; -margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:8.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'>^C</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>You can launch multiple instances of BthEcho.exe. Each -client application would cause echo client device to have an independent -connection to the echo server and thereby have an independent echo session. You -can also have echo client devices and apps installed on multiple machines and -talking to a single echo server.</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>DIRECTORY MANIFEST </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'><o:p></o:p></span></h3> - -<pre><u><span lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>bthcli</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains files for Bluetooth echo sample client<o:p></o:p></span></pre><pre><span -class=SpellE><span lang=EN-US style='mso-ansi-language:EN-US'>bthcli</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'>\sys contains driver code for echo client (produces <i>BthEchoSampleCli.sys</i> and <i>BthEchoSampleCli.inf</i>)<o:p></o:p></span></pre><pre><span -class=SpellE><span lang=EN-US style='mso-ansi-language:EN-US'>bthcli</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'>\app contains code for echo test application (produces <i>BthEcho.exe</i>)<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>bthsrv</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains files for Bluetooth echo sample server<o:p></o:p></span></pre><pre><span -class=SpellE><span lang=EN-US style='mso-ansi-language:EN-US'>bthsrv</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'>\sys contains driver code for echo server (produces <i>BthEchoSampleSrv.sys</i> and <i>BthEchoSampleSrv.inf</i>)<o:p></o:p></span></pre><pre><span -class=SpellE><span lang=EN-US style='mso-ansi-language:EN-US'>bthsrv</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'>\<span class=SpellE>inst</span> contains code for server installation utility (produces bthsrvinst.exe)<o:p></o:p></span></pre><pre><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>common</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains headers and code shared by client and server<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>common\<span class=SpellE>inc</span> contains common headers<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>common\lib contains common code (produces bthecho.lib used while building <i>BthEchoSampleSrv.sys</i> and <i>BthEchoSampleCli.sys</i>)<o:p></o:p></span></pre> - -<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>FILE MANIFEST</span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'><o:p></o:p></span></h3> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>(<span class=GramE>build</span> related files and <span -class=SpellE>inx</span> files omitted for brevity)</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -class=SpellE><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>bthcli</span></b></span><b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>\sys</span></b><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<pre><u><span lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>driver.* contains WDF driver functionality<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>device.* contains Bluetooth echo client device functionality<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>client.* contains reusable code for Bluetooth L2CAP client, this code is used by device.*<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>queue.* contains code for WDF queue used for read/write operations<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -class=SpellE><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>bthcli</span></b></span><b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>\app</span></b><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<pre><u><span lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>main.cpp</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains code for writing to and reading from Bluetooth echo client<o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'> </span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -class=SpellE><b><span lang=EN-US style='mso-ansi-language:EN-US'>bthsrv</span></b></span><b><span -lang=EN-US style='mso-ansi-language:EN-US'>\sys</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'> </span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><u><span -lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>driver.* WDF driver functionality<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>device.* contains Bluetooth echo server device functionality<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>server.* contains reusable code for Bluetooth L2CAP server, this code is used by device.*<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>echo.* contains functionality for sending echo to the client<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'>sdp.* contains code for building server SDP record<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -class=SpellE><b><span lang=EN-US style='mso-ansi-language:EN-US'>bthsrv</span></b></span><b><span -lang=EN-US style='mso-ansi-language:EN-US'>\<span class=SpellE>inst</span></span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'> </span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><u><span -lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>main.cpp</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains code for installing and uninstalling echo sample server<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'>common\<span class=SpellE>inc</span></span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'> </span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><u><span -lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>clisrv.h</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> header for common functions used by both echo client and echo server drivers<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>connection.h</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains header for connection object used by both echo client and echo server drivers<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>public.h</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> definitions used by echo client and server drivers as well as install and echo apps<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>trace.h</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> tracing related definitions<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'>common\lib</span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><b><span -lang=EN-US style='mso-ansi-language:EN-US'> </span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><u><span -lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>clisrv.c</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> code for common functions used by both echo client and echo server drivers<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>connection.c</span></span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> contains code for connection object used by both echo client and echo server drivers<o:p></o:p></span></pre> - -<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>CODE TOUR</span><span lang=EN-US -style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></h3> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Common code</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<ul style='margin-top:0cm' type=disc> - <li class=MsoNormal style='mso-list:l5 level1 lfo3;tab-stops:list 36.0pt'><b><span - lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Connection - object: </span></b><span lang=EN-US style='font-size:10.0pt;font-family: - "Verdana","sans-serif";mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>The common code contains implementation of a - connection object (in connection.*) that is utilized by both client and - the server. Client uses this object to maintain the information about - opened connection and the server uses this object to maintain information - about the accepted connection. Connection object also supports continuous - reader which is utilized by server to read the data sent by client. - Connection object is implemented as a WDF user object. Connection details - are maintained in BTHECHO_CONNECTION structure. This structure is used as - the context for WDF user object. Passive dispose is used to make the - connection object cleanup wait for disconnect completion and continuous - reader rundown. Please see WDF documentation for WDF user object and - passive dispose (see <span class=SpellE>WdfObjectCreate</span>).</span><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'><o:p></o:p></span></li> -</ul> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Server</span></b><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoListParagraph style='text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:Symbol;mso-ansi-language:EN-US'>�</span><span -lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Startup: </span></b><span lang=EN-US style='font-size: -10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language:EN-US'>Server -registers PSM and L2CA server and published SDP record on startup in <span -class=SpellE>BthEchoSrvEvtDeviceSelfManagedIoInit</span> (this callback is -invoked by WDF during device start). While registering the L2CA server it -passes <span class=SpellE>BthEchoSrvIndicationCallback</span> as the callback -for incoming connection notifications.</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoListParagraph style='text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:Symbol;mso-ansi-language:EN-US'>�</span><span -lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Server SDP record creation:</span></b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> The sample uses dynamic creation of server SDP record -using Bluetooth DDIs. Please note that for your particular device you may be -able to use static data for the SDP record.</span><span lang=EN-US -style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoListParagraph style='text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:Symbol;mso-ansi-language:EN-US'>�</span><span -lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Incoming connections: </span></b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Bluetooth stack invokes <span class=SpellE>BthEchoSrvIndicationCallback</span> -for the incoming connections from clients. In response server accepts the -connection and passes <span class=SpellE>BthEchoSrvConnectionIndicationCallback</span> -callback to Bluetooth stack for disconnect notification. It is possible to use -the same indication callback for server and connection but the sample uses -different callbacks for clarity. Server adds the accepted connection to the -connection list it maintains. Please see below for connection rundown details.</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoListParagraph style='text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:Symbol;mso-ansi-language:EN-US'>�</span><span -lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Connection rundown:</span></b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'> Server maintains a list of all the connections it has accepted. This -allows server to properly close down these connections on orderly removal. On -surprise removal bthport.sys itself gets removed and takes care of running down -the connections, but in case of orderly removal driver has to make sure to -rundown the connections.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoListParagraph style='text-indent:-18.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:Symbol;mso-ansi-language:EN-US'>�</span><span -lang=EN-US style='font-size:7.0pt;mso-ansi-language:EN-US'> -</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Connection state machine:</span></b><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> - </span></b><span -class=SpellE><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"; -mso-ansi-language:EN-US'>ConnectFailed</span></span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<pre><span lang=EN-US style='mso-ansi-language:EN-US'> ^<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> |<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | (connection failure)<o:p></o:p></span></pre> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> - Uninitialized ------> Connecting ------> Connected</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<pre><span lang=EN-US style='mso-ansi-language:EN-US'> | (disconnect<span -class=GramE>) /</span> ^ <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | / /<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | / /<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> V <span -class=GramE>V /</span> (connection complete)<o:p></o:p></span></pre> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -Disconnecting </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<pre><span lang=EN-US style='mso-ansi-language:EN-US'> | (disconnect complete)<o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> | <o:p></o:p></span></pre><pre><span -lang=EN-US style='mso-ansi-language:EN-US'> V <o:p></o:p></span></pre> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-ansi-language: -EN-US'> -Disconnected</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>One transition to note here is that if disconnect is -received in the connecting state (i.e. when the connection is not completed) we -wait for connection to completed (transition to connected state) and then -invoke -disconnect. -</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> </span></b><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Important: </span></b><span lang=EN-US -style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-ansi-language: -EN-US'>Such state machine is needed only if Disconnect is initiated by -something other than Bluetooth stack (for example device removal in our case). -Bluetooth stack itself would not send disconnect before connect completion. If -you adapt this sample for your device please evaluate whether your driver would -require such state machine. For example, the echo client device does not need -such state machine (although we use common connection code for client and the -server).</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-left:36.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<ul style='margin-top:0cm' type=disc> - <li class=MsoNormal style='mso-list:l0 level1 lfo6;tab-stops:list 36.0pt'><b><span - lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Shutdown: - </span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Server - removes the SDP record and unregisters L2CAP server and PSM in <span - class=SpellE>BthEchoSrvEvtDeviceSelfManagedIoCleanup</span> (this callback - is invoked by WDF during device removal). It also disconnects any open - connections (see Connection rundown above).</span><span lang=EN-US - style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></li> -</ul> - -<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Client</span></b><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<ul style='margin-top:0cm' type=disc> - <li class=MsoNormal style='mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><b><span - lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Startup: - </span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Client - retrieves local and server Bluetooth address in <span class=SpellE>BthEchoSrvEvtDeviceSelfManagedIoInit</span> - (this callback is invoked by WDF during device start). Please note that - server Bluetooth address would be available regardless of presence of the - server. Thus echo client device start doesn�t fail even if echo server is - not available.</span><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'><o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><b><span - lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Connecting - to server: </span></b><span lang=EN-US style='font-size:10.0pt;font-family: - "Verdana","sans-serif";mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>Client connects to echo server when application - opens a handle to it (<span class=SpellE>BthEchoCliEvtDeviceFileCreate</span>) - and closes the connection on file close (<span class=SpellE>BthEchoCliEvtFileClose</span>).</span><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'><o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><b><span - lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Sending - and receiving data from server: </span></b><span lang=EN-US - style='font-size:10.0pt;font-family:"Verdana","sans-serif";mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'>When application writes data to - the client, client sends this data to server on the connection opened for - the given handle. Server would echo back this data. This data is retrieved - by the application using a read operation. Echo Sample Client doesn�t do - any draining of echoed data on its own. Application read/write are handled - using a parallel WDF I/O queue.</span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l2 level1 lfo9;tab-stops:list 36.0pt'><b><span - lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Shutdown: - </span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>Client - doesn�t need any specific shutdown code as connection open/close and - read/write are done within the context of application�s handle open.</span><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'><o:p></o:p></span></li> -</ul> - -<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman";mso-ansi-language:EN-US'>RESOURCES</span><span lang=EN-US -style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></h3> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>For the latest release of the Windows device Driver -Development Kit, see <a href="http://www.microsoft.com/whdc/">http://www.microsoft.com/whdc/</a>. -For Bluetooth user mode APIs used in BthSrvInst.exe please see MSDN (<a -href="http://msdn.microsoft.com">http://msdn.microsoft.com</a>).</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>Please see the latest WDK release for documentation on -Bluetooth and WDF.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'>If you have questions on using or adapting this sample -for your project, you can post your questions in the <a -href="http://msdn.microsoft.com/newsgroups/default.asp?url=/newsgroups/loadframes.asp?icp=msdn&slcid=us&newsgroup=microsoft.public.development.device.drivers">Microsoft -driver development newsgroup</a>. </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p align=center style='text-align:center;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'><a href="#top">Top of page</a> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624 - style='width:468.0pt;mso-cellspacing:0cm;mso-yfti-tbllook:1184;mso-padding-alt: - 0cm 0cm 0cm 0cm'> - <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes; - height:1.5pt'> - <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'></td> - </tr> -</table> - -<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span -lang=EN-US style='font-size:7.5pt;font-family:"MS Sans Serif";mso-ansi-language: -EN-US'>� 2009 Microsoft Corporation. All rights reserved.</span><span -lang=EN-US style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -mso-ansi-language:EN-US'> </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -</div> - -</body> - -</html> diff --git a/bluetooth/serialhcibus/BluetoothHCISampleBusDriver.htm b/bluetooth/serialhcibus/BluetoothHCISampleBusDriver.htm deleted file mode 100644 index 375b609d..00000000 --- a/bluetooth/serialhcibus/BluetoothHCISampleBusDriver.htm +++ /dev/null @@ -1,2333 +0,0 @@ -<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 14"> -<meta name=Originator content="Microsoft Word 14"> -<link rel=File-List href="BluetoothHCISampleBusDriver_files/filelist.xml"> -<title>BluetoothHciSampleBusDriver</title> -<link rel=themeData href="BluetoothHCISampleBusDriver_files/themedata.thmx"> -<link rel=colorSchemeMapping -href="BluetoothHCISampleBusDriver_files/colorschememapping.xml"> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:Zoom>120</w:Zoom> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:TrackMoves>false</w:TrackMoves> - <w:TrackFormatting/> - <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:SplitPgBreakAndParaMark/> - </w:Compatibility> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - <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" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 2"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 3"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 4"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 5"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 6"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 7"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" QFormat="true" Name="heading 8"/> - <w:LsdException Locked="false" Priority="9" SemiHidden="false" - UnhideWhenUsed="false" 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]--> -<style> -<!-- - /* Font Definitions */ - @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:-536870145 1073742943 0 0 415 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:-520092929 1073786111 9 0 415 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-pitch:variable; - mso-font-signature:-520081665 -1073717157 41 0 66047 0;} -@font-face - {font-family:"Segoe UI"; - panose-1:2 11 5 2 4 2 4 2 2 3; - mso-font-charset:0; - mso-generic-font-family:swiss; - mso-font-pitch:variable; - mso-font-signature:-536859905 1073800319 41 0 511 0;} -@font-face - {font-family:"Segoe UI Light"; - panose-1:2 11 5 2 4 2 4 2 2 3; - mso-font-charset:0; - mso-generic-font-family:swiss; - mso-font-pitch:variable; - mso-font-signature:-536870145 1073800319 1 0 415 0;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-parent:""; - margin-top:0cm; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - line-height:115%; - mso-pagination:widow-orphan; - font-size:11.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -h1 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 1 Char"; - margin-top:18.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:21.6pt; - margin-bottom:.0001pt; - text-indent:-21.6pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:1; - font-size:20.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase; - font-weight:bold;} -h2 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 2 Char"; - margin-top:18.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:30.25pt; - margin-bottom:.0001pt; - text-indent:-30.25pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:2; - font-size:14.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - font-weight:bold;} -h3 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 3 Char"; - margin-top:18.0pt; - margin-right:0cm; - margin-bottom:3.0pt; - margin-left:36.0pt; - text-indent:-36.0pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:3; - font-size:10.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - font-weight:bold;} -h4 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 4 Char"; - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:43.2pt; - margin-bottom:.0001pt; - text-indent:-43.2pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:4; - font-size:8.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase; - font-weight:bold;} -h5 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 5 Char"; - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:50.4pt; - margin-bottom:.0001pt; - text-indent:-50.4pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:5; - font-size:6.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase; - font-weight:normal;} -h6 - {mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 6 Char"; - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:57.6pt; - margin-bottom:.0001pt; - text-indent:-57.6pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:6; - font-size:9.0pt; - font-family:"Cambria","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman"; - color:#243F60; - font-weight:normal; - font-style:italic;} -p.MsoHeading7, li.MsoHeading7, div.MsoHeading7 - {mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 7 Char"; - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:64.8pt; - margin-bottom:.0001pt; - text-indent:-64.8pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:7; - font-size:9.0pt; - font-family:"Cambria","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman"; - color:#404040; - font-style:italic;} -p.MsoHeading8, li.MsoHeading8, div.MsoHeading8 - {mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 8 Char"; - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:72.0pt; - margin-bottom:.0001pt; - text-indent:-72.0pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:8; - font-size:9.0pt; - font-family:"Cambria","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman"; - color:#404040;} -p.MsoHeading9, li.MsoHeading9, div.MsoHeading9 - {mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 9 Char"; - margin-top:10.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:79.2pt; - margin-bottom:.0001pt; - text-indent:-79.2pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:9; - font-size:9.0pt; - font-family:"Cambria","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman"; - color:#404040; - font-style:italic;} -p.MsoToc1, li.MsoToc1, div.MsoToc1 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase; - font-weight:bold;} -p.MsoToc2, li.MsoToc2, div.MsoToc2 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:3.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:10.8pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase;} -p.MsoToc3, li.MsoToc3, div.MsoToc3 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:3.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:21.6pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:7.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase;} -p.MsoToc4, li.MsoToc4, div.MsoToc4 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:0cm; - margin-right:0cm; - margin-bottom:5.0pt; - margin-left:33.0pt; - line-height:115%; - mso-pagination:widow-orphan; - font-size:11.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoToc5, li.MsoToc5, div.MsoToc5 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:0cm; - margin-right:0cm; - margin-bottom:5.0pt; - margin-left:44.0pt; - line-height:115%; - mso-pagination:widow-orphan; - font-size:11.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoToc6, li.MsoToc6, div.MsoToc6 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:0cm; - margin-right:0cm; - margin-bottom:5.0pt; - margin-left:55.0pt; - line-height:115%; - mso-pagination:widow-orphan; - font-size:11.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoToc7, li.MsoToc7, div.MsoToc7 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:0cm; - margin-right:0cm; - margin-bottom:5.0pt; - margin-left:66.0pt; - line-height:115%; - mso-pagination:widow-orphan; - font-size:11.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoToc8, li.MsoToc8, div.MsoToc8 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:0cm; - margin-right:0cm; - margin-bottom:5.0pt; - margin-left:63.0pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoToc9, li.MsoToc9, div.MsoToc9 - {mso-style-update:auto; - mso-style-noshow:yes; - mso-style-priority:39; - margin-top:0cm; - margin-right:0cm; - margin-bottom:5.0pt; - margin-left:88.0pt; - line-height:115%; - mso-pagination:widow-orphan; - font-size:11.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoCommentText, li.MsoCommentText, div.MsoCommentText - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Comment Text Char"; - margin-top:0cm; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - line-height:115%; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - font-style:italic;} -p.MsoHeader, li.MsoHeader, div.MsoHeader - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Header Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoFooter, li.MsoFooter, div.MsoFooter - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Footer Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoTitle, li.MsoTitle, div.MsoTitle - {mso-style-noshow:yes; - mso-style-priority:10; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Title Char"; - margin-top:0cm; - margin-right:0cm; - margin-bottom:7.0pt; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:26.0pt; - font-family:"Segoe UI Light","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman";} -p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle - {mso-style-noshow:yes; - mso-style-priority:11; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Subtitle Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#00B0F0; - letter-spacing:.75pt; - font-style:italic;} -a:link, span.MsoHyperlink - {mso-style-noshow:yes; - mso-style-priority:99; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#00B0F0;} -a:visited, span.MsoHyperlinkFollowed - {mso-style-noshow:yes; - mso-style-priority:99; - color:purple; - text-decoration:underline; - text-underline:single;} -em - {mso-style-priority:20; - mso-style-unhide:no; - mso-style-qformat:yes; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - font-weight:bold;} -p - {mso-style-noshow:yes; - mso-style-priority:99; - mso-margin-top-alt:auto; - margin-right:0cm; - mso-margin-bottom-alt:auto; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -pre - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"HTML Preformatted Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; - font-size:10.0pt; - font-family:"Courier New"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Comment Subject Char"; - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:3.6pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - font-weight:bold; - font-style:italic;} -p.MsoAcetate, li.MsoAcetate, div.MsoAcetate - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-link:"Balloon Text Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:8.0pt; - font-family:"Tahoma","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -span.MsoPlaceholderText - {mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - color:gray;} -p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph - {mso-style-noshow:yes; - mso-style-priority:34; - mso-style-unhide:no; - mso-style-qformat:yes; - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:4.0pt; - margin-left:36.0pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#404040;} -p.MsoQuote, li.MsoQuote, div.MsoQuote - {mso-style-noshow:yes; - mso-style-priority:29; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Quote Char"; - margin-top:0cm; - margin-right:46.8pt; - margin-bottom:0cm; - margin-left:46.8pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:black; - font-style:italic;} -p.MsoIntenseQuote, li.MsoIntenseQuote, div.MsoIntenseQuote - {mso-style-noshow:yes; - mso-style-priority:30; - mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Intense Quote Char"; - margin-top:10.0pt; - margin-right:46.8pt; - margin-bottom:14.0pt; - margin-left:46.8pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#4F81BD; - font-weight:bold; - font-style:italic;} -span.MsoSubtleEmphasis - {mso-style-priority:19; - mso-style-unhide:no; - mso-style-qformat:yes; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#F20017; - font-style:italic;} -span.MsoIntenseEmphasis - {mso-style-priority:21; - mso-style-unhide:no; - mso-style-qformat:yes; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#00B0F0; - font-weight:bold; - font-style:italic;} -span.MsoSubtleReference - {mso-style-priority:31; - mso-style-unhide:no; - mso-style-qformat:yes; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - font-variant:small-caps; - color:#C0504D; - text-decoration:underline; - text-underline:single;} -span.MsoIntenseReference - {mso-style-priority:32; - mso-style-unhide:no; - mso-style-qformat:yes; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - font-variant:small-caps; - color:#C0504D; - letter-spacing:.25pt; - font-weight:bold; - text-decoration:underline; - text-underline:single;} -span.MsoBookTitle - {mso-style-priority:33; - mso-style-unhide:no; - mso-style-qformat:yes; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - font-variant:small-caps; - letter-spacing:.25pt; - font-weight:bold;} -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"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#262626; - text-transform:uppercase; - font-weight:bold;} -span.Heading2Char - {mso-style-name:"Heading 2 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 2"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#262626; - font-weight:bold;} -span.Heading3Char - {mso-style-name:"Heading 3 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 3"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#262626; - font-weight:bold;} -span.Heading4Char - {mso-style-name:"Heading 4 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 4"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#262626; - text-transform:uppercase; - font-weight:bold;} -span.Heading5Char - {mso-style-name:"Heading 5 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 5"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#262626; - text-transform:uppercase;} -span.Heading6Char - {mso-style-name:"Heading 6 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 6"; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-hansi-font-family:Cambria; - color:#243F60; - font-style:italic;} -span.HTMLPreformattedChar - {mso-style-name:"HTML Preformatted Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"HTML Preformatted"; - font-family:"Courier New"; - mso-ascii-font-family:"Courier New"; - mso-hansi-font-family:"Courier New"; - mso-bidi-font-family:"Courier New";} -span.Heading7Char - {mso-style-name:"Heading 7 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 7"; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-hansi-font-family:Cambria; - color:#404040; - font-style:italic;} -span.Heading8Char - {mso-style-name:"Heading 8 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 8"; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-hansi-font-family:Cambria; - color:#404040;} -span.Heading9Char - {mso-style-name:"Heading 9 Char"; - mso-style-noshow:yes; - mso-style-priority:9; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 9"; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-hansi-font-family:Cambria; - color:#404040; - font-style:italic;} -span.CommentTextChar - {mso-style-name:"Comment Text Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Comment Text"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - font-style:italic;} -span.HeaderChar - {mso-style-name:"Header Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Header; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI";} -span.FooterChar - {mso-style-name:"Footer Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Footer; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI";} -span.TitleChar - {mso-style-name:"Title Char"; - mso-style-priority:10; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Title; - font-family:"Segoe UI Light","sans-serif"; - mso-ascii-font-family:"Segoe UI Light"; - mso-hansi-font-family:"Segoe UI Light";} -span.SubtitleChar - {mso-style-name:"Subtitle Char"; - mso-style-priority:11; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Subtitle; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#00B0F0; - letter-spacing:.75pt; - font-style:italic;} -span.CommentSubjectChar - {mso-style-name:"Comment Subject Char"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Comment Subject"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - font-weight:bold; - 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"; - font-family:"Tahoma","sans-serif"; - mso-ascii-font-family:Tahoma; - mso-hansi-font-family:Tahoma; - mso-bidi-font-family:Tahoma;} -span.QuoteChar - {mso-style-name:"Quote Char"; - mso-style-priority:29; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Quote; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:black; - font-style:italic;} -span.IntenseQuoteChar - {mso-style-name:"Intense Quote Char"; - mso-style-priority:30; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Intense Quote"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#4F81BD; - font-weight:bold; - font-style:italic;} -p.msotitlecxspfirst, li.msotitlecxspfirst, div.msotitlecxspfirst - {mso-style-name:msotitlecxspfirst; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Title Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:26.0pt; - font-family:"Segoe UI Light","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman";} -p.msotitlecxspmiddle, li.msotitlecxspmiddle, div.msotitlecxspmiddle - {mso-style-name:msotitlecxspmiddle; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:26.0pt; - font-family:"Segoe UI Light","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman";} -p.msotitlecxsplast, li.msotitlecxsplast, div.msotitlecxsplast - {mso-style-name:msotitlecxsplast; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:0cm; - margin-right:0cm; - margin-bottom:7.0pt; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:26.0pt; - font-family:"Segoe UI Light","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman";} -span.AbstractChar - {mso-style-name:"Abstract Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Abstract; - font-family:"Segoe UI Light","sans-serif"; - mso-ascii-font-family:"Segoe UI Light"; - mso-hansi-font-family:"Segoe UI Light"; - color:#00B0F0;} -p.Abstract, li.Abstract, div.Abstract - {mso-style-name:Abstract; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Abstract Char"; - margin-top:0cm; - margin-right:36.0pt; - margin-bottom:0cm; - margin-left:57.6pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:32.0pt; - font-family:"Segoe UI Light","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - mso-bidi-font-family:"Times New Roman"; - color:#00B0F0;} -span.AuthorChar - {mso-style-name:"Author Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Author; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#A6A6A6;} -p.Author, li.Author, div.Author - {mso-style-name:Author; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Author Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#A6A6A6;} -span.OpenIssueChar - {mso-style-name:"Open Issue Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Open Issue"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - background:#FFFFCC;} -p.OpenIssue, li.OpenIssue, div.OpenIssue - {mso-style-name:"Open Issue"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Open Issue Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - background:#FFFFCC; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -span.InternalOnlyChar - {mso-style-name:"Internal Only Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Internal Only"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI";} -p.InternalOnly, li.InternalOnly, div.InternalOnly - {mso-style-name:"Internal Only"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Internal Only Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - background:#CCFFCC; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -span.SectionDescriptionChar - {mso-style-name:"Section Description Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Section Description"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#595959; - background:#D5F4FF; - font-style:italic;} -p.SectionDescription, li.SectionDescription, div.SectionDescription - {mso-style-name:"Section Description"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Section Description Char"; - margin-top:0cm; - margin-right:14.4pt; - margin-bottom:9.0pt; - margin-left:10.8pt; - mso-pagination:widow-orphan; - background:#D5F4FF; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#595959; - font-style:italic;} -p.Code, li.Code, div.Code - {mso-style-name:Code; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - background:#F2F2F2; - font-size:10.0pt; - font-family:"Courier New"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#595959;} -p.ReviewedGuidanceText, li.ReviewedGuidanceText, div.ReviewedGuidanceText - {mso-style-name:"Reviewed Guidance Text"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:0cm; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - line-height:115%; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#FFC000;} -span.AudienceChar - {mso-style-name:"Audience Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:Audience; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI"; - color:#7F7F7F;} -p.Audience, li.Audience, div.Audience - {mso-style-name:Audience; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Audience Char"; - margin-top:0cm; - margin-right:0cm; - margin-bottom:6.0pt; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#7F7F7F;} -span.NotestoWritersChar - {mso-style-name:"Notes to Writers Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Notes to Writers"; - font-family:"Segoe UI","sans-serif"; - mso-ascii-font-family:"Segoe UI"; - mso-hansi-font-family:"Segoe UI"; - mso-bidi-font-family:"Segoe UI";} -p.NotestoWriters, li.NotestoWriters, div.NotestoWriters - {mso-style-name:"Notes to Writers"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-style-link:"Notes to Writers Char"; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - background:#FFCCFF; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.Bullets, li.Bullets, div.Bullets - {mso-style-name:Bullets; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:2.0pt; - margin-right:0cm; - margin-bottom:4.0pt; - margin-left:36.0pt; - text-indent:-18.0pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#404040;} -p.TOF1, li.TOF1, div.TOF1 - {mso-style-name:"TOF 1"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin:0cm; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase; - font-weight:bold;} -p.TOF2, li.TOF2, div.TOF2 - {mso-style-name:"TOF 2"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:3.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:10.8pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:9.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase;} -p.TOF3, li.TOF3, div.TOF3 - {mso-style-name:"TOF 3"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:3.0pt; - margin-right:0cm; - margin-bottom:0cm; - margin-left:21.6pt; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:7.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#262626; - text-transform:uppercase;} -p.Imagecaption, li.Imagecaption, div.Imagecaption - {mso-style-name:"Image caption"; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - margin-top:0cm; - margin-right:0cm; - margin-bottom:0cm; - margin-left:18.0pt; - margin-bottom:.0001pt; - text-indent:-18.0pt; - mso-pagination:widow-orphan; - font-size:8.0pt; - font-family:"Segoe UI","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - color:#595959; - font-style:italic;} -p.msochpdefault, li.msochpdefault, div.msochpdefault - {mso-style-name:msochpdefault; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-margin-top-alt:auto; - margin-right:0cm; - mso-margin-bottom-alt:auto; - margin-left:0cm; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Calibri","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -p.msopapdefault, li.msopapdefault, div.msopapdefault - {mso-style-name:msopapdefault; - mso-style-noshow:yes; - mso-style-priority:99; - mso-style-unhide:no; - mso-margin-top-alt:auto; - margin-right:0cm; - margin-bottom:10.0pt; - margin-left:0cm; - line-height:115%; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast;} -span.SampleContent - {mso-style-name:"Sample Content"; - mso-style-unhide:no; - color:gray;} -span.SpellE - {mso-style-name:""; - mso-spl-e:yes;} -span.GramE - {mso-style-name:""; - mso-gram-e:yes;} -.MsoChpDefault - {mso-style-type:export-only; - mso-default-props:yes; - font-size:10.0pt; - mso-ansi-font-size:10.0pt; - mso-bidi-font-size:10.0pt; - font-family:"Calibri","sans-serif"; - mso-ascii-font-family:Calibri; - mso-hansi-font-family:Calibri; - mso-bidi-font-family:Calibri;} -@page WordSection1 - {size:612.0pt 792.0pt; - margin:72.0pt 72.0pt 72.0pt 72.0pt; - mso-header-margin:36.0pt; - mso-footer-margin:36.0pt; - mso-paper-source:0;} -div.WordSection1 - {page:WordSection1;} - /* List Definitions */ - @list l0 - {mso-list-id:587230889; - mso-list-template-ids:1012195736;} -@list l1 - {mso-list-id:791286231; - mso-list-template-ids:1079178102;} -@list l1:level1 - {mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level2 - {mso-level-number-format:alpha-lower; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level3 - {mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level4 - {mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level5 - {mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level6 - {mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level7 - {mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level8 - {mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l1:level9 - {mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l2 - {mso-list-id:1052387190; - mso-list-template-ids:1219249738;} -@list l2:level2 - {mso-level-number-format:alpha-lower; - mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3 - {mso-list-id:2087875448; - mso-list-template-ids:266902276;} -@list l3:level1 - {mso-level-tab-stop:36.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level2 - {mso-level-tab-stop:72.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level3 - {mso-level-tab-stop:108.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level4 - {mso-level-tab-stop:144.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level5 - {mso-level-tab-stop:180.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level6 - {mso-level-tab-stop:216.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level7 - {mso-level-tab-stop:252.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level8 - {mso-level-tab-stop:288.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -@list l3:level9 - {mso-level-tab-stop:324.0pt; - mso-level-number-position:left; - text-indent:-18.0pt;} -ol - {margin-bottom:0cm;} -ul - {margin-bottom:0cm;} ---> -</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-parent:""; - mso-padding-alt:0cm 5.4pt 0cm 5.4pt; - mso-para-margin:0cm; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Calibri","sans-serif";} -</style> -<![endif]--><!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="1026"/> -</xml><![endif]--><!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> -</head> - -<body lang=EN-CA link="#00B0F0" vlink=purple style='tab-interval:36.0pt'> - -<div class=WordSection1> - -<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-US style='font-size: -24.0pt;mso-fareast-font-family:"Times New Roman";color:#8DB3E2;mso-ansi-language: -EN-US'>README�Bluetooth Serial HCI Sample Bus Driver</span><span lang=EN-US -style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'><o:p></o:p></span></h1> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><span lang=EN-US style='color:#1F497D; -mso-ansi-language:EN-US'> </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><span lang=EN-US style='font-family: -"Segoe UI","sans-serif";color:#8DB3E2;text-transform:uppercase;mso-ansi-language: -EN-US'>VERSION 0.2</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><b><span lang=EN-US style='font-family: -"Segoe UI","sans-serif";color:red;text-transform:uppercase;mso-ansi-language: -EN-US'> </span></b><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><b><span lang=EN-US style='font-family: -"Segoe UI","sans-serif";color:red;text-transform:uppercase;background:yellow; -mso-ansi-language:EN-US'>Note: The sample driver & this documentation are -in their pre-release versions, thus they are both subject to change at any time</span></b><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><span lang=EN-US style='font-family: -"Segoe UI","sans-serif";color:#8DB3E2;text-transform:uppercase;mso-ansi-language: -EN-US'> </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><span lang=EN-US style='font-family: -"Segoe UI","sans-serif";color:#8DB3E2;text-transform:uppercase;mso-ansi-language: -EN-US'>6/22/2011</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-top:0cm;margin-right:0cm;margin-bottom:0cm; -margin-left:18.0pt;margin-bottom:.0001pt'><span lang=EN-US style='font-family: -"Segoe UI","sans-serif";color:#8DB3E2;text-transform:uppercase;mso-ansi-language: -EN-US'>AUTHOR - Windows Bluetooth</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<h1><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>1</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Document purpose<o:p></o:p></span></h1> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='color:#00B0F0;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>The purpose of this -sample is to demonstrate how to implement a basic bus driver to support the new -Bluetooth Extensibility transport DDIs over the UART transport. Such a serial -bus driver can support a multi-radio device over the UART transport and utilize -a common Bluetooth HCI packet for communication. The lower edge of this driver -interfaces with a UART controller following the Bluetooth SIG�s UART (H4) -transport protocol.<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>Note:<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>This</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> sample driver is generic�i.e. it is -not designed for a specific device and allows for a vendor to adopt and enhance -it for supporting Bluetooth<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>This</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> sample driver, as is, may not -properly function for a device until all vendor-specific device requirements -(e.g. device initialization) have been incorporated<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>It is recommended to use WDK whose -version matches the target Windows build version or newer for the development -of the serial bus driver<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<h1><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>2</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Building the sample<o:p></o:p></span></h1> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'>1.</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>Open the project file (<span -class=SpellE>SerialHciBus</span>\WDK\<span class=SpellE>SerialBusWDK</span> VC++ -project) from Visual Studio Dev11 to build this project.<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'>2.</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>After rebuilding the driver, you can -find SerialBusWDK.sys/<span class=SpellE>pdb</span>/<span class=SpellE>inf</span> -files.<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt'><span -lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<h1><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>3</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Directory Manifest<o:p></o:p></span></h1> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='color:#00B0F0;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><u><span lang=EN-US style='mso-ansi-language:EN-US'>File Description</span></u><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span class=SpellE><span lang=EN-US style='mso-ansi-language:EN-US'>SerialHciBus</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> � contains files for the Bluetooth -serial HCI bus driver<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span class=SpellE><span lang=EN-US style='mso-ansi-language:EN-US'>SerialHciBus</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'>\<span class=SpellE>Wdk</span> � -contains driver code for device specific functions (produces SerialBusWdk<i>.sys</i> -and SerialBusWdk<i>.inf</i>)<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<h1><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>4</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>File Manifest<o:p></o:p></span></h1> - -<h2><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>4.1</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>WDK header file<o:p></o:p></span></h2> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>BthXDDI.h � this has the constants, -struct, and IOCTL definitions for the Bluetooth extensibility transport. This -header file is included in WDK.<o:p></o:p></span></p> - -<h2><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>4.2</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Common code section<o:p></o:p></span></h2> - -<ol style='margin-top:0cm' start=1 type=1> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>driver.c</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � driver initialization<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>driver.h</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � common header file for <span - class=SpellE>driver.c</span> and includes other header files<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>Fdo.c</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � functions for function - device object (FDO) and BTHX DDI processing<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>io.c</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � functions that perform IO - read pump via UART controller<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>Io.h</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � header for <span - class=SpellE>io.c</span><o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>pdo.c</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � PDO (Bluetooth function) - enumeration and IOCTL processing<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>public.h</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � header to share with - application to support Radio On/Off (�Airplane mode�)<o:p></o:p></span></li> -</ol> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>Note: The goal is to -keep the common code section the same, so the vendor will only need to update -those code sections in the device specific directory.<o:p></o:p></span></p> - -<h2><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>4.3</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Device-specific code section<o:p></o:p></span></h2> - -<ol style='margin-top:0cm' start=1 type=1> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>Debugdef.h</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � WPP trace GUID; user should - use a new GUID (unique per driver)<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>device.c</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � device specific functions to - implement<o:p></o:p></span></li> - <ol style='margin-top:0cm' start=1 type=a> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt; - line-height:normal;mso-list:l1 level2 lfo6;tab-stops:list 72.0pt'><span - class=SpellE><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>DeviceInitialize</span></span><span lang=EN-US - style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>() - � to perform UART and Bluetooth device initialization; <o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt; - line-height:normal;mso-list:l1 level2 lfo6;tab-stops:list 72.0pt'><span - class=SpellE><span class=GramE><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'>DeviceEnable</span></span></span><span - class=GramE><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>(</span></span><span lang=EN-US - style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>) - � (optional) to bring serial bus device out of disable/reset state. <o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt; - line-height:normal;mso-list:l1 level2 lfo6;tab-stops:list 72.0pt'><span - class=SpellE><span class=GramE><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'>DevicePowerOn</span></span></span><span - class=GramE><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>(</span></span><span lang=EN-US - style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US'>) - � (optional) to power on the device.<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt; - line-height:normal;mso-list:l1 level2 lfo6;tab-stops:list 72.0pt'><span - class=SpellE><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>DeviceEnableWakeControl</span></span><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>() � (optional) to arm for device wake signal<o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt; - line-height:normal;mso-list:l1 level2 lfo6;tab-stops:list 72.0pt'><span - class=SpellE><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; - mso-ansi-language:EN-US'>DeviceDisableWakeControl</span></span><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>() � (optional) to disarm for device wake signal<o:p></o:p></span></li> - </ol> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>device.h</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � header file for <span - class=SpellE>device.c</span><o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>driver.rc</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � driver version and name <o:p></o:p></span></li> - <li class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: - normal;mso-list:l1 level1 lfo6;tab-stops:list 36.0pt'><span class=SpellE><span - lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: - EN-US'>SerialBusWdk.inx</span></span><span lang=EN-US style='mso-fareast-font-family: - "Times New Roman";mso-ansi-language:EN-US'> � device specific INF file to - install this driver. The vendor will need to add the hardware ID to match - the �_HID� for the Serial Bus Device (Bluetooth) in the <span - class=SpellE>DSDT.asl</span> file. For example, in <span class=SpellE>SerialBusWDK.inx</span>, - the hardware ID is �ACPI\<Vendor>_BTH0� where �<vendor>� could - be a 4 digit vendor name<o:p></o:p></span></li> -</ol> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<h1><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>5</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Installation<o:p></o:p></span></h1> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>The vendor can adopt -this driver to add device specific functions, e.g. vendor-specific device -initialization. After this is completed, the following steps can be followed to -perform device installation in order to test the driver:<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>Copy driver and <span class=SpellE><span -class=GramE>inf</span></span> file to a directory on the test system<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>Perform �Update Driver� on the <span -class=SpellE>devnode</span> corresponding to the hardware ID in the <span -class=SpellE>DSDT.asl</span> file for this multifunction serial bus driver<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'>Point the installation to the -directory to find the INF and sys files<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>Upon</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> successful installation, you will -see �Serial Bus Driver over UART Bus Enumerator" in Device Manager under -the Ports device class<o:p></o:p></span></p> - -<p class=MsoListParagraph style='margin-bottom:0cm;margin-bottom:.0001pt; -text-indent:-18.0pt'><span lang=EN-US style='font-family:Symbol;mso-ansi-language: -EN-US'>�</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-ansi-language:EN-US'> </span><span -class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>Upon</span></span><span -lang=EN-US style='mso-ansi-language:EN-US'> successful installation of the -serial bus driver, a PDO will be created with a compat ID of �MS_BTHX_BTHMINI.� -This will cause PnP to find the match in bth.inf to perform the installation of -the Bluetooth core components with its extensibility transport<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><u><span lang=EN-US style='mso-ansi-language:EN-US'>Pre-requisite: -DSDT.ASL</span></u><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>A multifunction serial -bus device is a peripheral device on a SoC platform. Its configuration is often -defined in the <span class=SpellE>DSDT.asl</span> (Differentiated System -Description Table) file to reflect its configuration and interconnection with a -UART controller and other optional dependent controllers, e.g. I2C, GPIO, etc. -for additional control. <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>Here is an -(incomplete) sample system bus device section of a DSDT.ASL file for a UART -controller and a multifunction serial bus device that supports Bluetooth. For -details, please reference the document �<i>Minimum WOA ACPI Requirements.docx</i>� -from Microsoft.<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>//</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>// -UART where a serial bus device is connected to</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>//</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>Device -(UAR1)</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>{</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Name (_HID, "ABCD_UART") // where -�ABCD� is vendor name;</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// �</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Name (_CID, "ACPI\ABCD_UART")</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Name (_UID, 6)</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Method (_CRS, 0x0, <span class=SpellE>NotSerialized</span>) {</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Name (RBUF, <span class=SpellE>ResourceTemplate</span> ()</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -{</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -�</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -})</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Return (RBUF)</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -}</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>}</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>//</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>// -Multifunction serial bus device to support Bluetooth function</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>//</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span class=GramE><span lang=EN-US style='font-size:9.0pt; -mso-ansi-language:EN-US'>Device(</span></span><span lang=EN-US -style='font-size:9.0pt;mso-ansi-language:EN-US'>BTH0) </span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>{</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// ACPI enumerate will generate a hardware ID �ACPI\ABCD_BTH0�</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Name (_HID, "ABCD_BTH0") // where �ABCD� is vendor name; </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> - </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -<span class=GramE>Method(</span>_CRS, 0x0, <span class=SpellE>NotSerialized</span>)</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -{</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Name (RBUF, <span class=SpellE>ResourceTemplate</span> ()</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -{</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// GPIO Descriptor </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// (optional)</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// I2C Serial Bus Descriptor </span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// (optional)</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -// UART Serial Bus Descriptor</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -<span class=SpellE>UARTSerialBus</span> (</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> 0xC0, // RTS | -CTS </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> <span -class=SpellE>LittleEndian</span>,</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> <span -class=SpellE>DataBitsEight</span>,</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> <span -class=SpellE>StopBitsOne</span>,</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> <span -class=SpellE>FlowControlHardware</span>,</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> 115200, // -Initial <span class=SpellE>Baudrate</span></span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> 480, // Rx FIFO -size</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> 32, // <span -class=SpellE>Tx</span> FIFO size</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> <span -class=SpellE>ParityTypeNone</span>,</span><span lang=EN-US style='mso-ansi-language: -EN-US'><o:p></o:p></span></p> - -<p class=Code style='text-indent:36.0pt'><span lang=EN-US style='font-size: -9.0pt;mso-ansi-language:EN-US'> -"\\_SB.UAR1"<span class=GramE>, ,</span> )</span><span lang=EN-US -style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -})</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -Return -(RBUF) </span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'> -} </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=Code><span lang=EN-US style='font-size:9.0pt;mso-ansi-language:EN-US'>}</span><span -lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<h1><span lang=EN-US style='mso-fareast-font-family:"Times New Roman"; -color:#00B0F0;mso-ansi-language:EN-US;font-weight:normal'>6</span><span -lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman","serif"; -mso-fareast-font-family:"Times New Roman";color:#00B0F0;mso-ansi-language:EN-US; -font-weight:normal'> </span><span -lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language: -EN-US'>Resources<o:p></o:p></span></h1> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>For the latest release -of the Windows device Driver Development Kit, see <a -href="http://www.microsoft.com/whdc/"><u><span style='font-family:"Segoe UI","sans-serif"'>http://www.microsoft.com/whdc/</span></u></a>. -<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>Please see the latest -WDK release for documentation on Bluetooth and WDF.<o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'> <o:p></o:p></span></p> - -<p class=MsoNormal style='margin-bottom:0cm;margin-bottom:.0001pt;line-height: -normal'><span lang=EN-US style='mso-ansi-language:EN-US'>Bus Driver Development -Based on KMDF <a -href="http://msdn.microsoft.com/en-us/windows/hardware/gg463281.aspx"><u><span -style='font-family:"Segoe UI","sans-serif"'>http://msdn.microsoft.com/en-us/windows/hardware/gg463281.aspx</span></u></a><o:p></o:p></span></p> - -</div> - -</body> - -</html> |
