Asynchronous Spontaneous Events

There is another class of asynchronous events besides those described above. These events are "spontaneous" in the sense that they are not direct results of corresponding requests. These events are detected in such cases as when an incoming call arrives, or when an outbound call goes from a "ringing" to an "answering" state. When tapi32.dll first initializes interactions with the TSPI for a particular device, it passes a pointer to a callback procedure to be called for reporting such spontaneous events. Along with this procedure pointer is a device handle that the service provider includes as one of the actual parameters to the callback.