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


OID_TAPI_CONDITIONAL_MEDIA_DETECTION

NDISTAPI makes this OID request to NDISWAN, which passes it down to WAN miniport drivers, whenever a client application uses LINEMAPPER as the dwDeviceID in the lineOpen function to request that lines be scanned to find one that supports the desired media mode(s) and call parameters.

NDISTAPI scans based on the union of the desired media modes and the other media modes currently being monitored on the line, to give each WAN miniport driver the opportunity to indicate whether it can simultaneously monitor for all of the requested media modes.

Support for this request is mandatory.

This request uses an NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION structure, defined as follows:

typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION {         
         IN ULONG ulRequestID;
         IN HDRV_LINE hdLine;
         IN ULONG ulMediaModes;
         IN LINE_CALL_PARAMS LineCallParams;
 } NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION,   *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;

The members of this structure contain the following information:

ulRequestID

Reserved.

hdLine

Specifies the miniport driver's handle to the line on which media monitoring and parameter capabilities are to be set.

ulMediaModes

Specifies the media mode(s) currently of interest to the calling application. This parameter uses the LINEMEDIAMODE constants. For more information, see ndistapi.h.

LineCallParams

The LINE_CALL_PARAMS structure specifies information that the line device should provide. The only relevant members for the purpose of this request are the following:

ULONG ulBearerMode;

ULONG ulMinRate;

ULONG ulMaxRate;

ULONG ulMediaMode;

ULONG ulCallParamFlags;

ULONG ulAddressMode;

If the value of ulAddressMode is LINEADDRESSMODE_ADDRESSID, any address on the line is acceptable. Otherwise, the value of ulAddressMode is LINEADDRESSMODE_DIALABLEADDR, indicating either that the miniport driver should search for a specific originating address (phone number), or, if it is a provider-specific extension, the ulOrigAddressSize/Offset and the ulDevSpecificSize/Offset values are also relevant. All other members of the LINE_CALL_PARAMS structure are irrelevant to this OID request.

The MiniportSetInformationfunction can return one of the following:

NDIS_STATUS_SUCCESS

NDIS_STATUS_PENDING

NDIS_STATUS_TAPI_INVALLINEHANDLE

NDIS_STATUS_TAPI_NODRIVER

NDIS_STATUS_TAPI_RESOURCEUNAVAIL

NDIS_STATUS_TAPI_INVALMEDIAMODE

NDIS_STATUS_FAILURE

If a miniport driver can monitor for the specified set of media modes and support the capabilities specified in CallParams, it completes the request with NDIS_STATUS_SUCCESS, but it leaves the active media monitoring modes for the line unchanged.

 

 

Send comments about this topic to Microsoft