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 enables service providers to provide access to features not offered by other TAPI functions. The meaning of the extensions are device specific, and taking advantage of these extensions requires the application to be fully aware of them.

Syntax

LONG WINAPI lineDevSpecific(
  HLINE 
hLine,
  DWORD 
dwAddressID,
  HCALL 
hCall,
  LPVOID 
lpParams,
  DWORD 
dwSize 
);

Parameters

hLine

Handle to a line device. This parameter is required.

dwAddressID

Address identifier on the given line device. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades.

hCall

Handle to a call. This parameter is optional, but if it is specified, the call it represents must belong to the hLineline device. The call state of hCallis device specific.

lpParams

Pointer to a memory area used to hold a parameter block. The format of this parameter block is device specific and its contents are passed by TAPI to or from the service provider.

dwSize

Size, in bytes, of the parameter block area.

Return Value

Returns a positive request identifier if the function is completed asynchronously, or a negative error number if an error occurs. The dwParam2parameter of the corresponding LINE_REPLYmessage is zero if the function succeeds, or it is a negative error number if an error occurs. The following table shows the return values for this function.

Value Description

LINEERR_INVALADDRESSID

The address identifier is invalid.

LINEERR_OPERATIONUNAVAIL

The operation is unavailable.

LINEERR_INVALCALLHANDLE

The handle to the call is invalid.

LINEERR_OPERATIONFAILED

The operation failed.

LINEERR_INVALLINEHANDLE

The handle to the line device is invalid.

LINEERR_RESOURCEUNAVAIL

The resources are unavailable.

LINEERR_INVALPOINTER

The pointer is invalid.

LINEERR_UNINITIALIZED

A parameter is uninitialized.

LINEERR_NOMEM

Not enough memory is available.

Additional return values are device specific.

Remarks

This operation is part of the Extended Telephony services. It provides access to a device-specific feature without defining its meaning. This operation is only available if the application has successfully negotiated a device-specific extension version.

This function provides a generic parameter profile. The interpretation of the parameter structure is device specific. Whether dwAddressIDand/or hCallare expected to be valid is device specific. If specified, they must belong to hLine. Indications and replies sent back the application that are device specific should use the LINE_DEVSPECIFICmessage.

A service provider can provide access to device-specific functions by defining parameters for use with this function. Applications that want to make use of these device-specific extensions should consult the device-specific (in this case, vendor-specific) documentation that describes what extensions are defined. Typically, an application that relies on these device-specific extensions is not able to work with other service provider environments.

In Windows Embedded CE, Unimodem uses lineDevSpecificto support an interface for programmatically modifying a DevConfig.

Note:
This function is for TAPI version 2.0 and later.

Requirements

Header tapi.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also