CDI_Chain_Message
Chains CDM message requests through layers of CDM filters prior to being received by a translator CDM (also referred to as a base CDM) where the message is converted to a SuperHACB. This function is used only by filter CDMs.
LONG CDI_Chain_Message ( LONG cdiBindHandle, LONG msgPutHandle, LONG *cdmMessage, LONG (*callback)( struct CDMMessageStruct *cdmMessage, LONG callbackParameter, LONG returnParameter, LONG completionCode), LONG callbackParameter );
The following table lists return values and descriptions.
This function is used by filter CDMs to chain CDM messages through each layer in a CDM filter chain until the message is received by a translator (base) CDM. Each filter CDM in the chain has the ability to alter CDM message information before passing the message to the next filter. The translator CDM is the last link in the chain, meaning that no more data massaging of the CDM message is performed. Instead, as the last link in the chain, the translator CDM converts the CDM message into a SuperHACB request and initiates its execution. CDI_Chain_Message allows the filter CDM to specify a callback function, so that it can be notified when the request cycle associated with the message has been completed. If there are multiple filter CDMs, then their respective callbacks are called in reverse order, thereby rippling completion-notification upward through the chain.