lineDevSpecificFeature
The lineDevSpecificFeature
function enables service providers to provide access to features not offered by
other TAPI functions. The meaning of these extensions are device specific, and
taking advantage of these extensions requires the application to be fully aware
of them.
LONG lineDevSpecificFeature(
HLINE hLine, |
|
DWORD dwFeature, |
|
LPVOID lpParams, |
|
DWORD dwSize |
|
); |
|
Parameters
hLine
A handle to
the line device.
dwFeature
The feature
to invoke on the line device. This parameter uses the PHONEBUTTONFUNCTION_
constants.
lpParams
A pointer to
a memory area used to hold a feature-dependent parameter block. The format of
this parameter block is device specific and its contents are passed through by
TAPI to or from the service provider.
dwSize
The size of
the buffer in bytes.
Return Values
Returns a
positive request ID if the function will be completed asynchronously, or a
negative error number if an error has occurred. The dwParam2 parameter
of the corresponding LINE_REPLY
LINEERR_INVALFEATURE,
LINEERR_OPERATIONUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED,
LINEERR_INVALPOINTER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.
Additional
return values are device specific.
Remarks
This
operation is part of the Extended Telephony services. It provides access to a
device-specific feature without defining its meaning. This operation is only
available if the application has successfully negotiated a device-specific
extension version.
This function
provides the application with phone feature-button emulation capabilities. When
an application invokes this operation, it specifies the equivalent of a
button-press event. This method of invoking features is device dependent, as
TAPI does not define their meaning. Note that an application that relies on
these device-specific extensions will typically not work with other service
provider environments.
Note also
that the structure pointed to by lpParams should not contain any
pointers because they would not be properly translated (thunked) when running a
16-bit application in a 32-bit version of TAPI and vice versa.
See Also