6.11 Unsolicited Event Handling

During the course of a telephonic session, the WAN miniport NIC driver will most likely need to notify the NDISTAPI driver of unsolicited events. Typical examples of unsolicited events are an incoming call on an open line, a state transition on an existing call (for example, from ringing to connected), or a change in line-device status (from in-service to out-of-service or vice versa).

The NDIS_STATUS_TAPI_INDICATION status is used when reporting spontaneously occurring events on the line or on a call on the line to the NDISTAPI driver. The miniport calls NdisMIndicateStatus, specifying a GeneralStatus of NDIS_STATUS_TAPI_INDICATION and a StatusBuffer parameter which points to an initialized structure of type NDIS_TAPI_EVENT.

This structure contains the following members:

Structure Member

Meaning

htLine

Specifies the NDISTAPI driver’s handle for the line on which the event occurred.

htCall

For line-related events where there is no call, this parameter should be zero; otherwise, it is the NDISTAPI driver’s handle for the call related to the reported event.

ulMsg

Specifies the event type, of the form LINE_XXX.

ulParam1

An event-specific parameter, for instance, a pointer to a structure that describes the specific event.

ulParam2

Same as above.

ulParam3

Same as above.

The notification messages of concern to miniport developers are the following: