I found an example of boilerplate code for Win32 programming in D
here:
http://wiki.dlang.org/D_for_Win32
I have some questions.
1. It appears that the call to myWinMain from WinMain is to
ensure that any exception or error is caught. At first glance it
looks like this is to ensure that runtime.terminate() gets
called, but in fact it doesn't, the catch block doesn't do it and
there is no scope(exit). Is this a problem? (And what would
happen if you didn't catch the exception?)
2. Why does the boilerplate return 0 on success and failure? (If
the return code is irrelevant, why the comment that says "failed"
next to the return code?)
3. I can't imagine a technical reason why the myWinMain signature
has to match the WinMain signature. Wouldn't it be better to omit
the hPrevInstance since it isn't used? (Or are we preserving
backwards compatibility with Win16?).
If there is a resource somewhere that explains all this I would
happy to consult it but I couldn't find anything.
Thanks.