Ah, I guess it depends on how it's built. The arguments are passed as-is, but the program can expand them before main if it so chooses. Per Expanding wildcard arguments | Microsoft Docs:
I found that a program built with MinGW does expand wildcards by default (it mimics the expected Unix behavior when it's run from CMD). But add int _CRT_glob = 0; to your code and this wildcard expansion is disabled.By default, wildcards aren't expanded in command-line arguments. You can replace the normal argument vector argv loading routine with a version that does expand wildcards by linking with the setargv.obj or wsetargv.obj file. If your program uses a main function, link with setargv.obj. If your program uses a wmain function, link with wsetargv.obj. Both of these have equivalent behavior.