Unsolicited Event Handling (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
During the course of a telephonic session, the NDIS WAN miniport 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 driver calls NdisMIndicateStatus, specifying a GeneralStatusof NDIS_STATUS_TAPI_INDICATION and a StatusBufferparameter 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 example, a pointer to a structure that describes the specific event. |
ulParam2 |
Same as above. |
ulParam3 |
Same as above. |
The notification messages of concern to NDIS WAN miniport driver developers are the following:
LINE_ADDRESSSTATE
LINE_CALLINFO
LINE_CALLSTATE
LINE_CLOSE
LINE_DEVSPECIFIC
LINE_LINEDEVSTATE
LINE_NEWCALL
LINE_CALLDEVSPECIFIC