That&#x27;s not even the full Win32&#x2F;16 style. That first line should be:<p><pre><code>    static LRESULT WINAPI MCIWndProc16(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
</code></pre>
And even then MS couldn&#x27;t decide whether to use message (MSG struct), Msg (SendMessage), uMsg (WindowProc) for the second variable name. Sometimes they would use hwnd as well. I remember it all being very, very confusing when I was learning to program because it was inconsistent in so many ways.<p>In a semi-related note, Raymond Chen&#x27;s blog (1) is great for diving into the history of the Windows API and its many quirks and gotchas.<p>[1] <a href="https:&#x2F;&#x2F;blogs.msdn.microsoft.com&#x2F;oldnewthing&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blogs.msdn.microsoft.com&#x2F;oldnewthing&#x2F;</a>