I know all windows of the same class share the same wndProc which in my case is the staticWndproc(). Suppose one of the window of that class has that original wndProc replaced by another static wndProc say nextStaticWndProc().

Senario 1:
(THIS IS THE SUBCLASSING I KNOW WHERE I HAVE TO USE CALLWINDOWPROC)
In nextStaticWndProc(), if i intend to pass any message not processed to the original staticWndproc(), I must use CallWindowProc() and not call the staticWndproc() directly. Am i right?

Senario 2:
In nextStaticWndProc(), if i intend to pass any message not processed to the another g_WndProc() i defined globally, I can call the g_Wndproc() directly. Am i right?