lineGetID (Compact 2013)

3/26/2014

This function returns a device identifier for the specified device class associated with the selected line, address, or call.


LONG lineGetID(
  HLINE hLine, 
  DWORD dwAddressID, 
  HCALL hCall, 
  DWORD dwSelect, 
  LPVARSTRING lpDeviceID, 
  LPCWSTR lpszDeviceClass
);

hLine

[in] Handle to an open line device.

dwAddressID

[in] Address on the given open line device.

hCall

[in] Handle to a call.

dwSelect

[in] Value that specifies whether the requested device identifier is associated with the line, address or a single call. The dwSelect parameter can only have a single flag set. This parameter uses LINECALLSELECT.

lpDeviceID

[out] Pointer to a memory location of type VARSTRING, where the device identifier is returned. Upon successful completion of the request, this location is filled with the device identifier. The format of the returned data depends on the method used by the device class API for naming devices. Prior to calling lineGetID, the application should set the dwTotalSize member of this structure to indicate the amount of memory available to TAPI for returning data.

lpszDeviceClass

[out] Pointer to a null-terminated string that specifies the device class of the device whose identifier is requested. The device class is dependent on the service provider.

Zero indicates success. A negative error number indicates that an error occurred. The following table shows the return values for this function.

Value

Description

LINEERR_INVALLINEHANDLE

Invalid line handle

LINEERR_INVALCALLSELECT

Invalid call selected

LINEERR_NOMEM

No memory available

LINEERR_RESOURCEUNAVAIL

The resource is unavailable

LINEERR_INVALADDRESSID

Invalid address id

LINEERR_INVALPOINTER

Invalid pointer

LINEERR_OPERATIONUNAVAIL

The operation is unavailable

LINEERR_STRUCTURETOOSMALL

The structure is too small

LINEERR_INVALCALLHANDLE

Invalid call handle

LINEERR_NODEVICE

No device found

LINEERR_OPERATIONFAILED

The operation failed

LINEERR_UNINITIALIZED

The parameter is uninitialized

The lineGetID function can be used to retrieve a line-device identifier when given a line handle. This function can also be used to obtain the device identifier of a phone device or media device (for device classes such as COM, wave, phone, line, or NDIS) associated with a call, address or line. The identifier can then be used with the appropriate API (such as phone, wave) to select the corresponding media device associated with the specified call.

The following table shows device class names.

Device class name

Description

comm *

Communication port

comm/datamodem *

Modem through a communication port

comm/datamodem/portname

Name of the device to which a modem is connected

wave/in

Wave audio device (input only)

wave/out

Wave audio device (output only)

tapi/line *

Line device

tapi/phone

Phone device

ndis *

Network device

tapi/terminal

Terminal device

A vendor that defines a device-specific media mode also needs to define the corresponding device-specific (proprietary) API to manage devices of the media mode. To avoid collisions on device class names assigned independently by different vendors, a vendor should select a name that uniquely identifies both the vendor and, following it, the media type (for example, Intel/video).

Header

tapi.h

Library

TAPI32.dll

Show: