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


lineInitialize (Compact 2013)

3/26/2014

This function initializes the application's use of Tapi.dll for subsequent use of the line abstraction. It registers the application's specified notification mechanism and returns the number of line devices available to the application. A line device is any device that provides an implementation for the line-prefixed functions in TAPI.

Syntax

LONG lineInitialize(
  LPHLINEAPP lphLineApp, 
  HINSTANCE hInstance, 
  LINECALLBACK lpfnCallback, 
  LPCWSTR lpszAppName, 
  LPDWORD lpdwNumDevs
);

Parameters

  • lphLineApp
    [out] Pointer to a location that is filled with the application's usage handle for TAPI.
  • hInstance
    [in] Instance handle of the client application or DLL.
  • lpfnCallback
    [in] Pointer to a callback function that is invoked to determine status and events on the line device, addresses, or calls. For more information, see lineCallbackFunc.
  • lpszAppName
    [in] Pointer to a null-terminated string that contains only displayable Unicode characters. If this parameter is not NULL, it contains an application-supplied name for the application. This name is provided in the LINECALLINFO structure to indicate, in a user-friendly way, which application originated, or originally accepted or answered the call. This data can be useful for call logging purposes. If lpszAppName is NULL, the application's file name is used instead.
  • lpdwNumDevs
    [out] Pointer to a DWORD-sized location. Upon successful completion of this request, this location is filled with the number of line devices available to the application.

Return Value

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_INVALAPPNAME

Invalid application name

LINEERR_OPERATIONFAILED

The operation failed

LINEERR_INIFILECORRUPT

The INI file is corrupted

LINEERR_RESOURCEUNAVAIL

The resource is unavailable

LINEERR_INVALPOINTER

Invalid pointer

LINEERR_REINIT

The application attempted to initialize TAPI twice.

LINEERR_NODRIVER

No driver was found

LINEERR_NODEVICE

No device was found

LINEERR_NOMEM

No memory is available

LINEERR_NOMULTIPLEINSTANCE

Multiple instances were not found

Remarks

The application can refer to individual line devices by using line device identifiers that range from zero to dwNumDevs minus one. An application should not assume that these line devices are capable of anything beyond what is specified by the Basic Telephony subset without first querying their device capabilities using the lineGetDevCaps function.

Applications should not invoke lineInitialize without subsequently opening a line (at least for monitoring). If the application is not monitoring and not using any devices, it should call the lineShutdown function so that memory resources allocated by Tapi.dll can be released if not needed.

Requirements

Header

tapi.h

Library

TAPI32.dll

See Also

Reference

TAPI Line Device Functions
lineCallbackFunc
lineGetDevCaps
lineShutdown
LINECALLINFO