<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8615869372543931037</id><updated>2012-02-04T05:50:24.788-08:00</updated><category term='Web Services On Devices'/><category term='malwarebytes'/><category term='Firefox 4'/><category term='Hutch Vodafone Connection'/><category term='Plugins'/><category term='Cell Phone Troubleshooting'/><category term='Firefox Plugin'/><category term='ave.exe malware removal'/><category term='Total Call Time'/><category term='Data Execution Prevention'/><category term='BSNL CDMA 1x NIC Card'/><category term='Slider Count'/><category term='WSDAPIs'/><category term='BSNL EVDO Data Card'/><category term='WS Discovery'/><category term='Vista Security Tool 2010 malware removal'/><category term='Sony Ericsson Mobile Phine'/><category term='DEP'/><category term='Function Discovery'/><category term='XPCOM APIs'/><category term='Microsoft Windows 7'/><title type='text'>Tech Baraha</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-8604115022916418398</id><published>2011-12-26T01:55:00.000-08:00</published><updated>2011-12-26T01:57:23.945-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Execution Prevention'/><category scheme='http://www.blogger.com/atom/ns#' term='DEP'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Windows 7'/><title type='text'>Workaround for old Firefox Plugins crashing on Windows 7</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;I had an old plugin which was working fine in Windows XP. When I moved to Windows 7, this plugin kept crashing whenever opened. After a while, I was able to find a workaround for making this plugin work.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dPVSynr9Yu8/TvhDNkPQXAI/AAAAAAAACJE/shcs0EKQLFE/s1600/Windows7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Windows 7" border="0" src="http://3.bp.blogspot.com/-dPVSynr9Yu8/TvhDNkPQXAI/AAAAAAAACJE/shcs0EKQLFE/s1600/Windows7.jpg" title="Windows 7" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;The answer lies in &lt;a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention"&gt;DEP &lt;/a&gt;(Data Execution Prevention). This feature was enabled in my Windows 7 machine. After I disable this feature I was able to run my plugin in Firefox. Here is how you can disable DEP in Windows 7.&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;1. Go to command prompt&lt;br /&gt;2. Execute the command &lt;b&gt;bcdedit /set nx AlwaysOff&lt;/b&gt;&lt;br /&gt;3. Reboot the machine (rebooting is required for the above setting to reflect)&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;Ideally with DEP enabled, if you want to run your plugin, you have to build the plugin with the latest version of Windows SDK.&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-8604115022916418398?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/8604115022916418398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=8604115022916418398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/8604115022916418398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/8604115022916418398'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2011/12/firefox-plugin-on-windows-7-workaround.html' title='Workaround for old Firefox Plugins crashing on Windows 7'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-dPVSynr9Yu8/TvhDNkPQXAI/AAAAAAAACJE/shcs0EKQLFE/s72-c/Windows7.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-795793546310526337</id><published>2011-06-17T08:16:00.000-07:00</published><updated>2011-06-17T09:15:39.281-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XPCOM APIs'/><category scheme='http://www.blogger.com/atom/ns#' term='Plugins'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox 4'/><title type='text'>How to make your old plugins work with Firefox 4?</title><content type='html'>&lt;div style="TEXT-ALIGN: justify; LINE-HEIGHT: 1.5"&gt;I had a old plugin, which was working fine with Firefox 3.6. When I upgraded to Firefox 4.0.1, it suddenly stopped working. Firefox was listing it in the list of plugins installed and pointing to the right dll to load. Googling for this issue did not help. Also, tried replicating the registry entries similar to the ones in the machine which had Firefox 3.6 installed. No, it also did not work out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-1QwkXgd8FyE/Tft8PoF7dmI/AAAAAAAACCU/p2Tlr4iyihE/s1600/logo-wordmark-version-4.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 90px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5619221567976994402" border="0" alt="" src="http://3.bp.blogspot.com/-1QwkXgd8FyE/Tft8PoF7dmI/AAAAAAAACCU/p2Tlr4iyihE/s320/logo-wordmark-version-4.png" /&gt;&lt;/a&gt;From &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653"&gt;Process Explorer&lt;/a&gt;, came to know that Firefox 4.0.1 was not at all loading the dll. Then I looked into the Firefox logs to see what exactly is going on with this plugin dll.&lt;br /&gt;[ Use the following commands to get the Firefox browser logs in file c:\plugins.log.&lt;br /&gt;C:\&amp;gt; set NSPR_LOG_MODULES=all:5&lt;br /&gt;C:\&amp;gt; set NSPR_LOG_FILE=c:\plugins.log&lt;br /&gt;C:\&amp;gt; cd C:\Program Files\Mozilla Firefox&lt;br /&gt;C:\&amp;gt; firefox.exe ]&lt;br /&gt;&lt;br /&gt;To my surprise, Firefox was actually loading the plugin dll. But immediately it was unloading it. Then I put debug logs in all the plugin implemented APIs, to see what was going wrong. Finally found out that in &lt;em&gt;NPP_Initialize()&lt;/em&gt;, I was calling &lt;em&gt;NS_GetServiceManager()&lt;/em&gt;, an &lt;a href="https://developer.mozilla.org/en/xpcom_api_reference"&gt;XPCOM API&lt;/a&gt; to get a reference to the XPCOM service manager. It was failing to get the reference and &lt;em&gt;NPP_Initialize()&lt;/em&gt; was returning &lt;em&gt;NPERR_GENERIC_ERROR&lt;/em&gt; to the browser. Cause of the issue is thus found out. Looking for solutions in Google again, I hit on the &lt;a href="http://www.codeproject.com/KB/miscctrl/XPCOM_Creation.aspx?display=Mobile"&gt;code project link&lt;/a&gt;, which explained two ways of getting the reference for XPCOM service manager. One, I was using in my plugin using the XPCOM API, &lt;em&gt;&lt;a href="https://developer.mozilla.org/en/NS_GetServiceManager"&gt;NS_GetServiceManager()&lt;/a&gt;&lt;/em&gt;. The other one used the XPCOM API &lt;em&gt;&lt;a href="https://developer.mozilla.org/en/NS_InitXPCOM2"&gt;NS_InitXPCOM2()&lt;/a&gt;&lt;/em&gt;. Tried this one. Wow, it worked!&lt;br /&gt;&lt;br /&gt;You can surely try this solution, if you are looking for solutions as to why your old plugin is not working in Firefox 4.0.1. See you then. Happy debugging!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-795793546310526337?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/795793546310526337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=795793546310526337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/795793546310526337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/795793546310526337'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2011/06/making-old-plugins-work-with-firefox-4.html' title='How to make your old plugins work with Firefox 4?'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-1QwkXgd8FyE/Tft8PoF7dmI/AAAAAAAACCU/p2Tlr4iyihE/s72-c/logo-wordmark-version-4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-7764574939275299952</id><published>2010-05-30T07:51:00.000-07:00</published><updated>2010-05-30T08:09:25.821-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ave.exe malware removal'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista Security Tool 2010 malware removal'/><category scheme='http://www.blogger.com/atom/ns#' term='malwarebytes'/><title type='text'>How to remove Vista Security Tool 2010/ave.exe malware from your system?</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;Recently, my laptop got infected by Vista Security tool virus. Virus as such pops up a window, which looks like a genuine security update from Mircrosoft. When you click for the installation of the update, the virus simulates a list of viruses currently active in your system and asks you to download certain anti virus tool to clean up.&lt;br /&gt;&lt;br /&gt;Worst thing, it will not allow you to access the internet through IE or Firefox. I got frustrated first few minutes but then started look at the processes active currently on my system. I was surprised to find the process by name ave.exe. I tried killing that process and starting Firefox. Voila, it worked. Then when I started searching for this ave.exe on the net, I found it was a &lt;a href="http://en.wikipedia.org/wiki/Malware"&gt;malware&lt;/a&gt;. The following link provided useful information and I was able to remove the virus from my system after installing and executing the Malware bytes Anti-Malware software&lt;br /&gt;&lt;a href="http://www.myantispyware.com/2010/03/19/how-to-remove-ave-exe-malware/"&gt;http://www.myantispyware.com/2010/03/19/how-to-remove-ave-exe-malware/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the steps given in the above link, for step 1, there are 2 methods you can follow. I followed the first method. You can follow subsequent the instructions in the above link to completely remove the ave.exe malware from your system.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jTEO63-CIhM/TAJ9dMabkZI/AAAAAAAAB3A/W3S48buOBYE/s1600/MalwareBytesScanResults.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 239px;" src="http://4.bp.blogspot.com/_jTEO63-CIhM/TAJ9dMabkZI/AAAAAAAAB3A/W3S48buOBYE/s400/MalwareBytesScanResults.jpg" alt="" id="BLOGGER_PHOTO_ID_5477078037337706898" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-7764574939275299952?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/7764574939275299952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=7764574939275299952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/7764574939275299952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/7764574939275299952'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/05/removing-aveexe-malware-from-your-pc.html' title='How to remove Vista Security Tool 2010/ave.exe malware from your system?'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jTEO63-CIhM/TAJ9dMabkZI/AAAAAAAAB3A/W3S48buOBYE/s72-c/MalwareBytesScanResults.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-2230646849376108788</id><published>2010-03-28T10:16:00.000-07:00</published><updated>2010-03-28T10:33:17.897-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Slider Count'/><category scheme='http://www.blogger.com/atom/ns#' term='Cell Phone Troubleshooting'/><category scheme='http://www.blogger.com/atom/ns#' term='Total Call Time'/><category scheme='http://www.blogger.com/atom/ns#' term='Sony Ericsson Mobile Phine'/><title type='text'>Finding Out Slider Count and Total Call Time in Sony Ericsson Mobile Phone</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;Have you ever wanted to find out, how many times you have slided your Sony Ericsson slider phone(or slider count)? or Total call time of your Sony Ericsson mobile? Well, you find that out and more, with few key presses in your mobile.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jTEO63-CIhM/S6-Pn-ZIVJI/AAAAAAAAByQ/wU0RaSE8YFE/s1600/W995a-main.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 184px;" src="http://1.bp.blogspot.com/_jTEO63-CIhM/S6-Pn-ZIVJI/AAAAAAAAByQ/wU0RaSE8YFE/s320/W995a-main.jpg" alt="" id="BLOGGER_PHOTO_ID_5453735590695031954" border="0" /&gt;&lt;/a&gt;&lt;li&gt;&lt;div style="line-height: 1.5; text-align: justify;"&gt;Press the keys in the following order in your Sony Ericssson mobile phone - Right Navigation Key + '*' key + Left Navigation Key + Left Navigation Key + '*' key + Left Navigation Key + '*' key.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;After you press the above keys, Service menu comes up on the mobile screen.&lt;/li&gt;&lt;li&gt;For finding out the slider count, Go to Service Info -&gt; Slider Count.&lt;/li&gt;&lt;li&gt;For finding out the total call time of the mobile, Go to Service Tests -&gt; Total Call time.&lt;/li&gt;&lt;li&gt;Apart from these, you can find the Model Info, Software  Info, Configuration Info from 'Service info' menu item. You can also run tests to see the working of Main Display, LED/Illumination, Keys, Speaker, Earphone, Microphone, Vibrating Alert, Camera, Video Call Camera, Flash LED, FM Radio from 'Service tests' menu item.&lt;/li&gt;&lt;li&gt;To come out of Service menu, press the End Call key.&lt;/li&gt;P.S: The above tests were done on Sony Ericsson W705 and W550i.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-2230646849376108788?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/2230646849376108788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=2230646849376108788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/2230646849376108788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/2230646849376108788'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/slider-count-total-call-time-in-sony.html' title='Finding Out Slider Count and Total Call Time in Sony Ericsson Mobile Phone'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jTEO63-CIhM/S6-Pn-ZIVJI/AAAAAAAAByQ/wU0RaSE8YFE/s72-c/W995a-main.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-8679574325935390093</id><published>2010-03-24T09:58:00.000-07:00</published><updated>2010-03-28T10:44:06.856-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hutch Vodafone Connection'/><category scheme='http://www.blogger.com/atom/ns#' term='Cell Phone Troubleshooting'/><title type='text'>What to do when you are unable to make outgoing calls from your Hutch/Vodafone SIM?</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;What is your immediate reaction when you are unable to make any calls from your cell phone. Frustrated? That was how I felt 2 days ago, when I was unable to make any outgoing calls from my mobile phone from a prime location in Bangalore. Electronic gadgets have made us over dependent on them nowadays.&lt;br /&gt;&lt;br /&gt;My initial reaction was to restart the cell phone. No, it did not work. Then I tried switching off the phone, removing the battery and SIM card, put them back again to see if it works. No, it also didn't work. After half an hour or so, when I tried to make a call, I was able to do so. But it was not because of the tasks I did above.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jTEO63-CIhM/S6pFq9QWLGI/AAAAAAAABwA/IBjqjSOLT4g/s1600/W705_prod_topic_mediaspace_img.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 130px; height: 299px;" src="http://2.bp.blogspot.com/_jTEO63-CIhM/S6pFq9QWLGI/AAAAAAAABwA/IBjqjSOLT4g/s400/W705_prod_topic_mediaspace_img.png" alt="Sony Ericsson w705 cell phone" id="BLOGGER_PHOTO_ID_5452246903185353826" border="0" /&gt;&lt;/a&gt;Later I came to know that though the network icon in the phone showed full coverage when I tried restarting the phone or removing the battery/SIM, it was not so. In such cases,  updation of the SIM card will do the trick. I use Hutch/Vodafone connection.&lt;br /&gt;&lt;br /&gt;Following are the steps you might want to follow to resolve the issue.&lt;br /&gt;&lt;li&gt;Go to Hutch Plus menu in your mobile phone.&lt;/li&gt;&lt;li&gt;Select Hutch Roam.&lt;/li&gt;&lt;li&gt;Select Hutch.&lt;/li&gt;&lt;li&gt;A Message will be displayed - 'SIM card update starts...', Select OK&lt;/li&gt;&lt;li&gt;One more message will be displayed - 'Allow SIM Update? Phone will restart', Select OK&lt;/li&gt;&lt;li&gt;After you do this you will see, 'Inactive SIM', in place of operator logo Hutch.&lt;/li&gt;&lt;li&gt;Phone will restart after few seconds and network coverage icon is shown on your cell phone.&lt;/li&gt;You should now be able to make outgoing calls.&lt;br /&gt;P.S: The above procedure has been tested only on Home network of Hutch and not in Hutch Roaming.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-8679574325935390093?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/8679574325935390093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=8679574325935390093' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/8679574325935390093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/8679574325935390093'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/resolving-no-outgoing-calls-issue-from.html' title='What to do when you are unable to make outgoing calls from your Hutch/Vodafone SIM?'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jTEO63-CIhM/S6pFq9QWLGI/AAAAAAAABwA/IBjqjSOLT4g/s72-c/W705_prod_topic_mediaspace_img.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-5423596331314085418</id><published>2010-03-21T06:46:00.001-07:00</published><updated>2010-03-21T06:56:19.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BSNL EVDO Data Card'/><category scheme='http://www.blogger.com/atom/ns#' term='BSNL CDMA 1x NIC Card'/><title type='text'>BSNL EVDO Data card availability only on paper!</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;If you had noticed the ads by BSNL in newspapers, featuring ever smiling Deepika Padukone and Abhinav Bindra, about the EVDO Data Cards they are offering now for discounted prices, you tend to believe that the EVDO Data cards are readily available. As per the ad, for customers activating the EVDO postpaid unlimited data plan till 31st March 2010, fixed monthly rental will be Rs.750 instead of Rs.999. Though there are intial charges like Activation Charges(Rs.500), price of Data Card(Rs.3500)/monthly rental for the card(Rs.200) and refundable security deposit(Rs.1000), it seemed like a good bet. But when you do a reality check by contacting the BSNL Customer Service Center, the story is entirely different.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jTEO63-CIhM/S6Yjo8dKGWI/AAAAAAAABv4/5J7BH5vc3qc/s1600-h/BSNL_Evdo_card_Ad.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 319px;" src="http://2.bp.blogspot.com/_jTEO63-CIhM/S6Yjo8dKGWI/AAAAAAAABv4/5J7BH5vc3qc/s400/BSNL_Evdo_card_Ad.jpg" alt="Deepika Padukone and Abhinav Bindra in BSNL EVDO Card Ad" id="BLOGGER_PHOTO_ID_5451083585308727650" border="0" /&gt;&lt;/a&gt;When I contacted the Executive at BSNL Customer Service Center at Vijayanagar, Bangalore, he said there are no EVDO Data cards available as of now. Though the ads are in place, they say they have not been supplied enough EVDO Data Cards. Instead he offers me a NIC(Network Interface card), with max speed upto 144 kbps. Well, why do I go for that, when my BSNL Broadband connection(Dataone) offers much more than that speed(256 kbps). He adds that though the max speed is 144 kbps, NIC average speed may be upto 100 kbps. Then, when I tell the area where I reside, he reduces average speed further. BSNL NIC Card uses CDMA 1x technology, predecessor of CDMA 1x EVDO, offers speed upto 144 kbps whereas BSNL EVDO Card offers upto 3.1 Mbps. BSNL Customer Service executive also informed that the average speed offered by EVDO Card can be upto 1 Mbps. Voila, who would not want such a speed on a wireless internet card!&lt;br /&gt;&lt;br /&gt;Well, my main intention was to get EVDO Data Card which offers higher speed than the BSNL broadband. More importantly, I am fed up with the frequent connection lost scenarios with BSNL Broadband. Also, pricewise current discount matches with the unlimited usage offer by BSNL Broadband Dataone connection, I am currently having for Rs.750. Hoping for the things to improve at BSNL.&lt;br /&gt;&lt;br /&gt;For FAQs on NIC and EVDO Cards by BSNL, you can visit this &lt;a href="http://www.bsnl.co.in/faq/faqans.php?fstring=&amp;amp;fcategory=EVDO&amp;amp;submit=Go#top"&gt;BSNL link&lt;/a&gt; and for the tariff plans, click &lt;a href="http://www.bsnl.co.in/service/internet_on_cdma.htm"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-5423596331314085418?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/5423596331314085418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=5423596331314085418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/5423596331314085418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/5423596331314085418'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/bsnl-evdo-data-card-availability-in.html' title='BSNL EVDO Data card availability only on paper!'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jTEO63-CIhM/S6Yjo8dKGWI/AAAAAAAABv4/5J7BH5vc3qc/s72-c/BSNL_Evdo_card_Ad.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-1510538956926919236</id><published>2010-03-19T11:16:00.000-07:00</published><updated>2010-03-19T11:32:40.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services On Devices'/><category scheme='http://www.blogger.com/atom/ns#' term='WS Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Function Discovery'/><title type='text'>Web Services On Devices : WS Discovery using Function Discovery in Windows Vista</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Function Discovery APIs for performing WS Discovery:&lt;br /&gt;&lt;/span&gt;Function Discovery APIs in Windows Vista, provides a uniform programmatic interface for enumerating system resources, such as hardware devices, whether they are local or connected through a network. It enables applications to discover and manage lists of devices or objects sorted by functionality or class. Function Discovery supports an extensible discovery provider model. The providers included in the system provide an abstraction layer over existing standards such as Plug and Play (PnP), SSDP, WS-Discovery, and the registry. To find more about Function Discovery visit the following links:&lt;br /&gt;Function Discovery - &lt;a href="http://msdn.microsoft.com/en-us/library/aa814070.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa814070.aspx&lt;br /&gt;&lt;/a&gt;Retrieving all function instances in a Category - &lt;a href="http://msdn.microsoft.com/en-us/library/aa364810%28VS.85%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa364810(VS.85).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WS-Discovery:&lt;/span&gt;&lt;br /&gt;Windows SDK 6.1 comes with a sample program demonstrating the use of Function Discovery API. The sample can be found in the following path - “windows SDK folder\Samples\NetDs\FunctionDiscovery”. This sample program discovers PnP devices on the network.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Modifying the Sample Program to discover WSD devices on the network: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CMyFDHelper class :&lt;/span&gt; &lt;span style="font-style: italic;"&gt;CMyFDHelper&lt;/span&gt; (in &lt;span style="font-style: italic;"&gt;FunctionDiscovery.h&lt;/span&gt;) is a helper class and is derived from &lt;span style="font-style: italic;"&gt;CfunctionDiscoveryNotificationWrapper.&lt;/span&gt; &lt;span style="font-style: italic;"&gt;CMyFDHelper&lt;/span&gt; class implements &lt;span style="font-style: italic;"&gt;OnUpdate, OnError, OnEvent&lt;/span&gt; callback functions of parent class – &lt;span style="font-style: italic;"&gt;CfunctionDiscoveryNotificationWrapper&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Create Instance Collection Query :&lt;/span&gt; &lt;span style="font-style: italic;"&gt;HRESULT CMyFDHelper::ListFunctionInstances( const WCHAR* pszCategory )&lt;/span&gt; lists all the devices of &lt;span style="font-style: italic;"&gt;pszCategory&lt;/span&gt; found. Here,  it creates an Instance Collection query by calling &lt;span style="font-style: italic;"&gt;CreateInstanceCollectionQuery&lt;/span&gt; of &lt;span style="font-style: italic;"&gt;IFunctionDiscovery&lt;/span&gt;. Pass first parameter &lt;span style="font-style: italic;"&gt;pszCategory&lt;/span&gt; as &lt;span style="font-style: italic;"&gt;FCTN_CATEGORY_WSDISCOVERY&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add a constraint to Query  :&lt;/span&gt; &lt;span style="font-style: italic;"&gt;IFunctionInstanceCollectionQuery *pQuery&lt;/span&gt; is the query created. Add constraint to the query for searching only WSD printers.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;hr = pQuery-&gt;AddQueryConstraint(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    PROVIDERWSD_QUERYCONSTRAINT_TYPE,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    L"http://schemas.microsoft.com/windows/2006/08/wdp/print/PrintDeviceType" ); &lt;/span&gt;&lt;br /&gt;To find more about AddQueryConstraint go to - &lt;a href="http://msdn.microsoft.com/en-us/library/aa364366%28VS.85%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa364366(VS.85).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Execute the Query and Count of instances: &lt;/span&gt;This is done by calling execute function on pQuery. Since  WSD Providers only return instances through the &lt;span style="font-style: italic;"&gt;IFunctionDiscoveryNotification &lt;/span&gt;interface, &lt;span style="font-style: italic;"&gt;dwCount&lt;/span&gt; in statement - &lt;span style="font-style: italic;"&gt;pCollection-&gt;GetCount( &amp;amp;dwCount ); &lt;/span&gt;will be zero. So, return from here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IFunctionDiscoveryNotification interface :&lt;/span&gt; In &lt;span style="font-style: italic;"&gt;CMyFDHelper:: Initialize(), IFunctionDiscoveryNotification&lt;/span&gt; interface Functions - &lt;span style="font-style: italic;"&gt;OnUpdate, OnError, OnEvent&lt;/span&gt; are implemented in &lt;span style="font-style: italic;"&gt;CMyFDHelper&lt;/span&gt;. So when the Function discovery APIs detect the presence of WSD devices in the network, &lt;span style="font-style: italic;"&gt;OnUpdate &lt;/span&gt;callback function in &lt;span style="font-style: italic;"&gt;CMyFDHelper&lt;/span&gt; class will be called.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In HRESULT CMyFDHelper::OnUpdate(),&lt;/span&gt; there is a block of code which check what event has occurred(device added, removed or updated). In case of discovery of WSD printer, the event will be added(&lt;span style="font-style: italic;"&gt;QUA_ADD == eAction&lt;/span&gt;). So, in this case, call &lt;span style="font-style: italic;"&gt;CMyFDHelper::DisplayProperties()&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CMyFDHelper::DisplayProperties()&lt;/span&gt; outputs all the properties of the particular device. There is a switch case block where there is case for &lt;span style="font-style: italic;"&gt;VT_LPWSTR&lt;/span&gt;. Check for &lt;span style="font-style: italic;"&gt;pszKeyName &lt;/span&gt;is &lt;span style="font-style: italic;"&gt;PNPX_GlobalIdentity&lt;/span&gt;. If it is so, extract the key value. Key value is &lt;span style="font-style: italic;"&gt;UUID.&lt;/span&gt; Store this value which will be later required for the creation of Device proxy.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-1510538956926919236?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/1510538956926919236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=1510538956926919236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/1510538956926919236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/1510538956926919236'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/ws-discovery-using-function-discovery.html' title='Web Services On Devices : WS Discovery using Function Discovery in Windows Vista'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-6694680880724067231</id><published>2010-03-17T07:59:00.000-07:00</published><updated>2010-03-19T11:31:48.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services On Devices'/><title type='text'>Web Services on Devices : Developing a Print Client in Windows Vista</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;With WSDAPIs generated in previous post, we can now start developing a Print client.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How do I start developing a Print Client?&lt;br /&gt;&lt;/span&gt;For the Print Client to communicate with a WSD Printer, first it has to discover the WSD Printers on the network. For knowing about discovering the Printers on the network and getting the UUID – universally unique identifier for the printer, refer to the sample Function Discovery program in the following path - "Folder where windows SDK is installed\Samples\NetDs\FunctionDiscovery".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Discovering the Printers on the network and getting the UUID :&lt;/span&gt;&lt;li&gt;Sample program defines &lt;span style="font-style: italic;"&gt;CMyFDHelper&lt;/span&gt; class which is used to discover PnP devices on the network. This can be tweaked to discover WSD Printers on the network.&lt;/li&gt;&lt;li&gt;Call  &lt;span style="font-style: italic;"&gt;HRESULT CoInitializeEx (LPVOID pvReserved, DWORD dwCoInit)&lt;/span&gt; with &lt;span style="font-style: italic;"&gt;pvReserved = NULL&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;dwCoInit = COINIT_MULTITHREADED&lt;/span&gt; from &lt;span style="font-style: italic;"&gt;main()&lt;/span&gt;; (Ref - &lt;a href="http://msdn.microsoft.com/en-us/library/ms886306.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms886306.aspx&lt;/a&gt; ).This function initializes the Component Object Model (COM) for use by the current thread. Applications are required to use &lt;span style="font-style: italic;"&gt;CoInitializeEx&lt;/span&gt; before they make any other COM library calls except for memory allocation functions.&lt;/li&gt;&lt;li&gt;For the exact changes to be made in &lt;span style="font-style: italic;"&gt;CMyFDHelper&lt;/span&gt; class to discover WSD devices, please wait for my next &lt;a href="http://techbaraha.blogspot.com/2010/03/ws-discovery-using-function-discovery.html"&gt;post on WS Discovery&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Call &lt;span style="font-style: italic;"&gt;::CoUninitialize();&lt;/span&gt;&lt;/li&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Creating Service Proxy and sending messages to the server:&lt;/span&gt;(Refer to the File Service example in Windows SDK folder, mentioned earlier)&lt;li&gt;Create a UUID for client by calling &lt;span style="font-style: italic;"&gt;UuidCreate()&lt;/span&gt; function. Convert the obtained UUID to string format.&lt;/li&gt;&lt;li&gt;Create a Service proxy by calling &lt;span style="font-style: italic;"&gt;CreateCPrinterServiceTypeProxy(LPCWSTR pszDeviceAddress, LPCWSTR pszLocalAddress, CPrinterServiceTypeProxy** ppProxyOut, IWSDXMLContext** ppContextOut)&lt;/span&gt; [defined in PrinterServiceTypeProxy.cpp, LPCWSTR is wchar*] passing UUIDs of device/server and client in &lt;span style="font-style: italic;"&gt;pszDeviceAddress&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;pszLocalAddress&lt;/span&gt; respectively.This function returns &lt;span style="font-style: italic;"&gt;CPrinterServiceTypeProxy&lt;/span&gt; which will be used for calling methods on the server. Client calls &lt;span style="font-style: italic;"&gt;CPrinterServiceTypeProxy&lt;/span&gt; methods(like &lt;span style="font-style: italic;"&gt;CreatePrintJob, SendDocument&lt;/span&gt; etc), which have the same interface that of server and they send the commands to the server. Note: We need to create &lt;span style="font-style: italic;"&gt;IWSDDeviceProxy&lt;/span&gt; before creating any &lt;span style="font-style: italic;"&gt;IWSDServiceProxy&lt;/span&gt;(&lt;span style="font-style: italic;"&gt;CPrinterServiceTypeProxy&lt;/span&gt; is of this type and a single device can host multiple services). Creation of device proxy before service proxy is handled at &lt;span style="font-style: italic;"&gt;CreateCPrinterServiceTypeProxy&lt;/span&gt;. [More details on device and service proxies can be found from the following link - &lt;a href="http://blogs.msdn.com/dandris/archive/2008/03/03/wsdapi-101-part-4-the-interfaces-under-the-generated-code.aspx"&gt;http://blogs.msdn.com/dandris/archive/2008/03/03/wsdapi-101-part-4-the-interfaces-under-the-generated-code.aspx&lt;/a&gt; ]&lt;/li&gt;&lt;li&gt;Create a Event Sink class for Server events. Define a class named &lt;span style="font-style: italic;"&gt;CPrinterServiceTypeEventNotify&lt;/span&gt; derived from &lt;span&gt;&lt;span style="font-style: italic;"&gt;IPrinterServiceTypeEventNotify&lt;/span&gt;. Implement the &lt;span style="font-style: italic;"&gt;IPrinterServiceTypeEventNotify&lt;/span&gt;&lt;/span&gt; methods defined as virtual, in this class – &lt;span style="font-style: italic;"&gt;PrinterElementsChangeEvent, JobStatusEvent, JobEndStateEvent&lt;/span&gt;. These are call back functions which will be invoked when the server sends respective events. We can update our structures holding printer, job info in these functions.&lt;/li&gt;&lt;li&gt;Functions defined above will be called if the client is subscribed to the events from server. Call the subscribe functions like &lt;span style="font-style: italic;"&gt;SubscribeToJobStatusEvent&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;SubscribeToJobEndStateEvent&lt;/span&gt; on service proxy i.e &lt;span style="font-style: italic;"&gt;CPrinterServiceTypeProxy&lt;/span&gt; object.(these functions are defined in &lt;span style="font-style: italic;"&gt;PrinterServiceTypeProxy.cpp&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Call the server functions on &lt;span style="font-style: italic;"&gt;CPrinterServiceTypeProxy&lt;/span&gt; object. For example, for &lt;span style="font-style: italic;"&gt;CreatePrintJob&lt;/span&gt; you need to send filled &lt;span style="font-style: italic;"&gt;CREATE_PRINT_JOB_REQUEST_TYPE&lt;/span&gt; structure and &lt;span style="font-style: italic;"&gt;CREATE_PRINT_JOB_RESPONSE_TYPE*&lt;/span&gt; for response. Type definitions for the same can be found in &lt;span style="font-style: italic;"&gt;PrinterServiceTypeTypes.h&lt;/span&gt;&lt;/li&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Resolving the Build Errors in Visual Studio:&lt;/span&gt;&lt;li&gt;Set the project dependencies and build order – Right click on project. Select Project Dependencies. Make sure Client project depends on the project created for Print Schema. Also set the build order as Print Schema project, Client project in the same window opened.&lt;/li&gt;&lt;li&gt;You may get compilation error for not able to find header files like &lt;span style="font-style: italic;"&gt;PrinterServiceTypeProxy.h&lt;/span&gt;. Then check whether you have included the files from project for PrinterServiceSchema. To include them, right click on Projects. Select Properties -&gt; Configuration Properties -&gt; C/C++ -&gt; General -&gt; Additional Include directories and type project directory for PrinterServiceSchema.&lt;/li&gt;&lt;li&gt;You may get linker error (unresolved external symbol) for &lt;span style="font-style: italic;"&gt;UuidCreate()&lt;/span&gt;. If so, check whether you have included &lt;span style="font-style: italic;"&gt;rpcrt4.lib&lt;/span&gt;. To include the same, right click on Project. Select Properties -&gt; Configuration Properties -&gt; Linker -&gt; Command line -&gt; Additional options. Type &lt;span style="font-style: italic;"&gt;rpcrt4.lib&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;If you get linker errors for wsdapi functions make sure you have included &lt;span style="font-style: italic;"&gt;wsdapi.lib&lt;/span&gt;.&lt;/li&gt;With the above steps, you are now ready with the basic Print Client which communicates with the WSD Printer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-6694680880724067231?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/6694680880724067231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=6694680880724067231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/6694680880724067231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/6694680880724067231'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/developing-wsd-based-print-client-in.html' title='Web Services on Devices : Developing a Print Client in Windows Vista'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-6254266556643805489</id><published>2010-03-16T05:45:00.000-07:00</published><updated>2010-03-16T06:12:55.731-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WSDAPIs'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services On Devices'/><title type='text'>Web Services On Devices : Getting WSDAPIs for Print Client</title><content type='html'>&lt;div style="line-height: 1.5; text-align: justify;"&gt;WSDAPI stack provided by Microsoft as part of Windows Rally technologies, is an implementation of &lt;a href="http://en.wikipedia.org/wiki/Devices_Profile_for_Web_Services"&gt;DPWS(Devices Profile for Web Services)&lt;/a&gt;, which defines a minimal set of implementation constraints to enable secure Web Service messaging, discovery, description, and eventing on resource-constrained devices.&lt;br /&gt;&lt;br /&gt;If you had gone through the links, I provided in my first post on Web Services on Devices (&lt;a href="http://techbaraha.blogspot.com/2010/03/web-services-on-devices-set-up.html"&gt;Web Services on Devices : Environment Set Up in Windows Vista&lt;/a&gt;), you would have known by now, what it requires to develop a Web Service Device which hosts Web Service and a Web Service Client, which uses the services hosted on Web Service Device. In this post, I will be explaining how you can develop a Web Services client in Microsoft Windows Vista, using WSDAPIs taking the example of Print Service.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where can I get more information on DPWS, WSDAPIs, Windows Rally Technologies?&lt;/span&gt;&lt;br /&gt;Go to - &lt;a href="http://www.microsoft.com/whdc/connect/rally/rallywsd.mspx"&gt;http://www.microsoft.com/whdc/connect/rally/rallywsd.mspx&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Where can I get the Print Device and Print Service Specifications for implementing Print Service and Print Service Client?&lt;/span&gt;&lt;br /&gt;Go to - &lt;a href="http://www.microsoft.com/whdc/connect/rally/wsdspecs.mspx"&gt;http://www.microsoft.com/whdc/connect/rally/wsdspecs.mspx&lt;/a&gt;, where you can download Specifications and Supporting Files for Print Device and Print Service. These schemas/specification describe the format of data being exchanged between the Web Service and Web Service Client and the interfaces which need to implemented by the Device, which provides the Print Service. After unzipping the zip file downloaded from the above link, you will find WSDPrinterService.wsdl, supporting .xsd files and WSDPrintService.doc explaining the schema. WSDPrintService.doc should give you a fair idea of what it requires to develop a Print Client based on WSD protocol.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Developing a Print Service Client, using the schema/specification just downloaded:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;How do I get WSDAPIs to be called from Print Client?&lt;/span&gt;&lt;br /&gt;Following steps explain how to go about building Print Client.&lt;br /&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;Get WSDPrinterService.wsdl and other .xsd files(Print Service Schema).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;Generate a config file by running WsdCodeGen on WSDPrinterService.wsdl.&lt;/span&gt;&lt;br /&gt;You can find wsdcodegen.exe in "Windows SDK folder\Bin".                                                                      run "wsdcodegen.exe /generateconfig:all WSDPrinterService.wsdl". This command will generate codegen.config. Make sure the directory which contains WSDPrinterService.wsdl also holds all the .xsd files from Print Service Schema as WSDPrinterService.wsdl includes those .xsd files. Otherwise, you will find that message structure elements in PrinterServiceTypeTypes.h (which gets generated in next step) will be empty.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;Generate IDL, C++ and header files.&lt;/span&gt;&lt;br /&gt;run "wsdcodegen.exe /generatecode codegen.config". This command will generate the following files - PrinterServiceType.idl, PrinterServiceTypeProxy.h, PrinterServiceTypeProxy.cpp, PrinterServiceTypeTypes.h, PrinterServiceTypeTypes.cpp and PrinterServiceTypeStub.cpp. These files can be added as a part of Visual Studio project and can be built into a static library (.lib)&lt;/li&gt;&lt;li&gt;You may face problems like – not able to include PrinterServiceType.h in building the above .lib, since PrinterServiceTypeProxy includes PrinterServiceType.h, which contains the definitions for interfaces like CreatePrintJob, SendDocument etc. This and other files – PrinterServiceType_p.c and PrinterServiceType_i.c are generated by MIDL (Microsoft Interface Definition Language) compiler when building the above mentioned .lib. You may notice that, in case of above error, MIDL would have generated PrinterServiceType_h.h in the Project folder. To make sure that MIDL generates PrinterServiceType.h make the following settings changes. In Visual Studio solution explorer, right click on the Project. Select Properties, Configuration Properties, MIDL, Output, Header File. Change the value to $(InputName).h instead of $(InputName)_h.h&lt;/li&gt;&lt;br /&gt;Now you are ready with required WSDAPIs to be called from your Print Client application.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-6254266556643805489?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/6254266556643805489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=6254266556643805489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/6254266556643805489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/6254266556643805489'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/wsdapis-for-developing-ws-print-client.html' title='Web Services On Devices : Getting WSDAPIs for Print Client'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615869372543931037.post-5246962722892920524</id><published>2010-03-15T09:19:00.001-07:00</published><updated>2010-03-15T09:50:37.966-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services On Devices'/><title type='text'>Web Services on Devices : Environment Set Up in Windows Vista</title><content type='html'>&lt;div style="LINE-HEIGHT: 1.5; TEXT-ALIGN: justify"&gt;Web Services on Devices(WSD) is still a new technology as the amount of literature available on the web on developing WSD applications is limited. Here, I am presenting a series of posts, which may help those who are new to WSD.&lt;br /&gt;&lt;br /&gt;Microsoft provides set of WSD APIs for developing WSD Applications from Windows Vista onwards. Here are some FAQs while setting up environment in Vista for WSD Development.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Setting up Windows SDK and Visual Studio environment for developing Web Services on Devices Applications:-&lt;/span&gt;&lt;br /&gt;Best way to set up the required environment is to first install Visual Studio and then Windows SDK. This will avoid the getting into unnecessary problems relating to integrating Windows SDK directory paths to Visual Studio.&lt;br /&gt;Please Note : When I started using WSDAPIs for developing WSD Applications, I had used Windows SDK 6.1 and Microsoft Visual Studio 2008. So, the information provided here pertain to these softwares.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What if I have already installed Windows SDK and now installing Visual Studio?&lt;br /&gt;&lt;/span&gt;Once the Visual Studio installation is complete, follow the instructions in the following Microsoft Windows SDK blog, where you need to use Windows SDK Configuration tool to integrate with the Visual Studio. &lt;a href="http://blogs.msdn.com/windowssdk/archive/2008/03/01/integrating-windows-sdk-and-vs-with-new-sdk-configuration-tool.aspx"&gt;http://blogs.msdn.com/windowssdk/archive/2008/03/01/integrating-windows-sdk-and-vs-with-new-sdk-configuration-tool.aspx&lt;/a&gt;. Make sure you choose the latest version of Windows SDK from configuration tool, in this case 6.1, if you also have older versions of Windows SDK installed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How to validate whether Visual Studio directories were successfully updated with Windows SDK?&lt;br /&gt;&lt;/span&gt;Go to Start, Programs, Microsoft Visual Studio 2008, Visual Studio Tools, Visual Studio 2008 Command Prompt. At the command prompt, type PATH. Check the following path is listed, "dir where Latest Windows SDK was installed\bin"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Where do I start reading about WSDAPIs?&lt;/span&gt;&lt;br /&gt;You can refer to the following blog link by Dan Driscol, a Microsoft developer. &lt;a href="http://blogs.msdn.com/dandris/archive/2007/11/09/wsdapi-101-part-1-web-services-from-10-000-feet.aspx"&gt;http://blogs.msdn.com/dandris/archive/2007/11/09/wsdapi-101-part-1-web-services-from-10-000-feet.aspx&lt;/a&gt;. In case of any doubt, you can drop a comment in his blog post. Usually replies within a day or two.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Where can I find sample programs on WSDAPIs in windows SDK?&lt;/span&gt;&lt;br /&gt;Go to "Folder where windows SDK is installed\Samples\Web\WSDAPI". Here you will find 2 folders: Stock Quote and File Service. Stock Quote is a simple example where Client is calling a method on Service. File Service is more complete example which covers WS Eventing as well. Both examples have code for Client and Service and require Client to know the device address/UUID.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ok, where can I find a sample program where a Client discovers WSD devices on the network?&lt;/span&gt;&lt;br /&gt;Go to "Folder where windows SDK is installed\Samples\NetDs\FunctionDiscovery". This sample program discovers PnP devices on the network. This code can be easily modified to find WSD devices on the network. &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615869372543931037-5246962722892920524?l=techbaraha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techbaraha.blogspot.com/feeds/5246962722892920524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8615869372543931037&amp;postID=5246962722892920524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/5246962722892920524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615869372543931037/posts/default/5246962722892920524'/><link rel='alternate' type='text/html' href='http://techbaraha.blogspot.com/2010/03/web-services-on-devices-set-up.html' title='Web Services on Devices : Environment Set Up in Windows Vista'/><author><name>Raveesh Kumar</name><uri>http://www.blogger.com/profile/02898028390727186228</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_jTEO63-CIhM/TAtad8a6mII/AAAAAAAAB3c/BcOVIgi332g/S220/IMG_7502-1.JPG'/></author><thr:total>0</thr:total></entry></feed>
