[This is preliminary documentation and subject to change.]
This method is called before an application registers the ITCallNotification outgoing interface. This informs TAPI which calls and call events are relevant to an application. An application can register multiple ITCallNotification interfaces. This method must be called before each registration.
For example, say that an application wants to own one type of call and monitor another type of call, and to register different outgoing interfaces for the calls. It would call RegisterCallTypes(FALSE, TRUE, FALSE, OwnerTypes), then register the Owner interface, then call RegisterCallTypes(FALSE, FALSE, TRUE, MonitorTypes) then register the Monitor interface.
An application can also receive all events on a single interface. For example, by calling RegisterCallTypes(TRUE, TRUE, TRUE, MediaTypes), then registering the interface, the application will receive owner, monitor, and outgoing messages.
The fOutgoing parameter is useful for applications that only make outgoing calls and are not interested in other calls besides their own. By calling RegisterCallTypes(TRUE, FALSE, FALSE, NULL), then registering the interface, the application will only receive event notifications about their own calls.
HRESULT RegisterCallTypes(
VARIANT_BOOL fOutgoing,
VARIANT_BOOL fOwner,
VARIANT_BOOL fMonitor,
VARIANT MediaTypes
);
TBD