LINEDEVSTATUS
The LINEDEVSTATUS
structure describes the current status of a line device.
typedef struct linedevstatus_tag {
DWORD dwTotalSize;
DWORD dwNeededSize;
DWORD dwUsedSize;
DWORD dwNumOpens;
DWORD dwOpenMediaModes;
DWORD dwNumActiveCalls;
DWORD dwNumOnHoldCalls;
DWORD dwNumOnHoldPendCalls;
DWORD dwLineFeatures;
DWORD dwNumCallCompletions;
DWORD dwRingMode;
DWORD dwSignalLevel;
DWORD dwBatteryLevel;
DWORD dwRoamMode;
DWORD dwDevStatusFlags;
DWORD dwTerminalModesSize;
DWORD dwTerminalModesOffset;
DWORD dwDevSpecificSize;
DWORD dwDevSpecificOffset;
DWORD
dwAvailableMediaModes;
DWORD
dwAppInfoSize;
DWORD
dwAppInfoOffset;
} LINEDEVSTATUS, FAR *LPLINEDEVSTATUS;
Members
dwTotalSize
The total
size in bytes allocated to this data structure.
dwNeededSize
The size in
bytes for this data structure that is needed to hold all the returned
information.
dwUsedSize
The size in
bytes of the portion of this data structure that contains useful information.
dwNumOpens
The number of
active opens on the line device.
dwOpenMediaModes
This bit
array indicates for which media modes the line device is currently open.
dwNumActiveCalls
The number of
calls on the line in call states other than idle, onhold, onholdpendingtransfer,
and onholdpendingconference.
dwNumOnHoldCalls
The number of
calls on the line in the onhold state.
dwNumOnHoldPendingCalls
The number of
calls on the line in the onholdpendingtransfer or onholdpendingconference
states.
dwLineFeatures
This field
specifies the line-related API functions that are currently available on this
line. It uses the following LINEFEATURE_ constants:
LINEFEATURE_DEVSPECIFIC
Device-specific
operations can be used on the line.
LINEFEATURE_DEVSPECIFICFEAT
Device-specific
features can be used on the line.
LINEFEATURE_FORWARD
Forwarding of
all addresses can be used on the line.
LINEFEATURE_MAKECALL
An outbound
call can be placed on this line using an unspecified address.
LINEFEATURE_SETMEDIACONTROL
Media control
can be set on this line.
LINEFEATURE_SETTERMINAL
Terminal modes
for this line can be set.
dwNumCallCompletions
The number of
outstanding call completion requests on the line.
dwRingMode
The current
ring mode on the line device.
dwBatteryLevel
The current
battery level of the line device hardware. This is a value in the range
0x00000000 (battery empty) to 0x0000FFFF (battery full).
dwSignalLevel
The current
signal level of the connection on the line. This is a value in the range
0x00000000 (weakest signal) to 0x0000FFFF (strongest signal).
dwRoamMode
The current
roam mode of the line device. It uses the following LINEROAMMODE_ constants:
LINEROAMMODE_UNKNOWN
The roam mode
is currently unknown but may become known later.
LINEROAMMODE_UNAVAIL
The roam mode
is unavailable and will not be known.
LINEROAMMODE_HOME
The line is
connected to the home network node.
LINEROAMMODE_ROAMA
The line is
connected to the Roam-A carrier and calls are charged accordingly.
LINEROAMMODE_ROAMB
The line is
connected to the Roam-B carrier and calls are charged accordingly.
dwDevStatusFlags
The size in
bytes of this data structure that contains useful information, of type
LINEDEVSTATUSFLAGS_.
LINEDEVSTATUSFLAGS_CONNECTED
Specifies
whether the line is connected to TAPI. If TRUE, the line is connected and API
is able to operate on the line device. If FALSE, the line is disconnected and
the application is unable to control the line device using TAPI.
LINEDEVSTATUSFLAGS_LOCKED
This bit is
most often used with line devices associated with cellular phones. Many
cellular phones have a security mechanism that requires the entry of a password
to enable the phone to place calls. This bit may be used to indicate to
applications that the phone is locked and cannot place calls until the password
is entered on the user interface of the phone, so that the application can
present an appropriate alert to the user.
LINEDEVSTATUSFLAGS_MSGWAIT
This field
indicates whether the line has a message waiting. If TRUE, a message is
waiting; if FALSE, no message is waiting.
LINEDEVSTATUSFLAGS_INSERVICE
This field
indicates whether the line is in service. If TRUE, the line is in service; if
FALSE, the line is out of service.
dwTerminalModesSize
dwTerminalModesOffset
The size in
bytes of the variably sized device field containing an array with DWORD-sized
entries, and the offset in bytes from the beginning of this data structure.
This array is indexed by terminal IDs, in the range from zero to dwNumTerminals
minus one. Each entry in the array specifies the current terminal modes for the
corresponding terminal set using the lineSetTerminal
LINETERMMODE_LAMPS
Lamp events
sent from the line to the terminal.
LINETERMMODE_BUTTONS
Button-press
events sent from the terminal to the line.
LINETERMMODE_DISPLAY
Display
information sent from the line to the terminal.
LINETERMMODE_RINGER
Ringer-control
information sent from the switch to the terminal.
LINETERMMODE_HOOKSWITCH
Hookswitch
events sent between the terminal and the line.
LINETERMMODE_MEDIATOLINE
The
unidirectional media stream from the terminal to the line associated with a
call on the line. Use this value when the routing of both unidirectional
channels of a call's media stream can be controlled independently.
LINETERMMODE_MEDIAFROMTERM
This is the
unidirectional media stream from the line to the terminal associated with a
call on the line. Use this value when the routing of both unidirectional
channels of a call's media stream can be controlled independently.
LINETERMMODE_MEDIABIDIRECT
This is the
bidirectional media stream associated with a call on the line and the terminal.
Use this value when the routing of both unidirectional channels of a call's
media stream cannot be controlled independently.
dwDevSpecificSize
dwDevSpecificOffset
The size in
bytes of the variably sized device-specific field, and the offset in bytes from
the beginning of this data structure.
dwAvailableMediaModes
Indicates the
media modes that can be invoked on new calls created on this line device, when
the dwLineFeatures field indicates that new calls are possible. If this
field is zero, it indicates that the service provider either does not know or
cannot indicate which media modes are available, in which case any or all of
the media modes indicated in the dwMediaModes field in LINEDEVCAPS
dwAppInfoSize
dwAppInfoOffset
Length in bytes
and offset from the beginning of LINEDEVSTATUS of an array of LINEAPPINFO
Remarks
Device-specific
extensions should use the DevSpecific (dwDevSpecificSize and dwDevSpecificOffset)
variably sized area of this data structure.
These members
dwAvailableMediaModes through dwAppInfoOffset are available only
to applications that open the line device with an API version of 0x00020000 or
greater.
See Also