>At one point you say "precompiler" when I guess you mean "preprocessor"?
Ah, you're right! Fixed, thanks!
>Also I think the C preprocessor would be relatively unhelpful with the file format you explained in the post: As soon as you reached the first unmatched, unquoted apostrophe, cpp would assume it was inside a really long character literal and refuse to substitute any macros until the next apostrophe.
Oh, that's a good point. I'm not sure how Visual C++ does with it, but I just tried with gcc, and it falls over on an apostrophe:
$ cat values.h
#define MAX_PASSPHRASE_MINIMUM 20
$ cat example.mcp
SymbolicName=ERROR_BITLOCKER_PASSPHRASE_MINIMUM_TOO_LONG
The BitLocker minimum passphrase length can't exceed MAX_PASSPHRASE_MINIMUM.
$ gcc --version | head -n 1
gcc (GCC) 14.3.0
$ gcc --preprocess --language=c --no-line-commands --include=values.h example.mcp
SymbolicName=ERROR_BITLOCKER_PASSPHRASE_MINIMUM_TOO_LONG
example.mcp:2:44: warning: missing terminating ' character
2 | The BitLocker minimum passphrase length can't exceed MAX_PASSPHRASE_MINIMUM.
| ^
The BitLocker minimum passphrase length can't exceed MAX_PASSPHRASE_MINIMUM.