Kenny Kerr
<span style="color:#4a67b1"><strong><em>This blog has moved to <a href="http://kennykerr.ca/"><span style="color:#4a67b1">kennykerr.ca</span></a></em></strong></span>
-
Windows with C++: Asynchronous WinHTTP
My latest Windows with C++ column in the August 2008 issue of MSDN Magazine is now online: Asynchronous WinHTTP.
-
Windows 2008 Remote Desktop Color Depth
One of the features of the Remote Desktop Protocol (RDP) 6.1 is the ability for clients to connect with a color depth of 32 bits per pixel (bpp). This allows alpha blending in a terminal session which in turn allows layered windows to work correctly. Although it's a bit of a bandwidth hog, it can be really handy for developers testing graphics applications remotely (or to take great screenshots remotely).
-
Visual C++ in Short: Converting between Unicode and UTF-8
The Windows SDK provides the WideCharToMultiByte function to convert a Unicode, or UTF-16, string (WCHAR*) to a character string (CHAR*) using a particular code page. Windows also provides the MultiByteToWideChar function to convert a character string from a particular code page to a Unicode string. These functions can be a bit daunting at first but unless you have a lot of legacy code or APIs to deal with you can just specify CP_UTF8 as the code page and these functions will convert between Unicode UTF-16 and UTF-8 formats. UTF-8 isn’t really a code page in the original sense but the API functions lives on and now provide support for UTF conversions.
-
Visual C++ in Short: Encoding and decoding with Base64
Base64 is a popular encoding to convert arbitrary data into a format that can be transmitted as an ASCII string. ATL provides a few functions that implement the Base64 specification.
-
Visual C++ in Short: Converting between numbers and strings
C++ developers have a number of options available to them for converting between numbers and strings, few of which are very appealing. Most developers are familiar with the likes of atoi and itoa from the C Run-Time Library. The main problem is that these functions don’t have a coherent way of reporting errors. Although there have been some attempts to improve these functions, most notably the addition of the security enhancements introduced by Microsoft, they are still not very helpful.
-
Visual C++ in Short: Regular Expressions
ATL includes a lightweight regular expression implementation. Although originally part of Visual C++, it is now included with the ATL Server download.
-
This and that
It’s been a while since I posted anything. I spent some time in South Africa. Increasingly I feel like it’s time to go home. If only it were that simple. We’ve also had a bit of a rough time here in England. I have also heard that a few people assumed that I’d be driving around in a Ferrari after the announcement about PlateSpin’s acquisition for $205 million in cash. I should just mention that I left PlateSpin about six months before the acquisition and did not get to share in the big payout for a variety of subtle and not so subtle reasons. So if you’ve enjoyed my articles feel free to support me by purchasing a license for Window Clippings – it will be much appreciated! :)
-
Parallel Programming in Native Code
Rick Molloy just mentioned to me that he’s created a new blog on MSDN to coincide with Stephen’s talk at TechEd today about the Concurrency Runtime for Visual C++.
-
XmlLite and Windows XP Service Pack 3
The April 2007 issue of MSDN Magazine included an article I wrote about the excellent XmlLite parser for native C++ developers. In October of that year I wrote about the lack of a redistributable for Windows XP. Although the XML team at Microsoft told me that they hoped to provide a redistributable it never did materialize.
-
Windows with C++: Windows Imaging Component (Part 2 of ... oops!)
In April 2007 MSDN Magazine published part 1 of a 3 part series of articles on the Windows Imaging Component. Part 1 provides a good introduction to using WIC to encode and decode various image formats using this new imaging API. Part 2 and 3 were meant to show you how to extend WIC with your own image formats. Unfortunately it didn’t quite work out as planned.