When a WinSetWindowPos or WinSetMultWindowPos function involves adjusting the position or size of a frame window, a WM_ADJUSTFRAMEPOS message is sent to the frame window.

The frame control processes the message by informing all the windows in its owner hierarchy, that is all the windows owned by the frame and all the windows owned by them and so on, by sending each a WM_OWNERPOSCHANGE message. Each window receiving the a WM_OWNERPOSCHANGE message is expected to modify the SWP structure provided as the first parameter in the message to the appropriate values relative to the new position and/or size of its owner, whose new position and size is specified in a SWP structure provided as the second parameter in the message.

In this way the frame control can determine the state changes to be made to all the windows in its owner hierarchy, in accordance with the values specified in the SWP structure referenced by the pswp parameter. The rules for changing the state of these owned windows are: