Поделиться через


Line Open (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.

A line is opened as a result of an application making a lineOpen request. The request is passed to the NDIS WAN miniport driver by TAPI to NDISTAPI to NDISWAN through NDIS as an OID_TAPI_OPENrequest. This request passes the NDIS_TAPI_OPEN structure specifying a device identifier, ulDeviceID, the device on which the line is to be opened. In addition, the structure contains htLine, a handle by which NDISTAPI refers internally to the line. The miniport driver must retain this line handle and return it in any status indications or responses to queries for that line, for example, when it reports a state change using NdisMIndicateStatus.

The NDIS WAN miniport driver creates a structure to represent the line in which to keep its line-specific context. The miniport driver should return a value representing this context in the hdLine member of NDIS_TAPI_OPEN before returning from MiniportQueryInformation. The line-specific value in hdLine will be passed to the miniport driver in subsequent calls concerning this line, in the OIDs passed to MiniportQueryInformationand MiniportSetInformationrequests, for example, in an OID_TAPI_MAKE_CALL.

Setting Modes On a Line (NDIS 5.1)

If an application makes a lineOpenrequest with owner privilege, the application indicates it wants to receive incoming calls. The application must specify the valid types of incoming calls it will accept on that line. For example, an application could request to receive such types as g3fax, interactive voice, datamodem, and so forth. MiniportSetInformationcan be called one or more times with the OID_TAPI_SET_DEFAULT_MEDIA_DETECTIONrequest to set up the types the miniport driver should accept on behalf of a client.

If more than one application sets the media types, and one application's list is different from another application's list, the miniport driver will be called to set the media-detection types to the union of those requested by the two applications. If an incoming call appears with a media mode type not specified in the preceding successfully completed OID_TAPI_SET_DEFAULT_MEDIA_DETECTION request for that line, the miniport driver should not indicate the new call to TAPI. If a miniport driver does not receive a OID_TAPI_SET_DEFAULT_MEDIA_DETECTION request for a line, it should not indicate any incoming calls; that line is to be used only for outbound calls.

An NDIS WAN miniport driver receives the OID_TAPI_CONDITIONAL_MEDIA_DETECTIONrequest to determine whether it supports the indication of new incoming calls of a specified media mode type or types, without actually committing the miniport driver. If the miniport driver can monitor for the indicated set of media modes and can support the capabilities indicated in LineCallParamsand can place a call of the specified type, it returns NDIS_STATUS_SUCCESS. If so, the miniport driver will most likely receive subsequent requests such as OID_TAPI_OPEN, OID_TAPI_SET_DEFAULT_MEDIA_DETECTION, and so forth.

 

 

Send comments about this topic to Microsoft