Effective Async with Coroutines and C++/WinRT

Fri, 01 Jun 2018 10:00:00 GMT

Learn all about WinRT's async pattern and the way in which coroutines are used to both call and produce async methods. You'll learn how to take advantage of the thread pool and optionally control the calling context.

Read article

From Algorithms to Coroutines in C++

Sun, 01 Oct 2017 10:00:00 GMT

It's often said that C++ developers should expunge all naked for loops and replace them with algorithms. Kenny Kerr gets after that goal with his effort to build a range algorithm using C++ coroutines.

Read article

Introducing C++/WinRT

Sun, 01 Jan 2017 10:00:00 GMT

C++/WinRT is a standard C++ language projection for the Windows Runtime (WinRT) implemented solely in header files. It lets you both author and consume WinRT APIs using any standards-compliant C++ compiler, and is designed to provide C++ developers with first-class access to the modern Windows API.

Read article

Microsoft Pushes C++ into the Future

Fri, 01 Apr 2016 10:00:00 GMT

Visual C++ is ground zero for many new proposals to the C++ language and standard library. Kenny Kerr highlights a few new or improved features in the Visual C++ Update 2 release that he finds particularly compelling.

Read article

Coroutines in Visual C++ 2015

Thu, 01 Oct 2015 10:00:00 GMT

Learn how concurrency has been updated in Visual Studio 2015 with an experimental compiler option called /await that unlocks an implementation of coroutines directly supported by the compiler.

Read article

Windows Composition Turns 10

Thu, 01 Oct 2015 10:00:00 GMT

Dive into the new Windows composition API with Kenny Kerr. It’s built on the Windows Runtime and provides the foundation for high-performance rendering. And, for the first time, composition works the same whether you’re targeting your multi-display desktop powerhouse or the lowly smartphone in your pocket.

Read article

Classy Types in the Windows Runtime

Tue, 01 Sep 2015 10:00:00 GMT

COM is all about interfaces, and while the Windows Runtime is built on COM, it's able to present a classy type system. How is this possible? Kenny Kerr explains.

Read article

Windows Runtime Components with MIDL

Sat, 01 Aug 2015 10:00:00 GMT

The Microsoft Interface Definition Language (MIDL) defines interfaces between client and server programs. Kenny Kerr continues his exploration of the Windows Runtime with a look at the MIDL compiler.

Read article

Windows Runtime Components

Wed, 01 Jul 2015 10:00:00 GMT

Join Kenny Kerr as he explores the essentials of the Windows Runtime over the next few months, beginning by writing a simple Windows Runtime component.

Read article

Windows with C++ - Adding Compile-Time Type Checking to Printf

Fri, 01 May 2015 10:00:00 GMT

Kenny Kerr continues to improve printf in modern C++ by adding compile-time type checking without sacrificing performance.

Read article

Windows with C++ - Visual C++ 2015 Brings Modern C++ to Legacy Code

Wed, 01 Apr 2015 10:00:00 GMT

Kenny Kerr revisits the topic of smart handle class templates and explores how to use modern C++ to enhance some old C-style libraries.

Read article

Windows with C++ - Using Printf with Modern C++

Sun, 01 Mar 2015 10:00:00 GMT

Kenny Kerr explores how to improve the productivity and reliability of printf without sacrificing performance.

Read article

Windows with C++ - COM Smart Pointers Revisited

Mon, 02 Feb 2015 10:00:00 GMT

it’s time to apply some of the modern C++ offered by Visual C++ 2015 to the design of a new smart pointer for COM interfaces, as Kenny Kerr explains.

Read article

C++ - Visual C++ 2015 Brings Modern C++ to the Windows API

Fri, 02 Jan 2015 10:00:00 GMT

Kenny Kerr shows you how to implement IUnknown and IInspectable entirely in modern C++, without any language extensions, interface tables, or other macros.

Read article

Windows with C++ - DirectComposition: Transforms and Animation

Tue, 02 Sep 2014 10:00:00 GMT

Building on his previous columns on the DirectComposition API and Direct2D, Kenny Kerr shows how easy it is to add some powerful effects to last month’s project using transforms and animation.

Read article

Windows with C++ - DirectComposition: A Retained-Mode API to Rule Them All

Fri, 01 Aug 2014 10:00:00 GMT

