A custom control must adhere to the ActiveX automation model; however, conventional ActiveX in-place activation and embedding are not supported by Windows CE for the Auto PC.
When you create a custom ActiveX control, it must meet the following requirements:
An Auto PC uses a form instead of a window to display information. There are no HWND data types, and the windowing facilities of the User32.dll are not used. For example, obtain a handle to a device context from a form rather than from a window.
When an interface is implemented as a dual interface, the methods in that interface can be invoked using IDispatch::Invoke or direct vtable calls. For an object created with Visual Basic, using IDispatch::Invoke enables access the object methods. However, if an object is created with C or C++, vtables are typically used.
IASControl contains methods that enable an application to specify basic properties, such as size, placement, or color, as well as methods that the form control uses.
A control may be passed a pointer to these interfaces.
A control must be designed to register itself as an in-process server when initialized.
You can develop your own control interfaces. These interfaces must follow the control guidelines, and must be speech-enabled. Because most existing ActiveX controls do not meet these requirements, you must custom-create many controls.