<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Embedded POSReady and POS for .NET Blog : Misc</title><link>http://blogs.msdn.com/pointofservice/archive/tags/Misc/default.aspx</link><description>Tags: Misc</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Servicing FAQs for Windows Embedded POSReady 2009 OEMs</title><link>http://blogs.msdn.com/pointofservice/archive/2009/10/26/servicing-faqs-for-windows-embedded-posready-2009-oems.aspx</link><pubDate>Mon, 26 Oct 2009 15:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909540</guid><dc:creator>posblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/pointofservice/comments/9909540.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pointofservice/commentrss.aspx?PostID=9909540</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;When I go to a monthly update download page for POSReady 2009 on the ECE from April, 2009 or earlier, why isn’t POSReady 2009 listed in the title?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The monthly Security updates for Windows Embedded POSReady 2009, from code freeze through April-2009, do not list POSReady 2009 on the download page Titles themselves. This is because the downloads weren’t mapped for POSReady 2009 applicability until April. Updates since April-2009 do list Windows Embedded POSReady 2009 in the page Title. All of the POSReady 2009 Monthly Updates are linked from here:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://ece.partners.extranet.microsoft.com/ece/Embedded/Products/ProductSupplements/Embedded/POSReady/POSReady2009Updates.htm"&gt;https://ece.partners.extranet.microsoft.com/ece/Embedded/Products/ProductSupplements/Embedded/POSReady/POSReady2009Updates.htm&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What updates should I install from the monthly supplemental DVD I download from the ECE?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;POSReady 2009 consumes the same updates as Windows XP. Windows XP updates are delivered on the Desktop Operating System (DTOS) update IMG, along with all other DTOS updates, including Vista, Windows 7, etc. &lt;/p&gt;  &lt;p&gt;Use the Security Bulletin announcements (&lt;a href="http://www.microsoft.com/technet/security/bulletin/summary.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/summary.mspx&lt;/a&gt;), particularly the &lt;i&gt;Affected Software&lt;/i&gt;, &lt;i&gt;Windows Operating System&lt;/i&gt; section, to indicate which of the updates are intended for installation on Windows XP. The only updates that are potentially applicable to POSReady 2009 are those updates targeting Windows XP, x86, ENU. &lt;/p&gt;  &lt;p&gt;Even some of the Windows XP updates may not be applicable to a POSReady 2009 environment, since it is a subset of Windows XP technologies. If an update is not applicable, it will not install even if executed on the system. This is also how updating Windows XP works, you may not have everything installed that could be installed on the system, therefore the update technology checks to see if the update is required and only installs when it is.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I’m an OEM, how do I ensure my POSReady 2009 image is up to date with Security updates?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;End users depend on OEM guidance and a defined servicing plan with their OEM to ensure they install compatible and necessary Security updates. With this plan in place, their systems stay secure, and maintain industry standard compliance if required.&lt;/p&gt;  &lt;p&gt;If your servicing plan for your customers includes Windows Update usage, one choice to bring a system current with security updates is to enable Windows Update on the device, and update the device with all required Windows Security Updates. &lt;/p&gt;  &lt;p&gt;Another way to ship up-to-date POSReady 2009 devices is to download the monthly security supplemental update DVDs from the ECE, beginning with October, 2008. Apply each Windows XP, x86, ENU Security Update (see the previous question for information about applicable updates) through the current month prior to deploying your devices. Ensure that you have a servicing plan in place with your end users to maintain the security and integrity of the devices.&lt;/p&gt;  &lt;p&gt;-&lt;a href="http://blogs.msdn.com/pointofservice/pages/gina-s-bio.aspx"&gt;Gina&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5819c873-d793-4e70-afad-612a01a60e51" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Point+of+Sale" rel="tag"&gt;Point of Sale&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Point+of+Service" rel="tag"&gt;Point of Service&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Embedded" rel="tag"&gt;Embedded&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909540" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pointofservice/archive/tags/Misc/default.aspx">Misc</category><category domain="http://blogs.msdn.com/pointofservice/archive/tags/POSReady/default.aspx">POSReady</category></item><item><title>Interfacing with Biometric Devices from POS applications</title><link>http://blogs.msdn.com/pointofservice/archive/2009/09/23/interfacing-with-biometric-devices-from-pos-applications.aspx</link><pubDate>Wed, 23 Sep 2009 19:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9898515</guid><dc:creator>posblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/pointofservice/comments/9898515.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pointofservice/commentrss.aspx?PostID=9898515</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Support for Biometric devices (such as fingerprint readers) was added to the Unified POS specification and incorporated into Microsoft’s POS for .NET in version 1.10.&amp;nbsp; This device category allows applications to interface with such devices and is helpful in capturing and verifying biometric data (such as a finger print).&amp;nbsp; This blog will attempt to describe one possible way to interface with this device using POS for .NET.&amp;nbsp; As always, the developer should first carefully read and understand the Unified POS specification for this device category before attempting to interface with the device (See chapter 5 of &lt;/FONT&gt;&lt;A href="http://www.nrf-arts.org/UnifiedPOS/default.htm"&gt;&lt;FONT face=Calibri size=3&gt;Unified POS specification v1.13&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;).&amp;nbsp; Also, before you interface with a physical device, you must install a .NET Service Object for the device (contact the hardware vendor to get the .NET service object).&amp;nbsp; Note that legacy OPOS based service objects are &lt;I&gt;not&lt;/I&gt; supported for this device category, one must have a .NET Service Object for this device.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;First, an application will want to know what biometric devices are available.&amp;nbsp; This can be done using the PosExplorer class.&amp;nbsp; For example, to get an ArrayList of all Biometric devices, one would do the following:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Create an instance of an explorer synchronizes events to the main form's thread.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; explorer = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;PosExplorer&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Create a list of all available biometric devices and bind them to the list box&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; biometricList = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;ArrayList&lt;/SPAN&gt;(explorer.GetDevices(&lt;SPAN style="COLOR: #2b91af"&gt;DeviceType&lt;/SPAN&gt;.Biometrics)); &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Next, an application may want to register for the DeviceAddedEvent and the DeviceRemovedEvent.&amp;nbsp; Doing so will allow the application to respond to plug-n-play events for the device.&amp;nbsp; Once the application has a device, it will need to do the normal open, claim, and enable as well as subscribe to the required events.&amp;nbsp; This can be done as follows:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Create an instance of the device, open and claim it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice = (&lt;SPAN style="COLOR: #2b91af"&gt;Biometrics&lt;/SPAN&gt;)explorer.CreateInstance(selectedDevice);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.Open();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.Claim(1000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// Enable the device, subscribe to date events,&amp;nbsp; and enable data events&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.DeviceEnabled = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.DataEvent += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DataEventHandler&lt;/SPAN&gt;(activeDevice_DataEvent);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.ErrorEvent += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DeviceErrorEventHandler&lt;/SPAN&gt;(activeBiometric_ErrorEvent);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.DataEventEnabled = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; activeBiometricDevice.StatusUpdateEvent += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;StatusUpdateEventHandler&lt;/SPAN&gt;(BiometricsStatusUpdateEvent);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;The above snippet will open, claim, and enable the device.&amp;nbsp; It will then subscribe to desired events and will enable data events.&amp;nbsp; Once this is done one can use the device as desired.&amp;nbsp; &amp;nbsp;Typically, one will use the beginEnrollCapture() method in order to capture biometric data for a given user.&amp;nbsp; This method customarily results in a series of biometric data captures aggregated together returned in the final form of a BIR (see “beginEnrollCapture” method in the UPOS specification for more detail). &amp;nbsp;&amp;nbsp;Status update events may be provided to instruct the user what actions are required during this process.&amp;nbsp; Status information may include indications such as:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;StatusSensorReady – typically indicates that the device is ready for the user to swipe their finger or provide other biometric data&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;StatusSensorComplete – indicates that the biometric data has been captured&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;StatusMoveSlower – Indicates that the user needs to move slower&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;After issuing a beginEnrollCapture method one will wish to save the data in the &lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;BiometricsInformationRecord &lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;property that is available after a data event.&amp;nbsp; This data is associated with the user providing the biometric input and will be used to identify the person when attempting to verify the user. &amp;nbsp;&amp;nbsp;In order to identify a person, one needs to issue a BeginVerifyCapture command to the device.&amp;nbsp; Again Status update events may be provided as well as a data event (if desired, one can &amp;nbsp;end the operation by issuing an EndCapture command).&amp;nbsp; In response to the data event, the application can then pass a list of BiometricsInformationRecord data to the service object via the IdentifyMatch() method to determine if the biometric data provided by the user matches any contained within the list.&amp;nbsp; This can be done as follows:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'"&gt;List&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;SPAN style="COLOR: #2b91af"&gt;BiometricsInformationRecord&lt;/SPAN&gt;&amp;gt; birs = /* Your list of BIR data */&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;int&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;[] order = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;activeBiometricDevice.IdentifyMatch(50, 0, &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;, &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;activeBiometricDevice.BiometricsInformationRecord /* current biometric data to match */,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;birs /* list of biometric data to check for match*/ );&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Where order[] is a list that identifies all users where the biometric data provided matches within the criteria range specified. &amp;nbsp;&amp;nbsp;Well, that is pretty much all that is needed in order to get biometric data from a user (in the form of a BIR) and then to later verify that the biometric data matches a previously provided BIR.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898515" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pointofservice/archive/tags/POS+for+.NET/default.aspx">POS for .NET</category><category domain="http://blogs.msdn.com/pointofservice/archive/tags/Misc/default.aspx">Misc</category></item><item><title>Ever wonder what it takes to release products at Microsoft?</title><link>http://blogs.msdn.com/pointofservice/archive/2007/05/30/ever-wonder-what-it-takes-to-release-products-at-microsoft.aspx</link><pubDate>Thu, 31 May 2007 01:37:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2994490</guid><dc:creator>posblog</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/pointofservice/comments/2994490.aspx</comments><wfw:commentRss>http://blogs.msdn.com/pointofservice/commentrss.aspx?PostID=2994490</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Before I came to Microsoft, we always joked about the quality of the software products – “Don’t use V1.0” – everyone has heard that.&amp;nbsp; But now that I’m at Microsoft, I see what goes on behind the scenes to try to make sure the products are release quality before customers get their hands on them. It’s pretty impressive.  &lt;p&gt;Like any company, Microsoft balances shipping products that people want (and often demand!), and ensuring there very few bugs. Everyone knows the longer you test a product, ideally the fewer bugs are in it when it ships. On the other hand, the longer you test, the less chance you get to make the window of opportunity!  &lt;p&gt;First of all, products are built every day. Microsoft builds “from-source” using timestamps in the source control system to ensure they can re-build a product, in a known way. Products are not only compiled and linked, they are built several ways: release-quality, debug-quality, code-coverage, and up to 6 different ways to inform developers and testers that the code being shipped is of reasonable quality, and meets the legal requirements set by Microsoft. Additionally, each day localized versions of the product have to be produced, and frequently each build is run through a set of Build Verification Tests (automated tests to inform the team that the build made the “first cut” or not).  &lt;p&gt;Once the product is “built”, it is then&amp;nbsp;tested using more automation than I’ve ever seen outside Microsoft. The tests cover the GUI and the API parts of the product. Every day, someone on the product team looks over those results and ensures they mean something, and are not just a set of percentages. The automated testing is designed to make sure that the maximum amount of code-paths are executed to ensure the highest ship quality possible. Not many companies invest the time it takes for developers to write test cases, but Microsoft does - it’s a serious investment in product quality!  &lt;p&gt;Manual testing is happening all the time. Because testers are familiar with the product objectives, they catch lots of things that the automated tests don’t. Also, they sit in the same area as the developers, so there is rapid closure of many issues. Testers are often engaged before the product has been formally built the first time – I know that sounds crazy, but by starting early, reviewing what the developers are going to do, and planning the tests cases ahead of time, the testers stay in-step with developers as the product development cycle progresses.  &lt;p&gt;Every product team has a third set of people to ensure the overall product metrics are met. The Test Leads, Development Leads, and Program Managers regularly meet to review all bugs, and ensure progress is being made. This helps us balance business objectives with product quality. Several times quality issues will force a reevaluation of ship schedule, which tells me Microsoft is serious about quality.  &lt;p&gt;Many products go through a “dogfood” phase prior to release – which means that the people inside Microsoft use the product just like customers and provide critical feedback to the development team. Before formal release to customers, Microsoft has a variety of programs in place to allow previews of upcoming releases so customers get a “front row seat” with the product – again, to ensure higher quality in the shipping product!  &lt;p&gt;And finally, Microsoft ships the product! But the quality doesn’t stop there – there is a massive amount of personnel supporting all these products that have reached the customer!  &lt;p&gt;When you think about all the processes used to ensure one product gets out the door to meet the market demand and quality metrics, it becomes truly impressive when you look at the list of products that have shipped to know that all these metrics are applied to every product.  &lt;p&gt;Thanks for letting me give you an inside tour of Microsoft release quality!  &lt;p&gt;- &lt;a href="http://blogs.msdn.com/pointofservice/pages/bruce-s-bio.aspx"&gt;Bruce&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2994490" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/pointofservice/archive/tags/Misc/default.aspx">Misc</category></item></channel></rss>