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.
A version of this page is also available for
4/8/2010

This function is used as a general extension mechanism to enable a Telephony API implementation to provide features not described in the other operations. The meanings of these extensions are device specific.

Syntax

LONG TSPIAPI TSPI_phoneDevSpecific(
  DRV_REQUESTID 
dwRequestID, 
  HDRVPHONE 
hdPhone, 
  LPVOID 
lpParams, 
  DWORD 
dwSize 
);

Parameters

dwRequestID

Identifier of the asynchronous request.

hdPhone

Handle to the phone on which a device-specific operation is to be performed.

lpParams

Pointer to a memory area used to hold a parameter block. Its interpretation is device specific. The lpParamsparameter should not contain pointers. To get information back to the application from the TSPI_phoneDevSpecificfunction, the service provider sends a PHONE_DEVSPECIFICmessage with the information.

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 it is an error number if an error occurs. The following table shows the return values for this method.

Value Description

PHONEERR_INVALPHONEHANDLE

The handle to the phone is invalid.

PHONEERR_OPERATIONUNAVAIL

The operation is unavailable.

PHONEERR_INVALPOINTER

The pointer is invalid.

PHONEERR_NOMEM

Not enough memory is available.

PHONEERR_OPERATIONFAILED

The operation failed.

PHONEERR_RESOURCEUNAVAIL

The resource is unavailable.

Remarks

Additional return values are device specific.

This operation provides a generic parameter profile. The interpretation of the parameter block is device specific. Indications and replies that are device specific should use the PHONE_DEVSPECIFICmessage.

This function is called in direct response to an application that has called the TAPI phoneDevSpecificfunction. TAPI translates the hPhoneparameter used at the TAPI level to the corresponding hdPhoneparameter used at the TSPI level. The lpParamsbuffer is passed through unmodified.

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 (vendor-specific) documentation that describes what extensions are defined.

Note:
An application that relies on these device-specific extensions is typically not portable in working with other service provider environments.

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