lineTranslateAddress
The lineTranslateAddress
function translates the specified address into another format.
LONG lineTranslateAddress(
HLINEAPP hLineApp, |
|
DWORD dwDeviceID, |
|
DWORD dwAPIVersion, |
|
LPCSTR lpszAddressIn, |
|
DWORD dwCard, |
|
DWORD dwTranslateOptions, |
|
LPLINETRANSLATEOUTPUT lpTranslateOutput |
|
); |
|
Parameters
hLineApp
The
application handle returned by lineInitializeEx
dwDeviceID
The device ID
for the line device upon which the call is intended to be dialed, so that
variations in dialing procedures on different lines can be applied to the
translation process.
dwAPIVersion
Indicates the
highest version of TAPI supported by the application (not necessarily
the value negotiated by lineNegotiateAPIVersion
lpszAddressIn
A pointer to
a NULL-terminated ASCII string containing the address from which the
information is to be extracted for translation. Must be in either the canonical
address format, or an arbitrary string of dialable digits (non-canonical). This
parameter must not be NULL. If the AddressIn contains a subaddress or
name field, or additional addresses separated from the first address by ASCII
CR and LF characters, only the first address is translated, and the remainder
of the string is returned to the application without modification.
dwCard
The credit
card to be used for dialing. This field in only valid if the CARDOVERRIDE bit
is set in dwTranslateOptions. This field specifies the permanent ID of a
Card entry in the [Cards] section in the registry (as obtained from lineTranslateCaps)
which should be used instead of the PreferredCardID specified in the definition
of the CurrentLocation. It does not cause the PreferredCardID parameter
of the current Location entry in the registry to be modified; the override
applies only to the current translation operation. This field is ignored if the
CARDOVERRIDE bit is not set in dwTranslateOptions.
dwTranslateOptions
The
associated operations to be performed prior to the translation of the address
into a dialable string. This parameter uses the following LINETRANSLATEOPTION_
constants:
LINETRANSLATEOPTION_CARDOVERRIDE
If this bit
is set, dwCard specifies the permanent ID of a Card entry in the [Cards]
section in the registry (as obtained from lineTranslateCaps) which
should be used instead of the PreferredCardID specified in the
definition of the CurrentLocation. It does not cause the PreferredCardID
parameter of the current Location entry in the registry to be modified; the
override applies only to the current translation operation. The dwCard field
is ignored if the CARDOVERRIDE bit is not set.
LINETRANSLATEOPTION_CANCELCALLWAITING
If a Cancel Call
Waiting string is defined for the location, setting this bit will cause that
string to be inserted at the beginning of the dialable string. This is commonly
used by data modem and fax applications to prevent interruption of calls by
call waiting beeps. If no Cancel Call Waiting string is defined for the
location, this bit has no affect. Note that applications using this bit are
advised to also set the LINECALLPARAMFLAGS_SECURE bit in the dwCallParamFlags
field of the LINECALLPARAMS
LINETRANSLATEOPTION_FORCELOCAL
If the number
is local but would have been translated as a long distance call
(LINETRANSLATERESULT_INTOLLLIST bit set in the LINETRANSLATEOUTPUT
LINETRANSLATEOPTION_FORCELD
If the
address could potentially have been a toll call, but would have been translated
as a local call (LINETRANSLATERESULT_NOTINTOLLLIST bit set in the LINETRANSLATEOUTPUT
structure), this option will force it to be translated as long distance. This
is a temporary override of the toll list setting.
lpTranslateOutput
A pointer to
an application-allocated memory area to contain the output of the translation
operation, of type LINETRANSLATEOUTPUT. Prior to calling lineTranslateAddress,
the application should set the dwTotalSize field of this structure to
indicate the amount of memory available to TAPI for returning information.
Return Values
Returns zero
if the request is successful or a negative error number if an error has
occurred. Possible return values are:
LINEERR_BADDEVICEID,
LINEERR_INVALPOINTER, LINEERR_INCOMPATIBLEAPIVERSION, LINEERR_NODRIVER,
LINEERR_INIFILECORRUPT, LINEERR_NOMEM, LINEERR_INVALADDRESS,
LINEERR_OPERATIONFAILED, LINEERR_INVALAPPHANDLE, LINEERR_RESOURCEUNAVAIL,
LINEERR_INVALCARD, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALPARAM.
See Also