Wednesday, May 31, 2017
Download aTube Catcher 3 8 5187 Final Offline Installer Setup PcSoftGuru
Download aTube Catcher 3 8 5187 Final Offline Installer Setup PcSoftGuru
Hello everyone, Welcome again on Samsung Galaxy V Archive, Today i wanna share a SystemUi.apk has been mod look a like Facebook style, This UI has been created by Maz Badri on Official Samsung Galaxy V.

Go to link for download
Download Driver Booster 1 1 Final 2013 Free For Windows PcSoftGuru
Download Driver Booster 1 1 Final 2013 Free For Windows PcSoftGuru
Hello Vivaltorians , I know you all maybe bored if I always post about SystemUI , In this post I wanna give a simple tutorial on how to Disable Signature Check using application called Lucky Patcher , This way is easy way (For Me) To disable signature check without flashing any file on Custom Recovery, So lets get into it
- Download Lucky Patcher APK from the link given above
- Install it as normal APK files
- Once installed, Open it up
- Press menu button or press Toolbox tab
- Then find a option Called "Patch To Android"
- Then now check this three options :
- And after you have done tick these 3 options, Reboot your device.
- Done. If it succesfull , You can see "Patch Applied" like this

Go to link for download
Tuesday, May 30, 2017
Download Internet Download Manager 6 18 Build 7 Final Update Installer PcSoftGuru
Download Internet Download Manager 6 18 Build 7 Final Update Installer PcSoftGuru
(and the internal workings of the Tile Rendering Engine)
This morning, I got an email from one of the users of the Tiled Maps library. He pointed out that although it was easy to place Bitmap overlays at a position on the map, he couldnt figure out how to draw text at that position. His approach was to draw text on a Bitmap and then draw that Bitmap onto the map. The problem he was running into, however, was having a proper transparent background on that Bitmap (Windows Mobile does not support an alpha channel). Although it is possible to do a masked blit in Windows Mobile, this method of drawing text onto a map is not ideal.
If one examines the internals of the Tiled Map Client, you will find that overlays that appear on the map actually have a very flexible abstraction layer around them. The TiledMapSession itself has no internal knowledge of the overlay renderering implementation, in that it does not actually perform the drawing. It is only concerned about the Width and Height, so it can perform proper layout to let the rendering engine (IMapRenderer) to draw the content at the proper location. This is how the Tiled Map Client is flexible enough to perform both 2D and 3D rendering:
/// <summary> /// IMapRenderer provides the methods necessary for a TiledMapSession /// to draw tiles to compose the map, as well as the other content /// that may appear on the map. /// </summary> public interface IMapRenderer { /// <summary> /// Get a IMapDrawable from a stream that contains a bitmap. /// </summary> /// <param name="session">The map session requesting the bitmap</param> /// <param name="stream">The input stream</param> /// <returns>The resultant bitmap</returns> IMapDrawable GetBitmapFromStream(TiledMapSession session, Stream stream); /// <summary> /// Given a IMapDrawable, draw its contents. /// </summary> /// <param name="drawable">The IMapDrawable to be drawn.</param> /// <param name="destRect">The destination rectangle of the drawable.</param> /// <param name="sourceRect">The source rectangle of the drawable.</param> void Draw(IMapDrawable drawable, Rectangle destRect, Rectangle sourceRect); /// <summary> /// Draw a filled rectangle on the map. /// </summary> /// <param name="color">The fill color.</param> /// <param name="rect">The destination rectangle.</param> void FillRectangle(Color color, Rectangle rect); /// <summary> /// Draw a line strip on the map. /// </summary> /// <param name="lineWidth">The width of the line stripe.</param> /// <param name="color">The line strip color.</param> /// <param name="points">The points which compose the line strip.</param> void DrawLines(float lineWidth, Color color, Point[] points); } /// <summary> /// IMapDrawable is the interface used by the Tiled Map Client to represent content /// onto a IMapRenderer. /// IMapDrawable is generally tied to an implementation of IMapRenderer, /// which is responsible for internally representing and rendering the drawable. /// </summary> public interface IMapDrawable : IDisposable { /// <summary> /// The width of the drawable content. /// </summary> int Width { get; } /// <summary> /// The height of the drawable content. /// </summary> int Height { get; } }
So, how do we go from drawing a bitmap to drawing text? The standard/normal implementation and usage of an IMapRenderer is the GraphicsRenderer. The GraphicsRenderer is what facilitates rendering of a TiledMapSession to a System.Drawing.Graphics instance. Lets take a look at its implementation of Draw:
public void Draw(IMapDrawable drawable, Rectangle destRect, Rectangle sourceRect) { IGraphicsDrawable graphicsDrawable = drawable as IGraphicsDrawable; graphicsDrawable.Draw(Graphics, destRect, sourceRect); }
As you can see, it casts the IMapDrawable to an IGraphicsDrawable and calls its implementation of Draw, passing it the Graphics object:
/// <summary> /// IGraphicsDrawable is a type of IMapDrawable that can draw to a /// System.Drawing.Graphics instance. /// </summary> public interface IGraphicsDrawable : IMapDrawable { void Draw(Graphics graphics, Rectangle destRect, Rectangle sourceRect); }
There are two provided implementations of IGraphicsDrawable: WinCEImagingBitmap, which uses the Imaging API to draw bitmaps that contain alpha, and StandardBitmap, which draws a standard System.Drawing.Bitmap. So what we need, is a third implementation, which I called TextMapDrawable. TextMapDrawable will implement IGraphicsDrawable and use Graphics.DrawString to draw text onto the Graphics object.
Heres my implementation of TextMapDrawable:
public class TextMapDrawable : IGraphicsDrawable { static Bitmap myMeasureBitmap = new Bitmap(1, 1, PixelFormat.Format16bppRgb565); static Graphics myMeasureGraphics = Graphics.FromImage(myMeasureBitmap); public float MaxWidth { get; set; } public float MaxHeight { get; set; } Brush myBrush; public Brush Brush { get { return myBrush; } set { myBrush = value; } } bool myDirty = true; string myText; public string Text { get { return myText; } set { myText = value; myDirty = true; } } Font myFont; public Font Font { get { return myFont; } set { myDirty = true; myFont = value; } } #region IGraphicsBitmap Members public void Draw(Graphics graphics, Rectangle destRect, Rectangle sourceRect) { // just ignore source rect, doesnt mean anything in this context. if (CalculateDimensions() && myBrush != null) graphics.DrawString(myText, myFont, myBrush, destRect.X, destRect.Y); } #endregion bool CalculateDimensions() { bool valid = !string.IsNullOrEmpty(myText) && myFont != null; if (myDirty) { myDirty = false; if (valid) { SizeF size = myMeasureGraphics.MeasureString(myText, myFont); myWidth = (int)Math.Ceiling(size.Width); myHeight = (int)Math.Ceiling(size.Height); } else { myWidth = 0; myHeight = 0; } } return valid; } #region IMapBitmap Members int myWidth; public int Width { get { CalculateDimensions(); return myWidth; } } int myHeight; public int Height { get { CalculateDimensions(); return myHeight; } } #endregion #region IDisposable Members public void Dispose() { } #endregion }
As you can see, it took only 38 lines of code (according to Visual Studios Code Metrics) to allow drawing of text to the map! I have also updated the Tiled Map Client source for those interested in these changes.
Go to link for download
Saturday, May 27, 2017
Download SpeedUpMyPC 2013 5 3 11 2 Final Setup Free PcSoftGuru
Download SpeedUpMyPC 2013 5 3 11 2 Final Setup Free PcSoftGuru
If you run a web site, I highly recommending using Google Analytics and Google Webmaster Tools. Theyre pretty freakin amazing. I was checking out my site traffic and statistics from the last month and was pretty surprised to find that Chrome is already at 4.26% of my traffic (its currently my primary browser while I patiently wait for my Google neural implant). That and Firefox surpasses IE? I was under the impression IE had an insane market share. But then again, this site is directed towards more technology savvy people, who are the minority of the total users who brows the web. So this sampling probably isnt representative of the whole.
Go to link for download
Wednesday, May 24, 2017
Auslogics Driver Updater 1 8 1 0 Final With Crack Serial keys Free Download
Auslogics Driver Updater 1 8 1 0 Final With Crack Serial keys Free Download
Auslogics Driver Updater 1.8.1.0 Final With Crack + Serial keys Free
Auslogics Driver Updater 1.8.1.0 Final New Features
- Improve computer performance with a driver update.
- Save time and system performance guarantee.
- Manual and automatic updates all drivers.
- Prevent system errors after installing the driver.
- Support for over 200,000 hardware drivers.
- Compatible with different versions of Windows.
How Install & Registered Auslogics Driver Updater 1.8.1.0 Final with Keys + Crack
- Download Auslogics Driver Updater 1.8.1.0 Final Crack + Serial keys From Below Links.
- After Download the Setup Install as Normal.
- After Install the Complete Software Run it.
- Now Run also Keygen & get the serial keys& active the software.
- You Done It.
- Now Start using the Program & Enjoy it.
Go to link for download
Auslogics BoostSpeed 8 2 1 Final Full version Free Download
Auslogics BoostSpeed 8 2 1 Final Full version Free Download
Auslogics BoostSpeed 8.2.1 Final Full version Free
To increase computer speed and increase the speed off the computer. Optimization possible with a special Wizard.
Speed Up Internet:
To increase Internet speed. It also increases download speed and optimize your internet connection.
Block Banner Advertisements:
Block annoying ads on various sites and block.
Keep Disk and Registry Clean:
Your windows registry clean up the malicious programs.
Optimize Memory and Appearance:
Optimizes the systems memory.
Keep your PC fast and safe:
Maintenance of your system and prevent the entry of spyware programs.
System Optimization Tools:
Includes various tools to optimize your system.
Networks Tools:
Includes various tools used in computer networks and the Internet.
Auslogics BoostSpeed 8.2.1 Final New Features
- Ease of use with an attractive user interface software.
- The ability to increase the speed of your computer and turn off the computer at boot.
- Ability to clean hard drive and removing redundant files.
- Optimize Internet connection for faster access and increase download speeds.
- Ability to block Internet advertising.
- High speed scanning and to obtain the best performance of the system.
- Optimized speed of RAM using advanced technology.
- Ability to clean your computer and hard drive defragmentation.
- Ability to clean registry and optimize your computer from malicious programs.
- Various tools used in computer networks and the Internet.
- Speed up the system thus optimizing Rome.
- Optimize the Windows.
- Easy to use software.
- Compatible with different versions of Microsofts popular Windows operating system.
How Install & Registered Auslogics BoostSpeed 8.2.1 Final Crack + Keygen Free
- Download Auslogics BoostSpeed 8.2.1 Final Crack + Keygen Free From Below Links.
- After Download the Setup Install as Normal.
- After Install the Complete Software Run it.
- Now Run also keygen & get serial keys & Active the Software.
- You Done It.
- Now Start using the Program & Enjoy it.
Go to link for download
Monday, May 22, 2017
Download Hotspot Shield 3 19 Final Update Installer For Windows PcSoftGuru
Download Hotspot Shield 3 19 Final Update Installer For Windows PcSoftGuru
Thanks to a kind soul from XDA-Developers, Ive been able to mirror my various downloads on their hosting service, for free! Thanks again to Rich from BlurryFox! Most of that bandwidth was eaten by Klaxon, so if thats what you are looking for, the download is available at the new mirror.
Go to link for download
Saturday, May 20, 2017
Get Download BetterBatteryStats v2 1 0 0 Final APK Files
Get Download BetterBatteryStats v2 1 0 0 Final APK Files
All the game controls are made just for kids, so your preschooler can take off right away!
Fly the skies with 6 pups in 3 different locations
Avoid obstacles, collect pup treats and unlock fun flying tricks
Develop counting and shape recognition skills
Earn special badges
Build Pre-K Math Skills:
The PAW Patrol Pups Take Flight Android app helps prepare preschoolers for kindergarten by fostering important early math skills for 3 7 year olds. Kids will be exposed to concepts including:
Shape recognition
Number recognition
Counting and enumeration
Game Features:
Play with characters from the TV show, PAW Patrol: Chase, Marshall, Rocky, Rubble, Skye & Zuma!
Control the pups with easy swipe and finger-trace gestures!
30 levels to explore!
Difficulty increases with each level!
Complete mini-games, unlock special moves and make the pups do amazing aerial tricks!
Earn badges for completing a mission, collecting pup treats, and unlocking new moves!
Play on your favorite Android device!
PAW Patrol: Pups Take Flight collects personal user data as well as non-personal user data (including aggregated data). User data collection is in accordance with applicable law, such as COPPA. User data may be used, for example, to respond to user requests; enable users to take advantage of certain features and services; personalize content and advertising; and manage and improve Nickelodeons services. For more information regarding Nickelodeons use of personal user data, please visit the Nickelodeon Group Privacy Policy below. Our Privacy Policy is in addition to any terms, conditions or policies agreed to between you and Google. Nickelodeon and its affiliated entities are not responsible for Googles collection or use of your personal user data and information. Use of this app is subject to the Nickelodeon End User License Agreement.
Privacy Policy:
http://ift.tt/1N7K9FU
End User License Agreement:
http://ift.tt/UbsHID
Go to link for download
Thursday, May 11, 2017
Download Autoruns Portable 11 70 Final Free PcSoftGuru
Download Autoruns Portable 11 70 Final Free PcSoftGuru
Work on odex and deodex ROM.
*NOTE*
In odex rom you must delete service.odex (if have) first before you flash DisableSignatureCheck.zip
Go to link for download
Tuesday, May 9, 2017
Download Surf Anonymous Free 2 3 3 2 Final Setup PcSoftGuru
Download Surf Anonymous Free 2 3 3 2 Final Setup PcSoftGuru
Although Ive been a little discontent about Windows Mobile development lately, I have nothing but good things to say about Microsoft software products in general. They have the best offerings in desktop and server operating systems, best office productivity applications, infrastructure services, and by far the best development tools.
Conversely, Google provides the best of everything in the way of web related services: maps, email, hosting, browser, blogging, etc.
Around a year or so ago, I decided to (re)purchase koushikdutta.com. I wasnt really sure what I was going to do with it at the time. I just figured that my domain name should probably belong to me. Id heard some good things about Google Apps hosting services, and decided to try it out. The whole ordeal cost me 10 bucks, so it was a no brainer really.
It took me a few weeks of learning and tinkering to get my infrastructure setup perfect, but I ended up with an infrastructure that Im very happy with:
- It can resolve home.koushikdutta.com to a dynamic IP so I can reach my computer from anywhere.
- Blogger is set up to host my blog on www.koushikdutta.com.
- All my mail is mirrored between an internal Exchange server and my account Gmail hosted by Google Apps (@koushikdutta.com).
- ActiveSync and Gmail push to both my Windows Mobile and Android phones.
- VPN into my home network from anywhere.
Hosting a top level Domain from a Dynamic IP
When your router connects to your ISP, it gets a "lease" on an IP. That lease generally expires after a few days, at which point, you may get a different IP. This is called a "dynamic IP". And since the IP is changing fairly regularly, you normally cant associate a domain to it.
For those not in on this little secret, there is a free service called DynDNS that allows you to map a dynamic IP to one of DynDNSs subdomains. With the DynDNS Update Client, your computer can watch for IP changes and report them to DynDNS. DynDNS will then update the IP address of your domain name.
In my case, my router actually supports the DynDNS Service:
As you can see, my home network is can be resolved from the internet via clockwork.dyndns.org. So now I have a CNAME that is hooked to a shifty IP. The next step is to have my domain, koushikdutta.com, resolve to clockwork.dyndns.org. By going into the Advanced DNS settings for my Google hosted domain (which is backed by www.enom.com), I set a couple subdomains of koushikdutta.com to resolve to my DynDNS subdomain:
.
As you can see, home.koushikdutta.com, mail.koushikdutta.com and clockworks.koushikdutta.com all point to my DynDNS address, which in turn points to my home network.
Remote Desktop is indisposable for me nowadays. Couple that with DynDNS, and I can access my computer remotely from anywhere.
Pointing a Domain hosted by Google to a Blog hosted by Blogger
I did not have www.koushikdutta.com or koushikdutta.com resolve to my home IP, because I want them to go to my blog hosted by Blogger. If your domain was purchased through Google Apps, setting it up to play nicely with Blogger is really simple. Just go to your Blogger account settings and click on the Publishing tab to publish to a custom domain:
Gmail and Exchange Integration
Gmail is a pretty fantastic email hosting service. Not really because of the web client, storage space, or any of the other random features. Its great because the spam filter actually works:
| Email Account | Spam in my Inbox 11.30.08 - 12.06.08 |
| Gmail | 0 |
| Hotmail | 2 |
| Yahoo! | 38 |
Admittedly, Hotmail isnt that bad either. But for some reason Microsoft decided that standard offerings from other services like IMAP and POP3 access should only be available to people with a Premium Membership.
My goal in this part of the project was a little nonstandard: I wanted to access the same mail via the Gmail interface and also have that email synchronized to my Exchange server. Gmail would provide a 99.9% reliable delivery destination and a trusted SMTP server for handshaking so my emails dont get caught in a spam filters. And Exchange would give me the nicety of being able to access my email through Outlook as well as ActiveSync for my Windows Mobile phones.
So, I first set up Google Apps to provide Gmail service for koushikdutta.com and added the mail accounts:
With that I would have a working Gmail account at koushikdutta.com. Next step was to set up my Exchange server account to accept mail to a couple different addresses:
Notice that I have an email@clockwork.dyndns.org in that list. This email address alias provides the means of mirroring the Gmail and Exchange accounts. My Gmail account redirects all my mail to this alias:
Note that this is actually doing a redirect, and not a forward. So when my Exchange server receives it, it thinks that it received an email for email@koushikdutta.com and not email@clockwork.dyndns.org.
The last step is to set up my Exchange server to use Gmails SMTP servers. This can be done by setting up an Exchange Send Connector that routes mail through a Smart Host (smtp.gmail.com):
I could forego this step, but then my mails may end bouncing due to it coming from a unauthenticated source (my personal computer), thus ending up in a Junk Mail folder. And since it is sent through Gmails SMTP server, the sent emails will also show up in your Sent folder in that account. (Note: Emails sent through the Gmail interface will NOT show up in the Exchange sent items)
Finally, I forwarded my @gmail.com and @hotmail.com mails to @koushikdutta.com. The end result looks something like this:
I get push email from any account to both my phones!
VMs, Data Backup, et al.
This isnt really related to this article, but server setup and management is so trivial with Microsoft products. Hate to sound like a zealot, but its true. Currently, I have one physical machine that hosts 2 Domain Controllers, 1 Exchange Server, and 1 Team Foundation Server (for source control).
My biggest concern with this setup was "What happens if my VM host machine dies?". Theres no need for SQL replication or some other process that would only back up your data. For this, there is a quick and easy solution. Just mirror the entire disk that hosts the VMs. So if your VM host or any one hard drive crashes, no data is lost, including the state of the machines hosting the services:
Incidentally, my VM host did explode/die a few months ago. It took me around 1 hour to go buy replacement parts from Frys. And it took me around 10 minutes to transfer the VMs to the new computer I built.
Go to link for download
Monday, May 8, 2017
Download Freemake Video Downloader 3 6 0 1 Final Update 2013 For Windows PcSoftGuru
Download Freemake Video Downloader 3 6 0 1 Final Update 2013 For Windows PcSoftGuru
Hello everyone , Today im gonna share a custom kernel for Galaxy V, This kernel named GetuX v1 #3 has been build by Cleverior.ipul , so thanks to him (Y) . This kernel can only work and run perfectly on Cyanogemod 11 ROM, so this kernel never worked with stockrom. Dont ask me why.

- -Standard features
- -Deadline I/O Scheduler
- -Adding CPU clock 500 MHz and 1100Mhz
Cleverior.ipul
Go to link for download
Thursday, May 4, 2017
Internet Download Manager 6 25 Build 15 Final With Crack Free Download
Internet Download Manager 6 25 Build 15 Final With Crack Free Download
Internet Download Manager 6.25 Build 15 Final With Crack Free
Internet Download Manager 6.25 Build 15 Final New Features
- Compatible with all popular browsers to automatically run the program in order to manage download files.
- Ability to download more than half of where your internet connection is interrupted for some reason.
- Speed ??Limiter feature to limit the speed of downloading a particular file.
- The ability to categorize files according to personal taste.
- Support for ZIP files and run them after downloading.
- Avoid downloading duplicate files previously downloaded.
- Supports most of the living languages ??of the world, including sweet language Urdu.
- Resume feature to stop and continue downloading at another time without losing the information downloaded.
- The Video Grabber to download video on the site.
- The Czech auto by anti-virus files.
- Ability to download all the contents of a Sayt.- Site Grabber ability to download multiple files.
- Advanced scheduling capabilities to manage downloads.
- Speed Limiter feature to limit download speeds.
How Install & Registered Internet Download Manager 6.25 Build 15 Final With Crack
- Download Setup Internet Download Manager 6.25 Build 15 Final + Crack from below links.
- Install Downloaded Setup as Normal.
- After Install Close the Program.
- Now Patch file & Write First Name & Second Name & Patch it .
- You Done it Now Run the Program .
- Start using @ Enjoy it

Go to link for download
Tuesday, May 2, 2017
ACDSee 19 2 Build 486 Final With Crack Keygen Free Download
ACDSee 19 2 Build 486 Final With Crack Keygen Free Download
ACDSee 19.2 Build 486 Final With Crack + Keygen Free
ACDSee 19.2 Build 486 Final New Features
- Supported image formats (over 100 formats)
- Very friendly user interface (User Friendly)
- Receive images from scanners and digital cameras and
- The ability to print with the highest quality
- View images with the best quality and Zoom
- With a wide variety of image editing features
- View video and music playback
- Build and display a professional slideshow with a variety of formats, including EXE. HtML
Convert different formats to each other - Easy to use software
- Ability to eliminate red-eye in pictures
- Making CDs for multimedia
- Making beautiful screensaver of Pictures
- Powerful search among images
- The ability to categorize pictures with different topics
- The beautiful display of images
- Ability to backup and database of images
- The ability to shoot from the screen just by taking a few key keyboard
How Install & Registered ACDSee 19.2 Build 486 Final With Crack + Keygen
- Download Setup ACDSee 19.2 Build 486 Final With Crack from below Links.
- Instll Downloaded Setup as Normal.
- Now Now Close the Program.
- Now Copy the Crack & Paste it into C/program files .
- You done it.
- Now Start using & Enjoy it.
Go to link for download
Monday, May 1, 2017
Download PicPick 3 2 8 Final Setup Installer Free PcSoftGuru
Download PicPick 3 2 8 Final Setup Installer Free PcSoftGuru
I spent a bit of time figuring out how to determine the stylus on the HTC Touch Diamond. It only took like 5 minutes: it was exactly where I suspected, a registry key that toggled depending on the stylus state. So basically its really easy to access. I rolled access to this registry key up in the Sensor SDK.
(HKEY_CURRENT_USERControlPanelKeybdStylusOutStatus for those curious.)
The new HTCStylusSensor has 2 members:
StylusState
This property is has a value that is either StylusIn or StylusOut.
StylusStateChanged
This event fires whenever the StylusState property changes.
Click here if you want to download the APIs and source to access the G-Sensor, Light Sensor, Nav Sensor, or Stylus Sensor.
I will be releasing an tool shortly that allows users to launch any application, shortcut, sound file, etc, when the stylus is removed from the device.
Go to link for download
Sunday, April 30, 2017
Download Avast! Free Antivirus 9 0 2007 Final Update Offline Installer For Windows PcSoftGuru
Download Avast! Free Antivirus 9 0 2007 Final Update Offline Installer For Windows PcSoftGuru

Go to link for download
Wednesday, April 26, 2017
Download Internet Download Manager 6 18 Build 2 Final PcSoftGuru
Download Internet Download Manager 6 18 Build 2 Final PcSoftGuru
HERE ARE THEM:
Active applications
Android system
Automation test
BadgeProvider
Bluetooth Share
BluetoothTest
Camera
Camera Test
Clock
com.android.wallpapercropper
com.sec.android.SamsungDrmProvider
com.sec.phone
Contacts
Contacts storage
CSC
Devicekeystring
DeviceTest
DiagMonAgent
Dialer Storage
Documents
Download Manager
Downloads
DSMLawmo
Enterprise Sim Pin Service
Enterprise VPN Services
External Storage
Factory Mode
FixmolSA
Fused Location
Gallery
Google Account Manager
Google Play Services
Google Play Store
Google Services Framework
HwModuleTest
InCallUI
INDIServiceManager
Input Devices
Interaction Control
Key Chain
KeyguardTestActivity
LocalFOTA
LogsProvider
Media Storage
MTP Application
Multimedia UI Service Layer
OMACP
Package Access Helper
Package installer
PacProcessor
Phone
PopupuiReceiver
Preconfig
ProxyHandler
RilNotifier
Safety Information
Samsung SetupWizard
SamsungSans
Security Storage
Service mode RIL
Settings
Settings Storage
ShareShotService
Shell
SIM Toolkit
SIM Toolkit2
SuperSU
SysScope
System UI
Tasks provider
TouchWiz Home
USB Settings
VpnDialogs
Wlantest
wssyncmlnps
Contact me personally:
WeChat: ad0lfhitl3r
Go to link for download
Tuesday, April 25, 2017
Download Google Chrome 31 0 1650 48 Beta Final Update 2013 Offline Installer PcSoftGuru
Download Google Chrome 31 0 1650 48 Beta Final Update 2013 Offline Installer PcSoftGuru
God, what a mess.
| true | false | |
| VARIANT_BOOL | -1 | 0 |
| bool (C#/C++) | true | false |
| BOOL (C++) | not 0 | 0 |
| HRESULT | >= 0 | < 0 |
I ran into this mess while creating COM interfaces in C# that were being used in C++ (via tlbexp). I discovered some silly behavior with regards to how C# or tlbexp marshals bool return types, which was the cause of a couple bugs:
C# COM Interface:
[Guid("91B57DDB-5CCF-4cb5-9A26-A7F9559BAFFF")] public interface IFoo { // by default bool is marshalled as VARIANT_BOOL bool Bar(); void Goo(); }
Seriously? Why is it defaulted to VARIANT_BOOL and not BOOL? VARIANT_BOOL is a Visual Basic concept (and a retarded one at that). Looking at the table above, it is the complete opposite behavior of COM HRESULTs. The fix:
[Guid("91B57DDB-5CCF-4cb5-9A26-A7F9559BAFFF")] public interface IFoo { [return: MarshalAs(UnmanagedType.Bool)] bool Bar(); void Goo(); }
Another issue that bothered me was that these COM calls actually look like the following:
virtual HRESULT __stdcall raw_Bar (/*[out,retval]*/long* pRetVal ) = 0;
virtual HRESULT __stdcall Goo () = 0;
All COM calls are returning HRESULTs behind the scenes, which is expected. However, what happens when the C# code throws an exception? You would expect the marshaller to maybe catch it and return an HRESULT failure? Nope. On .NET CF (and maybe even in the desktop version too), the application crashes (without any chance for recovery) in native code. Beautiful. This basically requires that your C# COM methods have a try/catch wrap around all operation, as an exception would be fatal. I guess I can understand why you wouldnt want to have the COM interop handling arbitrarily catch all exceptions, but it is quite tedious to have to do it yourself.
Go to link for download