Ho hum. I gave the terminology twice already. That is not a definition, it is a deeclaration.
I also gave the definition of a callback function and it has absolutely nothing to do with whether the function is implemented (defined) or vaporware.
Way off. The WinMain function (like main() in a DOS app) is the application entry point which actually calls a WinMain function from the CRT lib which has more parameters that you don't see.
^^^^^^^^^ wtf?
No. CreateWindow() and CreateWindowEx() are called to create a window and the WndProc callback address is passed as a parameter.
No. The OS calls this function when it needs to pass a windows message to the WndProc so the user can process it. Every window in an app has it's own WndProc.