These are defined in minwindef.h (which is often located at Program Files (x86)\Windows Kits\8.1\Include\shared\minwindef.h)
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
And I often see parameters decorated with these macros like this:
void SomeFunction(IN const MyClass& obj)
What is the significance of these macros and why one should decorate parameters with it?