I want to know what is the function of the return value of "
UInt64 registerClient( const TunnelStreamRequest& tunnelStreamRequest, OmmConsumerClient& client, void* closure = 0 )
On what condition I will use it.
The function in question returns an item handle for your request.
If you refer to the EMACPP_DevGuide.pdf you will note the following explanation:
The EMA assigns all opened items or instruments a unique numeric identifier (e.g. UInt64), called a handle, which is returned by the OmmConsumer::registerClient() call. A handle is valid as long as its associated item stays open. Holding onto these handles is important only to applications that want to modify or close particular items, or use the items’ streams for sending PostMsg or GenericMsg messages to the connected server. Applications that just open and watch several items until they exit do not need to store item handles.
One thing to be wary of - if you are using registerClient to make a Batch request, then the handle it returns will not be for any of the instruments in the Batch list. The handle returned by the call will be for the Batch request and will be close off as soon as the Batch Request is processed. In this case, if required, you can extract the handle for each individual item from the OmmConsumerEvent which gets passed to your callback handlers onRefreshMsg, OnUpdateMsg etc.