LINE_REMOVE

This message is sent to inform an application of the removal, or deletion from the system, of a line device. Generally, this is not used for “temporary” removals, such as extraction of PCMCIA devices, but only for permanent removals in which the device would no longer be reported by the service provider if TAPI were reinitialized.

At a Glance

Header file: Tapi.h
Windows CE versions: 1.0 and later

Syntax

LINE_REMOVE dwDevice = (DWORD) 0;
dwCallbackInstance = (DWORD) 0; dwParam1 = (DWORD) dwDeviceID;
dwParam2 = (DWORD) 0; dwParam3 = (DWORD) 0;

Parameters

dwDevice

Reserved; set to zero.

dwCallbackInstance

Reserved; set to zero.

dwParam1

Specifies the identifier of the line device that was removed.

dwParam2

Reserved; set to zero.

dwParam3

Reserved; set to zero.

Return Values

None.

Remarks

Applications supporting TAPI version 2.0 or later are sent a LINE_REMOVE message. This informs them that the device has been removed from the system. The LINE_REMOVE message is preceded by a LINE_CLOSE message on each line handle, if the application had the line open. This message is sent to all applications supporting TAPI version 2.0 or later that have called lineInitializeEx, including those that do not have any line devices open at the time.

Older applications are sent a LINE_LINEDEVSTATE message specifying LINEDEVSTATE_REMOVED, followed by a LINE_CLOSE message. Unlike the LINE_REMOVE message, however, these older applications can receive these messages only if they have the line open when it is removed. If they do not have the line open, their only indication that the device was removed would be receiving a LINEERR_NODEVICE error when they attempt to access the device.

After a device has been removed, any attempt to access the device by its device identifier results in a LINEERR_NODEVICE error. After all TAPI applications have shutdown so that TAPI can restart, and when TAPI is reinitialized, the removed device no longer occupies a device identifier.

Implementation Note

It is TAPI that returns this LINEERR_NODEVICE; after a LINE_REMOVE message is received from a service provider; no further calls are made to that service provider using that line device identifier.