Writing Secure Code for Windows Vista� by David LeBlanc & Michael Howard