CDI_Execute_CDMMessage

Sends another CDM message request 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.

Thread Context:Non-Blocking

Syntax

    LONG CDI_Execute_CDMMessage (
       LONG   npaDeviceID,
       LONG   msgPutHandle,
       LONG   cdiBindHandle,
       LONG   (*callback)(
          struct CDMMessageStruct *cdmMessage,
          LONG                     callbackParameter,
          LONG                     returnParameter,
          LONG                     completionCode),
       LONG   callbackParameter
    );
    

Parameters

npaDeviceID
(IN) The Media Manager object ID. (Refer to CDM_Inquiry.)
msgPutHandle
Handle to the CDM message (CDMMessageStruct) being passed downward. The value of this parameter is obtained from the msgPutHandle field of the CDMMessageStruct.
cdiBindHandle
(IN) A unique handle generated by the CDM to identify the device to which it has bound. From this handle, the CDM must be able to locate the target device's information, including the HAM-generated deviceHandle and the NWPA-generated npaBusID.

.

callback
(IN) Address of the filter CDM's callback function. NWPA calls this function when the translator (base) CDM completes the CDM message associated with the request.
callbackParameter
Parameter returned in the CDM's callback routine.

Return Values

The following table lists return values and descriptions.

zero

Successful

nonzero

Unsuccessful

Remarks

CDI_Execute_Message is used by filter CDMs to pass messages to the next filter. Messages are allocated using CDI_Allocate_CDMMessage.