BYTE and LPCONTEXT are types used and defined by the Windows API. If you develop a windows application, include windows.h so you can use the Windows API methods and the required types.
Any symbol defined in windows.h that you don't need does not effect your application in any way, they are simply ignored at compile time.
PS:
You could, of course, copy the exact definitions of these structs from the windows headers into your own header files, but you don't gain anything. Quite the contrary. The header files define the types shared by all Windows API calls. If these types ever change, your application might crash horribly because the types defined in your private header files and those used by Windows no longer match. That's why everybody who needs those types simply includes windows.h.