Kenny Kerr shows how you can use retained-mode APIs to manipulate visuals drawn with Direct2D in a way that’s very appealing to experienced developers.

Read article

Windows with C++ - Embracing the Windows Composition Engine

Tue, 01 Jul 2014 10:00:00 GMT

Kenny Kerr explores the Windows composition engine and shows how an alpha-blended window from his previous column can be reproduced using a composition surface rather than a swap chain.

Read article

Windows with C++ - High-Performance Window Layering Using the Windows Composition Engine

Mon, 02 Jun 2014 10:00:00 GMT

Kenny Kerr shows how to tap into system capabilities previously inaccessible from applications to produce the layered window effect without compromising performance.

Read article

Windows with C++ - Using Databases on Microsoft Azure

Tue, 01 Apr 2014 10:00:00 GMT

First it was ODBC, then it was OLE DB, and more recently the relational data access technology favored by Microsoft has switched back to ODBC. But don't worry, Kenny Kerr explains how modern C++ makes it easy to use this older C-style API to access databases on Azure.

Read article

Windows with C++ - Write High-DPI Apps for Windows 8.1

Mon, 03 Feb 2014 10:00:00 GMT

Windows 8.1 brings new life to multi-monitor configurations and lets you develop applications that are per-monitor DPI-aware to give users the best possible resolution. However, few applications have achieved this yet, so Kenny Kerr shows you how.

Read article

Windows with C++ - Write High-DPI Apps for Windows 8.1

Mon, 03 Feb 2014 10:00:00 GMT

Windows 8.1 brings new life to multi-monitor configurations and lets you develop applications that are per-monitor DPI-aware to give users the best possible resolution. However, few applications have achieved this yet, so Kenny Kerr shows you how.

Read article

Windows with C++ - Using Regular Expressions with Modern C++

Thu, 02 Jan 2014 10:00:00 GMT

Regular expression grammar can humble the most seasoned developer. Kenny Kerr shows how modern C++ lets you produce elegant and efficient abstractions to make the job easier.

Read article

Windows with C++ - Exploring Fonts with DirectWrite and Modern C++

Fri, 01 Nov 2013 10:00:00 GMT

Kenny Kerr shows how DirectWrite comes to life with help from Direct2D and modern C++, providing color fonts, hardware-accelerated text rendering, and elegant and efficient code.

Read article

Windows with C++ - Rendering for the Windows Runtime

Tue, 01 Oct 2013 10:00:00 GMT

The Windows Runtime application model is optimized for rendering with DirectX. Kenny Kerr shows how to take what you’ve learned in his previous columns about Direct2D and Direct3D rendering and apply it to your WinRT apps.

Read article

Windows with C++ - The Windows Runtime Application Model

Thu, 01 Aug 2013 10:00:00 GMT

Kenny Kerr explains how the best way to understand the Windows Runtime abstraction is to get down to the basics, eschewing language projections in favor of standard C++ and classic COM.

Read article

Windows with C++ - A Modern C++ Library for DirectX Programming

Mon, 03 Jun 2013 10:00:00 GMT

Kenny Kerr rolls his own header file that developers can use to build apps more easily with Direct2D. Along the way, he challenges those frustrating “C++ is hard” and “DirectX is hard” arguments that he’s tired of hearing.

Read article

Windows with C++ - Introducing Direct2D 1.1

Wed, 01 May 2013 10:00:00 GMT

Direct 2D has taken a major step forward, and is now supported on Windows 8, Windows RT, Windows Phone 8 and, now, Windows 7. Kenny Kerr explains how D2D 1.1 works and how to get started using it.

Read article

Windows with C++ - Rendering in a Desktop Application with Direct2D

Fri, 01 Mar 2013 10:00:00 GMT

Kenny Kerr looks at the unique relationship between Direct2D and the desktop application window.

Read article

Windows with C++ - Creating Desktop Apps with Visual C++ 2012

Fri, 01 Feb 2013 10:00:00 GMT

Our resident C++ expert gets a lot of questions about the language and its relevance to developing desktop apps for Windows in these changing times. He answers those questions here.

Read article

Windows with C++ - The Evolution of Threads and I/O in Windows

Wed, 02 Jan 2013 10:00:00 GMT

Explore the evolution of threading in Windows and C++ to understand the threading capabilities in your programs and work with concurrency building blocks.

Read article

Windows 8 Networking - Windows 8 and the WebSocket Protocol

