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


OID_TAPI_MAKE_CALL

The OID_TAPI_MAKE_CALL OID requests the miniport driver to place a call on the specified line to the specified destination address. Optionally, additional call parameters can be specified if the miniport driver is to use something other than default call-setup parameters.

Support for this request is mandatory.

This request uses an NDIS_TAPI_MAKE_CALL structure, defined as follows:

typedef struct _NDIS_TAPI_MAKE_CALL {         
         IN ULONG ulRequestID;
         IN HDRV_LINE hdLine;
         IN HTAPI_CALL htCall;
         OUT HDRV_CALL hdCall;
         IN ULONG ulDestAddressSize;
         IN ULONG ulDestAddressOffset;
         IN BOOLEAN bUseDefaultLineCallParams;
         IN LINE_CALL_PARAMS LineCallParams;
 } NDIS_TAPI_MAKE_CALL,   *PNDIS_TAPI_MAKE_CALL;

The members of this structure contain the following information:

  • ulRequestID
    Reserved.

  • hdLine
    Specifies the miniport driver's handle to the line on which the new call is to be originated.

  • htCall
    Specifies NDISTAPI's handle to the call.

    The miniport driver must save this handle for use in subsequent notifications, in particular the initial NDIS_MAC_LINE_UP notification to establish a link or data channel.

  • hdCall
    Specifies the miniport driver's handle to the call. The miniport driver must fill this member with its handle for the call before completing this request successfully. This handle is ignored if the miniport driver returns an error status.

  • ulDestAddressSize
    Specifies the size in bytes of the variable-size buffer at ulDestAddressOffset containing the destination address.

    This member can be zero for undialed addresses, such as for a hot phone, which always automatically connects to a predefined number, or when dialing will be done subsequently with an OID_TAPI_DIAL request.

  • ulDestAddressOffset
    Specifies the offset in bytes from the beginning of this structure to the destination address. This destination address is in standard dialable number format. This member should be zero if ulDestAddressSize is zero.

    If dialing will be done subsequently with an OID_TAPI_DIAL request, the driver should allocate an available call appearance on receipt of this request and remain in the dialtone state until dialing begins. Drivers of NICs that have inverse multiplexing capabilities can allow an application to specify many addresses at once.

  • bUseDefaultLineCallParams
    Specifies whether the miniport driver should use the default call-setup parameters or the parameters specified in LineCallParams when making the call. If this member is FALSE, the driver should ignore LineCallParams.

  • LineCallParams
    The LINE_CALL_PARAMS structure at this member specifies how the call should be set up. It selects elements such as the call's bearer mode, data rate, expected media mode, origination address, blocking of caller ID information, and dialing parameters. For more information, see ndistapi.h.

To place a telephony call on a previously opened line, an application supplies a specific destination address and information that specifies how the telephony call should be set up. The NDISWAN driver receives this address and information and passes them down in a NDIS_TAPI_MAKE_CALL structure to a WAN miniport driver in order to place a call on the given line. For example, for an underlying X.25 network, an X.25 WAN miniport driver can access the following information from NDIS_TAPI_MAKE_CALL:

  • The X.25 network address from the ulDestAddressOffset member

  • TRUE from the bUseDefaultLineCallParams member to inform the X.25 WAN miniport driver to use the call parameters in the LineCallParams member

  • X.25-facilities information from the ulDevSpecificOffset member of the LineCallParams member

  • X.25-user information from the ulUserUserInfoOffset member of the LineCallParams member

The MiniportQueryInformationfunction can return one of the following:

NDIS_STATUS_SUCCESS

NDIS_STATUS_PENDING

NDIS_STATUS_TAPI_ADDRESSBLOCKED

NDIS_STATUS_TAPI_BEARERMODEUNAVAIL

NDIS_STATUS_TAPI_CALLUNAVAIL

NDIS_STATUS_TAPI_DIALBILLING

NDIS_STATUS_TAPI_DIALQUIET

NDIS_STATUS_TAPI_DIALDIALTONE

NDIS_STATUS_TAPI_DIALPROMPT

NDIS_STATUS_TAPI_INUSE

NDIS_STATUS_TAPI_INVALBEARERMODE

NDIS_STATUS_TAPI_INVALMEDIAMODE

NDIS_STATUS_TAPI_INVALLINESTATE

NDIS_STATUS_TAPI_INVALRATE

NDIS_STATUS_TAPI_INVALLINEHANDLE

NDIS_STATUS_TAPI_INVALADDRESS

NDIS_STATUS_TAPI_INVALADDRESSID

NDIS_STATUS_TAPI_INVALCALLPARAMS

NDIS_STATUS_TAPI_RESOURCEUNAVAIL

NDIS_STATUS_TAPI_RATEUNAVAIL

NDIS_STATUS_TAPI_USERUSERINFOTOOBIG

NDIS_STATUS_FAILURE

 

 

Send comments about this topic to Microsoft