client service returns the ACMSDI_PENDING status. If a status other than
ACMSDI_PENDING is returned, the completion routine is not called.
If nonblocking calls are active, use the acmsdi_dispatch_message service to
poll for responses from the TP Desktop Connector gateway. When a response
is received, acmsdi_dispatch_message calls the appropriate customer-supplied
completion routine. If the desktop client program supplies the completion_
status parameter on the initial TP Desktop Connector client service call,
the TP Desktop Connector client services set the completion_status to the
final completion status for the service and immediately call the completion
routine. See Compaq TP Desktop Connector for ACMS Client Application
Programming Guide for descriptions and examples.
The forced nonblocking services extend the portable API to support both
exchange steps and nonblocking execution of task calls for development tools
that do not support pointer data types or whose memory management routines
relocate data. You can specify a forced nonblocking session with the acmsdi_
sign_in service by using the ACMSDI_OPTION, ACMSDI_OPT_NONBLK. Do
not specify a completion routine in a forced nonblocking session as this will
result in an error. See Chapter 4 for more information.
2.3.1 Nonblocking and Blocking Restriction
All calls using the same desktop client program and TP Desktop Connector
gateway connection must be either blocking, nonblocking, or forced
nonblocking. These types of service calls cannot be mixed for a desktop
client program and TP Desktop Connector gateway pair. See Table 1–5 for
the list of service calls available for each type of session. If a desktop client
program connects to two different TP Desktop Connector gateways, it can
mix service call types, using blocking calls to interact with one TP Desktop
Connector gateway and nonblocking calls to interact with the other TP Desktop
Connector gateway.
2.3.2 Completion Routine Format
For nonblocking service requests, the acmsdi_dispatch_message service calls
the customer-supplied completion routine when a response is received from
the TP Desktop Connector gateway. The completion routine has the following
format:
void completion_routine (call_context)
Parameters
TP Desktop Connector Portable API Client Services 2–3