lineClose
The lineClose
function closes the specified open line device.
LONG lineClose(
HLINE hLine |
|
); |
|
Parameters
hLine
A handle to
the open line device to be closed. After the line has been successfully closed,
this handle is no longer valid.
Return Values
Returns zero
if the request is successful or a negative error number if an error has
occurred. Possible return values are:
LINEERR_INVALLINEHANDLE,
LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED,
LINEERR_OPERATIONFAILED, LINEERR_OPERATIONUNAVAIL.
Remarks
If an
application calls lineClose while it still has active calls on the
opened line, the application's ownership of these calls is revoked. If the
application was the sole owner of these calls, the calls are dropped as well.
It is good programming practice for an application to dispose of the calls it
owns on an opened line by explicitly relinquishing ownership and/or by dropping
these calls prior to closing the line.
If the close
was successful, a LINE_LINEDEVSTATE
Service
providers may find it useful or necessary to forcibly reclaim line devices from
an application that has the line open. This may be useful to prevent a
misbehaved application from monopolizing the line device for too long. If this
happens, a LINE_CLOSE message is sent to the application, specifying the line
handle of the line device that was closed.
The lineOpen
function allocates resources to the invoking application, and applications may
be prevented from opening a line if resources are unavailable. Therefore, an
application that only occasionally uses a line device (such as for making
outbound calls) should close the line to free resources and allow other
applications to open the line.
See Also