Mon, 03 Dec 2012 10:00:00 GMT

Kenny Kerr explores the WebSocket protocol and its relationship to the larger TCP/IP suite. Learn how Windows 8 enables programmers to easily adopt WebSocket in their applications.

Read article

Windows with C++ - The Evolution of Synchronization in Windows and C++

Thu, 01 Nov 2012 10:00:00 GMT

Some excellent synchronization primitives in Windows and the state-of-the-art C++ compiler make a compelling toolkit for producing lightweight and scalable concurrency-safe programs, says Kenny Kerr, who explains that there’s still work to be done to improve concurrency in the Standard C++ Library.

Read article

Windows with C++ - Back to the Future with Resumable Functions

Mon, 01 Oct 2012 10:00:00 GMT

Kenny Kerr concludes his three-part series on concurrency in C++, and explores an even more fluid approach to writing efficient and composable asynchronous systems.

Read article

Windows with C++ - The Pursuit of Efficient and Composable Asynchronous Systems

Tue, 04 Sep 2012 10:00:00 GMT

Kenny Kerr follows up his column on lightweight cooperative multi-tasking by exploring how C++ might directly support asynchronous programming in a more natural and composable way.

Read article

Windows with C++ - Lightweight Cooperative Multitasking

Wed, 01 Aug 2012 10:00:00 GMT

Kenny Kerr describes a technique—ideal for very lightweight concurrency—to write asynchronous code in C or C++ without the use of a runtime (such as those provided by Visual C++ and Windows).

Read article

Windows with C++ - Thread Pool Timers and I/O

Wed, 30 Nov 2011 10:00:00 GMT

Kenny Kerr finishes his series on the Windows 7 thread pool by delving into the two remaining callback-generating objects provided by the API—timer objects and I/O completion objects.

Read article

Windows with C++ - Thread Pool Synchronization

Wed, 26 Oct 2011 10:00:00 GMT

Blocking operations are bad news for concurrency. You need a way for the thread pool to wait on your behalf without affecting its concurrency limits. It can then queue a callback once the resource is available or the time has elapsed. Along with work objects, the thread pool API provides a number of other callback-generating objects. Here, Kenny Kerr shows how to use wait objects.

Read article

Windows with C++ - Thread Pool Cancellation and Cleanup

Mon, 26 Sep 2011 10:00:00 GMT

Cancellation and cleanup are notoriously difficult problems to solve when it comes to multi-threaded applications. However, the thread pool environment enables cleanup groups, which make the thread pool’s objects and callbacks more manageable, as Kenny Kerr details.

Read article

Windows with C++ - The Thread Pool Environment

Fri, 09 Sep 2011 10:00:00 GMT

Our resident C++ guru continues his exploration of the thread pool, this month examining objects that control the environment in which callbacks execute.

Read article

Windows With C++ - The Windows Thread Pool and Work

Fri, 29 Jul 2011 10:00:00 GMT

Concurrency means a lot of different things to different people, but at the heart of any contemporary approach is some kind of a thread pool. Here, Kenny Kerr explains how to best use the Windows thread pool API.

Read article

Windows with C++ - C++ and the Windows API

Thu, 30 Jun 2011 10:00:00 GMT

Kenny resumes his monthly column with MSDN Magazine with a fresh new approach to Windows programming with C++. In this first installment you will learn how to manage Windows API resources in a way that is natural for the contemporary C++ developer. This is a critical first step in becoming a productive Windows developer.

Read article

Windows with C++ - Layered Windows with Direct2D

Mon, 14 Dec 2009 10:00:00 GMT

Layered windows provide the unique ability to compose a window on the desktop using per-pixel alpha blending. We take a look at how you can implement this drawing technique in Direct2D.

Read article

Windows with C++ - Windows Web Services

Mon, 16 Nov 2009 10:00:00 GMT

With the introduction of the Windows Web Services (WWS) API, C++ developers no longer have to think of themselves as second-class citizens in the world of Web Services. In this article, the author explores the features and benefits that the WWS API has to offer.

Read article

Windows With C++ - Drawing with Direct2D

Fri, 14 Aug 2009 10:00:00 GMT

In this article, the author shows you how to draw with Direct2D by introducing Direct2D’s color structure and its various types of brushes.

Read article

Windows With C++ - Introducing Direct2D

