This blog entry contains MSDN (or MSDN related) materials that you should read if you want to get a better understanding of Windows. In future I will add more and more interesting articles which are a must read.

(in alphabetical order)

  • Custom Window Frame Using DWM. The Desktop Window Manager provides functions that allows to draw on the caption bar.
  • Kernel Objects. What are Kernel objects anyway? How are they treated? This article answers both questions and also contains very informative knowledge about handles.
  • Kernel Object namespace. Objects can be session relative or machine absolute. This may be important if you’re going to create Terminal Server aware applications.
  • Terminal Server Session. This article describes how different users can use the system at the same time.
  • Shatter Attacks. Why you should not create elevated processes in the user’s session.
  • User Accounts with Fast User Switching and Remote Desktop. Read interesting facts about FUS, sessions, how to get notified of switching and that handles cannot be inherited between sessions.
    Remember this:

Note CreateProcessAsUser does not support handle inheritance across sessions at this time.

Note To set the token session ID, you need the SE_TCB_PRIVILEGE. You will have this only as a service running in NT AUTHORITY\SYSTEM.