lineGetDevConfig
The lineGetDevConfig
function returns an "opaque" data structure object, the contents of
which are specific to the line (service provider) and device class. The data
structure object stores the current configuration of a media-stream device
associated with the line device.
LONG lineGetDevConfig(
|
DWORD dwDeviceID, |
|
|
LPVARSTRING lpDeviceConfig, |
|
|
LPCSTR lpszDeviceClass |
|
|
); |
|
Parameters
dwDeviceID
The line
device to be configured.
lpDeviceConfig
A pointer to
the memory location of type VARSTRING where the device configuration structure is
returned. Upon successful completion of the request, this location is filled
with the device configuration. The dwStringFormat field in the VARSTRING
structure will be set to STRINGFORMAT_BINARY. Prior to calling lineGetDevConfig,
the application should set the dwTotalSize field of this structure to
indicate the amount of memory available to TAPI for returning information.
lpszDeviceClass
A pointer to
a NULL-terminated ASCII string that specifies the device class of the device
whose configuration is requested. Valid device class lineGetID strings are the same as
those specified for the function.
Return Values
Returns zero
if the function is successful or a negative error number if an error has
occurred. Possible return values are:
LINEERR_BADDEVICEID,
LINEERR_NODRIVER, LINEERR_INVALDEVICECLASS, LINEERR_OPERATIONUNAVAIL,
LINEERR_INVALPOINTER, LINEERR_RESOURCEUNAVAIL, LINEERR_STRUCTURETOOSMALL, LINEERR_OPERATIONFAILED,
LINEERR_NOMEM, LINEERR_UNINITIALIZED, LINEERR_NODEVICE.
Remarks
Call states
are device specific.
The lineGetDevConfig
function can be used to retrieve a data structure from TAPI that specifies the
configuration of a media stream device associated with a particular line
device. For example, the contents of this structure could specify data rate,
character format, modulation schemes, and error control protocol settings for a
"datamodem" media device associated with the line.
Typically, an
application will call lineGetID to identify the media stream device associated with a
line, and then call lineConfigDialog to allow the user to set up the device
configuration. It could then call lineGetDevConfig, and save the
configuration information in a phone book (or other database) associated with a
particular call destination. When the user later wishes to call the same
destination again, lineSetDevConfig can be used to restore the configuration
settings selected by the user. The functions lineSetDevConfig, lineConfigDialog,
and lineGetDevConfig can be used, in that order, to allow the user to
view and update the settings.
The exact
format of the data contained within the structure is specific to the line and
media stream API (device class), is undocumented, and is undefined. The
structure returned by this function cannot be directly accessed or manipulated
by the application, but can only be stored intact and later used in lineSetDevConfig
to restore the settings. The structure also cannot necessarily be passed to
other devices, even of the same device class (although this may work in some
instances, it is not guaranteed).
See Also