The LINE_REMOVE message is sent to inform an application of the removal (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.
LINE_REMOVE
dwDevice = (DWORD) 0;
dwCallbackInstance = (DWORD) 0;
dwParam1 = (DWORD) dwDeviceID;
dwParam2 = (DWORD) 0;
dwParam3 = (DWORD) 0;
No return value.
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.
Version: Use TAPI version 2.0 and later
Header: Declared in tapi.h.
LINE_CLOSE, LINE_LINEDEVSTATE, lineInitializeEx