2.2.4.1.4.3 GetDevCaps
The GetDevCaps packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. Sending this packet queries a specified phone device to determine its telephony capabilities.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Req_Func |
|||||||||||||||||||||||||||||||
Reserved1 |
|||||||||||||||||||||||||||||||
hPhoneApp |
|||||||||||||||||||||||||||||||
dwDeviceID |
|||||||||||||||||||||||||||||||
dwTSPIVersion |
|||||||||||||||||||||||||||||||
dwExtVersion |
|||||||||||||||||||||||||||||||
lpPhoneCaps |
|||||||||||||||||||||||||||||||
Reserved2 |
|||||||||||||||||||||||||||||||
Reserved3 |
|||||||||||||||||||||||||||||||
Reserved4 |
|||||||||||||||||||||||||||||||
Reserved5 |
|||||||||||||||||||||||||||||||
Reserved6 |
|||||||||||||||||||||||||||||||
Reserved7 |
|||||||||||||||||||||||||||||||
Reserved8 |
|||||||||||||||||||||||||||||||
Reserved9 |
|||||||||||||||||||||||||||||||
VarData (variable) |
|||||||||||||||||||||||||||||||
... |
Req_Func (4 bytes): The identifier of the function that will be invoked on the remote server. This value MUST be set to 95.
-
Return Values
-
On completion of ClientRequest, this field MUST contain the result of the encapsulated telephony request. A value of 0 indicates success, and a PHONEERR_Constants value indicates failure. The remote server MUST complete this call synchronously.
-
Returns zero if the request succeeds or a negative error number if an error occurs. Common return values are:
-
Name
Value
PHONEERR_INVALAPPHANDLE
0x00000008
PHONEERR_INVALPOINTER
0x00000015
PHONEERR_BADDEVICEID
0x00000002
PHONEERR_OPERATIONFAILED
0x0000001C
PHONEERR_INCOMPATIBLEAPIVERSION
0x00000003
PHONEERR_OPERATIONUNAVAIL
0x0000001D
PHONEERR_INCOMPATIBLEEXTVERSION
0x00000004
PHONEERR_NOMEM
0x0000001A
PHONEERR_STRUCTURETOOSMALL
0x00000021
PHONEERR_RESOURCEUNAVAIL
0x0000001F
PHONEERR_NODRIVER
0x00000019
PHONEERR_UNINITIALIZED
0x00000022
PHONEERR_NODEVICE
0x00000018
Reserved1 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.
hPhoneApp (4 bytes): An HPHONEAPP. The handle to the application registration with TAPI. This field MUST have been obtained by sending the Initialize packet.
dwDeviceID (4 bytes): An unsigned 32-bit integer. The identifier of the phone device to be queried. A valid value of dwDeviceID is in the range 0 to dwNumDevs – 1. The client obtains dwNumDevs by sending a Initialize packet to the remote server.
dwTSPIVersion (4 bytes): An unsigned 32-bit integer. The version number of the TAPI to be used. The high-order word contains the major version number; the low-order word contains the minor version number. This number is obtained by using NegotiateAPIVersion.
dwExtVersion (4 bytes): An unsigned 32-bit integer. The version number of the service provider-specific extensions to be used. This number is obtained by using NegotiateExtVersion. It can be zero if no device-specific extensions are used. Otherwise, the high-order word contains the major version number; the low-order word contains the minor version number.
lpPhoneCaps (4 bytes): An unsigned 32-bit integer. The size, in bytes, of a PHONECAPS packet that contains phone device capability information on successful completion of the request.
-
On successful completion, this field contains the offset of the packet in the VarData field.
Reserved2 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved3 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved4 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved5 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved6 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved7 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved8 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
Reserved9 (4 bytes): An unsigned 32-bit integer. This field is used for padding and MUST be ignored on receipt. It can be any value.
VarData (variable): MUST be present on successful completion of the request. MUST contain a PHONECAPS packet.
-
The contents of this field are DWORD-aligned.