2.2.4.1.3.10 CreateAgent
The CreateAgent packet is transmitted from a TAPI client to a TAPI server in a remote procedure call. Sending this packet creates a new agent object. It generates a LINE_PROXYREQUEST packet to be sent to a registered proxy function handler, referencing a LINEPROXYREQUEST packet of type LINEPROXYREQUEST_CREATEAGENT.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Req_Func |
|||||||||||||||||||||||||||||||
|
Reserved1 |
|||||||||||||||||||||||||||||||
|
dwRequestID |
|||||||||||||||||||||||||||||||
|
lpContext |
|||||||||||||||||||||||||||||||
|
hLine |
|||||||||||||||||||||||||||||||
|
lpszAgentID |
|||||||||||||||||||||||||||||||
|
lpszAgentPIN |
|||||||||||||||||||||||||||||||
|
lphAgentContext |
|||||||||||||||||||||||||||||||
|
Reserved2 |
|||||||||||||||||||||||||||||||
|
Reserved3 |
|||||||||||||||||||||||||||||||
|
Reserved4 |
|||||||||||||||||||||||||||||||
|
Reserved5 |
|||||||||||||||||||||||||||||||
|
Reserved6 |
|||||||||||||||||||||||||||||||
|
Reserved7 |
|||||||||||||||||||||||||||||||
|
Reserved8 |
|||||||||||||||||||||||||||||||
|
VarData (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
Req_Func (4 bytes): An unsigned 32-bit integer. The identifier of the function that will be invoked on the remote server. This value MUST be set to 146.
-
Return Values
-
On completion of ClientRequest, this field contains the result of the encapsulated telephony request. A nonzero request ID value indicates that the request is in progress and will complete asynchronously and a LINEERR_Constants value indicates synchronous failure.
-
MUST return a request identifier if the asynchronous operation starts; otherwise, the function MUST return one of the following error values:
-
Name
Value
LINEERR_INVALLINEHANDLE
0x8000002B
LINEERR_INVALPARAM
0x80000032
LINEERR_NOMEM
0x80000044
LINEERR_OPERATIONFAILED
0x80000048
LINEERR_OPERATIONUNAVAIL
0x80000049
LINEERR_RESOURCEUNAVAIL
0x8000004B
LINEERR_UNINITIALIZED
0x80000050
Reserved1 (4 bytes): An unsigned 32-bit integer. MUST be set to zero when sent and MUST be ignored on receipt.
dwRequestID (4 bytes): An unsigned 32-bit integer. The identifier of the asynchronous request.
-
Value
Meaning
0x00000000
The server MUST generate a unique positive request ID to return as the Ack_ReturnValue.
0x00000001 — 0x7FFFFFFF
The server MUST use this value instead of generating a unique positive request ID.
lpContext (4 bytes): An unsigned 32-bit integer. The opaque, client-specified value that is used by the client upon request completion; MUST be returned by the server in the request completion packet.
hLine (4 bytes): An HLINE. The handle to the line device. This field MUST have been obtained by sending the Open packet.
lpszAgentID (4 bytes): An unsigned 32-bit integer. The offset, in bytes, of a null-terminated Unicode string that contains the agent identifier in the VarData field. This field is set to TAPI_NO_DATA (0xFFFFFFFF) if no agent identifier was specified.
lpszAgentPIN (4 bytes): An unsigned 32-bit integer. The offset, in bytes, of a null-terminated Unicode string that contains the agent PIN or password in the VarData field. This field is set to TAPI_NO_DATA (0xFFFFFFFF) if no agent PIN was specified.
lphAgentContext (4 bytes): An unsigned 32-bit integer. The opaque, client-specified value that is used by the client upon request completion; MUST be returned by the server in the request completion packet.
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): Contains the null-terminated Unicode strings that are indicated in the lpszAgentID and lpszAgentPIN fields.