Mon, 18 May 2009 10:00:00 GMT

If you want to develop high-performance and high-quality commercial applications, you’ll still look to C++ and native code. Direct2D will help you deliver the graphics power you need.

Read article

Windows With C++ - The Virtual Disk API In Windows 7

Thu, 19 Mar 2009 10:00:00 GMT

This month we look inside the Windows 7 beta to examine the Virtual Disk API and the Microsoft Virtual Hard Disk (VHD) format.

Read article

Windows With C++ - Visual C++ 2010 And The Parallel Patterns Library

Fri, 23 Jan 2009 10:00:00 GMT

The Parallel Patterns Library allows you to more easily take advantage of parallelism. See what this and other Visual C++ 2010 features are in store.

Read article

Windows With C++ - X64 Debugging With Pseudo Variables And Format Specifiers

Wed, 19 Nov 2008 10:00:00 GMT

This month we explain how pseudo variables and format specifiers provide a wealth of information for use in debugging.

Read article

Windows with C++ - Exploring High-Performance Algorithms

Fri, 19 Sep 2008 10:00:00 GMT

See how you can gain efficiency in surprising ways by looking closely at your algorithms, the data they operate on, and the hardware you’re designing for.

Read article

Windows with C++ - Asynchronous WinHTTP.

Tue, 29 Jul 2008 10:00:00 GMT

This month's column explains how to use Windows HTTP Services, or WinHTTP, the new, powerful API for implementing HTTP clients.

Read article

Windows with C++ - Decoding Windows Vista Icons with WIC

Thu, 22 May 2008 10:00:00 GMT

In this month's installment, Kenny Kerr sings the praises of the new Visual C++ 2008 Feature Pack, which brings modern conveniences to Visual C++.

Read article

C++ Plus - Beef Up Windows Apps with the Visual C++ 2008 Feature Pack

Thu, 17 Apr 2008 10:00:00 GMT

Kenny Kerr sings the praises of the new Visual C++ 2008 Feature Pack, which brings modern conveniences to Visual C++.

Read article

Windows with C++ - Windows Imaging Component Basics

Mon, 14 Apr 2008 06:17:18 GMT

Windows Imaging Component (WIC) is an extensible framework for encoding, decoding, and manipulating images. See how to use WIC to encode and decode different image formats.

Read article

Windows with C++ - Windows Services Enhancements

Wed, 23 Jan 2008 10:00:00 GMT

Windows Vista and Windows Server 2008 bring some significant changes that make it simpler to produce services that are more secure and responsive.

Read article

Windows with C++ - Windows Template Library 8.0

Wed, 24 Oct 2007 10:00:00 GMT

Kenny Kerr takes a look at Windows Template Library (WTL) support for new Windows Vista control enhancements, including task dialogs, Aero wizards, and open file dialogs.

Read article

Windows with C++ - Task Scheduler 2.0

Wed, 19 Sep 2007 10:00:00 GMT

The new Task Scheduler in Windows Vista can do so much more than previous versions. We introduce some basic concepts and building blocks you can put to use in your own scheduled task projects.

Read article

Windows with C++ - Windows Vista Control Enhancements

Tue, 19 Jun 2007 10:00:00 GMT

With the release of Windows Vista, C++ developers will be happy to know there's plenty of magic left to perform. This new column will provide the necessary insight.

Read article

Security - Applying Cryptography Using The CNG API In Windows Vista

Tue, 22 May 2007 10:00:00 GMT

Cryptography Next Generation (CNG) is meant to be a long-term replacement for the CryptoAPI, providing replacements for all of the cryptographic primitives it offered.

Read article

XmlLite - A Small And Fast XML Parser For Native C++

Tue, 13 Mar 2007 10:00:00 GMT

XmlLite provides a high-performance, low-overhead XML reader and writer geared for applications written in native C++. Learn more here.

Read article

Beyond WinFX - Transactions, Aero Wizards, And Task Dialogs In Windows Vista

Thu, 08 Jun 2006 10:00:00 GMT

Read article

App Lockdown - Defend Your Apps and Critical User Info with Defensive Coding Techniques

Tue, 19 Oct 2004 10:00:00 GMT

Whether you're storing database connection strings, user credentials, or logon info, you'll need to practice good defensive programming techniques to avoid those surprise situations in which your data is exposed. In this article, author Kenny Kerry shows you how.

Read article