2.2.4.1.1.4 GetAddressCaps

The GetAddressCaps packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. Sending this packet queries the specified address on the specified line device to determine its telephony capabilities.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Req_Func

Reserved1

hLineApp

dwDeviceID

dwAddressID

dwTSPIVersion

dwExtVersion

lpAddressCaps

Reserved2

Reserved3

Reserved4

Reserved5

Reserved6

Reserved7

Reserved8

VarData (variable)

...

Req_Func (4 bytes): An unsigned 32-bit integer. The identifier of the function that is invoked on the remote server. This value MUST be set to 21.

Return Values

On completion of ClientRequest, this field contains the result of the encapsulated telephony request. A value of 0 indicates success, and a LINEERR_Constants value indicates failure. The remote server MUST complete this call synchronously.

MUST return zero, if the function succeeds; or an error number, if an error occurs.

Reserved1 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.

hLineApp (4 bytes): An HLINEAPP. A handle to the application's registration with TAPI. This field MUST have been obtained by sending the Initialize packet.

dwDeviceID (4 bytes): An unsigned 32-bit integer. The line device that contains the address 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.

dwAddressID (4 bytes): An unsigned 32-bit integer. The address on the specified line device whose capabilities are to be queried. An address identifier is permanently associated with an address; the identifier remains constant across operating system upgrades. valid value of dwAddressID is in the range 0 to dwNumAddresses – 1. The client obtains dwNumAddresses from the LIVEDEVCAPS obtained by sending a GetDevCaps packet to the remote server. This parameter is not validated by TAPI when this function is called.

dwTSPIVersion (4 bytes): An unsigned 32-bit integer. The version number of the TSPI 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 NegotiateAPIVersion.

dwExtVersion (4 bytes): An unsigned 32-bit integer. The version number of the service provider–specific extensions to be used. This number is zero if no device-specific extensions are to be used. Otherwise, the high-order word contains the major version number; the low-order word contains the minor version number. This value is obtained for this device by sending the NegotiateExtVersion packet. This parameter is not validated by TAPI when this function is called.

lpAddressCaps (4 bytes): An unsigned 32-bit integer. The size, in bytes, of a LINEADDRESSCAPS packet that is filled with address capabilities information upon successful completion of the request. On successful completion, this field contains the offset, in bytes, 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.

VarData (variable): Present on successful completion of the request. Contains a LINEADDRESSCAPS packet.

The contents of this field MUST be DWORD-aligned, as specified in [MS-DTYP] section 2.2.9.