2.2.4.1.8.1 GetAsyncEvents

The GetAsyncEvents packet allows clients to use the "pull" model for retrieval of unsolicited events and completion notifications from the server by using this request.

In the "pull" model, servers notify clients that packets are available for retrieval by writing a DWORD value that matches the client dwInitContext parameter to the client mailslot.

On successful completion of this request, any packets that are returned to the client are packed in the variable-length data portion of the remote procedure call packet.


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

dwTotalBufferSize

dwNeededBufferSize

dwUsedBufferSize

Reserved2

Reserved3

Reserved4

Reserved5

Reserved6

Reserved7

Reserved8

Reserved9

Reserved10

Reserved11

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 0.

On completion of ClientRequest, this field MUST contain the result of the encapsulated telephony request. A value of 0 indicates success, and a LINEERR_Constants value indicates failure.

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

dwTotalBufferSize (4 bytes): An unsigned 32-bit integer. MUST contain the total size, in bytes, that are allocated for the variable-length data packet.

dwNeededBufferSize (4 bytes): An unsigned 32-bit integer. On successful completion, this field MUST contain the size, in bytes, of all the unsolicited event and completion notification data that are available for retrieval on the server at the time the request was received.

dwUsedBufferSize (4 bytes): An unsigned 32-bit integer. On successful completion, this field MUST contain the size, in bytes, of the unsolicited event and completion notification data that is returned in the VarData field. This value MUST be less than, or equal to, dwTotalBufferSize.

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

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

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

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

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

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

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

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

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

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

VarData (variable): MUST contain any packet on successful completion.

The contents of this field are DWORD-aligned.