Windows 10 on ARM

Windows 10 on ARM This is the video we did at //Build for our latest project. This project has been in the works for some time; it was first revealed at WinHEC in Shenzhen in December 2016 and now we are providing more technical details with a demo. WIndows 10 on ARM Enjoy!


Running in the Background Using Background Tasks

At Build 2013, I did a talk on background tasks, its best practices and new features in Windows 8.1. It was great to meet with developers who use background tasks to build products and learn about their experiences. Here is a link to the official channel 9 recording of the talk:   https://channel9.msdn.com/Events/Build/2013/3-108    Abstract: The apps that run…


Background model for Metro style apps

It’s been a busy few months and I haven’t had a chance to blog much about my work or kernel technologies. These are a couple of posts, I wrote for the appdev blog on the new background model in Windows 8 for Metro style apps. They talk about background tasks, the suspend model and how…


Performance Tips for DllMains – contd.

Continuing our series on DLLs and their optional entry point DllMain, this is going to be a simple tip which allows your process to exit quickly without doing unnecessary work. When a process is cleanly exiting, each DLL loaded in the process memory receives a DLL_PROCESS_DETACH callout. This callout is also sent to a DLL…


Performance Tips for DllMains

The DllMain is an optional entry point into a dynamic link library (DLL) which is called by the system when the DLL is first loaded into a process or when it is unloaded from a process. Think of it as a constructor and destructor of the DLL. In addition, each DLL’s entry point is also…


Win32 Threadpool Tutorial Recap

Download source code from MSDN Code Gallery. This is a quick recap of all the posts in the threadpool series and the methods supported by the wrapper classes.   Introduction to the Windows Threadpool (Part 1) Threadpool Work item priority Introduction to the Windows Threadpool (part 2) Threadpool Timer Functions Waiting on Events from within…


Waiting on Events from within Threadpool

Download source code from MSDN Code Gallery.   Till now we have seen how to use the default process-wide threadpool to submit work items, how to create your own private threadpool and how to create timer objects to execute callbacks when the timer fires. In this post (final one in the threadpool series), we will…


Threadpool Timer Functions

Download source code from MSDN Code Gallery. The threadpool provides timer functionality with the SetThreadpoolTimer and CreateThreadpoolTimer functions; the ability to call your functions at specified times.  In this blog post I will show how to use the wrapper windowsthreadpool::Timer class provided to obtain timer functionality by using these APIs.   Example code: void CALLBACK…


Introduction to the Windows Threadpool (part 2)

Download source code from MSDN Code Gallery. In the previous posts, I talked about using the windowsthreadpool::SimpleThreadPool class to queue work items to the process-wide threadpool and queuing work items with different priorities.  In this post, I will show how to create your own private threadpool using the class windowsthreadpool::PrivateThreadPool. Private Threadpool The private threadpool…


Threadpool Work item priority

Download source code from MSDN Code Gallery. In the previous post, I talked about how to queue work items to the process-wide system threadpool using TrySubmitThreadpoolCallback. In this post, I will talk about work item priority and how to queue low priority work items.  The thread that your work item executes is not owned by…