ATL's control hosting API is the set of functions that allows any window to act as an ActiveX control container. These functions can be statically or dynamically linked into your project since they are available as source code and exposed by ATL.dll. The control hosting functions are listed in the table below.
Function | Description |
AtlAxAttachControl | Creates a host object, connects it to the supplied window, then attaches an existing control. |
AtlAxCreateControl | Creates a host object, connects it to the supplied window, then loads a control. |
AtlAxCreateControlEx | Creates a host object, connects it to the supplied window, then loads a control (also allows event sinks to be set up). |
AtlAxCreateDialog | Creates a modeless dialog box from a dialog resource and returns the window handle. |
AtlAxDialogBox | Creates a modal dialog box from a dialog resource. |
AtlAxGetControl | Returns the IUnknown interface pointer of the control hosted in a window. |
AtlAxGetHost | Returns the IUnknown interface pointer of the host object connected to a window. |
AtlAxWinInit | Initializes the control hosting code. |
AtlAxWinTerm | Uninitializes the control hosting code. |
The HWND parameters in the first three functions must be an existing window of (almost) any type. If you call any of these three functions explicitly (typically, you won't have to), do not pass a handle to a window that's already acting as a host (if you do, the existing host object won't be freed).
The first five functions call AtlAxWinInit implicitly.
Note The control hosting API forms the foundation of ATL's support for ActiveX control containment. However, there is usually little need to call these functions directly if you take advantage of or make full use of ATL's wrapper classes. For more information, see How Do I Create a Control Instance? and Which ATL Classes Facilitate ActiveX Control Containment?