I've been learning the win32 api for about 2 weeks now, and every time I look in the documentation I see these confusing qualifiers (?) before the parameter types in the definitions of functions.
They aren't mentioned in the books/ tutorials I've read so far, and I can't even find mention of them on the internet (I don't know what they are called).
Here is an example of a function with a good selection of the things:
DWORD WINAPI FormatMessage(
_In_ DWORD dwFlags,
_In_opt_ LPCVOID lpSource,
_In_ DWORD dwMessageId,
_In_ DWORD dwLanguageId,
_Out_ LPTSTR lpBuffer,
_In_ DWORD nSize,
_In_opt_ va_list *Arguments
Could someone help me here, are these _In_, _In_opt, _Out_, and such things something I should even pay attention to? What are they?