FWIW - your assumptions are bad - you do not have to explicitly use GetWindowLong, and so on.

If you create a WindProc for the window, it will 'automatically' subclass the window - this is the great thing about C++ coding - you make your own windows and their wndprocs, too.