What is the purpose of ANYSIZE_ARRAY in <winnt.h>?
I assume you are talking about this blog post.
It is often used when a variable-sized (unknown at compile time) array is part of a struct:
typedef struct {
int CommonFlags
int CountOfThings;
THING Things[ANYSIZE_ARRAY]; //Things[1];
} THINGSANDFLAGS;
To work with those structures you often first call the desired API to get the size of the data, then allocate a block of memory big enough and finally call the same API again so it can fill in the data...