Methods that are not required do not need to be implemented.
Optional methods must be implemented but may return E_NOTIMPL.
Additionally, it may support component categories, which are sets of interfaces grouped into areas of functionality and assigned a GUID. A container may or may not support data binding depending on the needs of its Active X control.
I'm working with an existing Active X control, we have a NPAPI for it, and it works well for the most part in Fire Fox.
There's an issue with it and I'm completely unfamiliar with NPAPI.
Active X control containers must also recognize and support certain status bits of the OLEMISC enumeration.
The following table shows which of the OLEMISC status bits are required and which are optional.
For a control to operate well in different containers, it must be able to rely on a minimum level of container functionality.
Active X control containers must provide support for the following: This section addresses the requirements for interfaces, methods, status bits, and special features of Active X control containers.This interface is required only when the container requires notifications, such as data change notifications from controls with IData Object, view change notifications from controls that are not active and have IView Object2, and other notifications from controls acting as standard embedded objects.An Active X control container can implement an interface without implementing every method in the interface.For methods that are not mandatory the container may simply return E_NOTIMPL, S_FALSE, or S_OK, as appropriate.There are two types of nonmandatory methods; not required and optional.I've connected SW to AD successfully, at least it appears so, and it's populated my People inventory with people.