Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function is used as a general extension mechanism to enable service providers to provide access to features not described in other operations. The meanings of the extensions are device-specific, and to take advantage of these extensions the application must be fully aware of them.
Syntax
LONG TSPIAPI TSPI_lineDevSpecific( DRV_REQUESTID dwRequestID, HDRVLINE hdLine, DWORD dwAddressID, HDRVCALL hdCall, LPVOID lpParams, DWORD dwSize ); |
Parameters
- dwRequestID
-
Identifier of the asynchronous request.
- hdLine
-
Service provider's handle to the line to be operated on.
- dwAddressID
-
Address on the specified line to be operated on. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades.
- hdCall
-
Service provider's handle to the call to be operated on. This field may have the value NULL. The call state of hdCallis device specific.
- lpParams
-
Pointer to a memory area used to hold a parameter block. The format of this parameter block is device specific.
- dwSize
-
Size, in bytes, of the parameter block area.
Return Value
Returns dwRequestIDor an error number if an error occurs. The lResultactual parameter of the corresponding ASYNC_COMPLETIONis zero if the function succeeds or an error number if an error occurs. The following table shows the return values for this function.
Value | Description |
---|---|
LINEERR_INVALLINEHANDLE |
The handle to the line is invalid. |
LINEERR_OPERATIONUNAVAIL |
The operation is unavailable. |
LINEERR_INVALADDRESSID |
The address id is invalid. |
LINEERR_OPERATIONFAILED |
The operation failed. |
LINEERR_NOMEM |
Not enough memory is available. |
LINEERR_RESOURCEUNAVAIL |
The resource is unavailable. |
Remarks
Additional return values are device specific.
This operation provides a generic parameter profile. The interpretation of the parameter structure is device specific. TAPI always specifies the hdLineparameter. Whether dwAddressIDand/or hdCallare expected to be valid is device specific. If specified, they must belong to hdLine. Indications and replies sent back to the application that are device specific use the LINE_DEVSPECIFICmessage.
This function is called in direct response to an application calling the TAPI function lineDevSpecific. TAPI translates the hLineand hCallparameters used at the TAPI level to the corresponding hdLineand hdCallparameters used at the TSPI level. The lpParamsbuffer is passed unmodified.
The lpParamsdata structure should not contain any pointers because they would not be properly translated (thunked) when running a 16-bit application in a 32-bit version of TAPI and vice versa.
A service provider can provide access to device-specific functions by defining parameters for use with this operation. Applications that want to make use of these device-specific extensions should consult the device-specific documentation (in this case meaning vendor-specific) that describes which extensions are defined.
An application that relies on device-specific extensions is not portable in working with other service provider environments. Use vendor-specific extensions for this type of application.
This operation is part of the Extended Telephony services. It only provides access to a device-specific feature without defining its meaning. This operation is only available if the application has successfully negotiated and selected a device-specific extension version.
Requirements
Header | tapicomn.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |