Within a top-level window, you can conceptualize that each HWND that comprises one of the technologies of an interoperation application has its own "airspace". Each pixel within the window belongs to exactly one HWND, which constitutes the airspace of that HWND. (Strictly speaking, there is more than one WPF airspace if there is more than one WPF HWND, but for purposes of explaining the concept, presume that there is only one in the examples given in this topic). The airspace concept implies that all layers or other windows that attempt to render above that pixel during application lifetime must be part of the same render-level technology. Attempting to render WPF pixels over Win32 leads to undesirable results, and is disallowed as much as possible through the interoperation APIs.
The first example illustrates an application that mixes Win32, DirectX, and WPF. Each technology uses its own separate, non-overlapping set of pixels, and there are no airspace issues.
.png)
But suppose you start from that application and create an animation that is controlled by the mouse pointer position and can thus attempt to render over any of these three regions. This would eventually violate airspace. No matter which technology was responsible for the animation itself, that technology would violate airspace of the two others. This is illustrated in the following picture, where the green circle is attempting to move around the window:
.png)
Another violation of airspace is if you try to use transparency/alpha blending between different technologies. In the picture below, the WPF box is violating Win32 and DirectX airspace. Because pixels in that WPF box are semi-transparent, they would have to be owned jointly by both DirectX and WPF, which is not possible. So this is another violation of airspace and cannot be built:
.png)
The previous three examples used rectangular regions, but the airspace is not necessarily rectangular. It can be a rectangle with a hole (for example, the Win32 airspace here is everything except the WPF and DirectX airspace):
.png)
Airspaces can also be completely nonrectangular, or any shape describable by a Win32 HRGN (region):
.png)