This is one of those things that I do not have a full grip of and have been ignoring for quite a while... what is the relationship between stdafx.h and precompiled headers?

I have had many times when I have needed to add #include <windows.h> and then later find that I cannot use this as this inclusion is apparently made in my stdafx.h (although this has nothing but just #include stdafx.h - including itself?!)..

The only things I know are (pls correct if I am wrong)...

+ if you want to use precompiled headers for a file you must include stdafx.h in the file
+ if you include a file with stdafx.h you cannot then have another file that includes <windows.h>

Any material to shed light would be great

Cheers!