CDM_Execute_CDMMessage

The CDM's entry point for receiving a CDM message which routes them to the proper CDM control or I/O function to build a SuperHACB request.

Thread Context:Non-Blocking

Syntax

    LONG CDM_Execute_CDMMessage (
       LONG                      cdmBindHandle,
       struct CDMMessageStruct  *msg
       );
    
    

Parameters

cdmBindHandle
(IN) NWPA passes the value of this parameter, which is a handle to the device being targeted by the CDM message request (CDMMessageStruct). The CDM generated the value of BindHandle during the context of CDM_Inquiry when it bound to the device by calling CDI_Bind_CDM_To_Object. From this handle, the CDM locates the target device's information including the HAM-generated deviceHandle and the NWPA-generated npaBusID.
msg
NWPA passes the value of this parameter, which is a pointer to the CDMMessageStruct containing the data from which a CDM control or I/O function builds a SuperHACB.

Return Values

Returns the return value of the internal CDM function called to service the request. The following table lists return values and descriptions.

zero

The CDM function executed successfully.

nonzero

The specified function is not supported by the CDM.

If a nonzero value is returned, do not attempt to complete the message using CDI_Complete_Message because it will abend the server. Instead, return ERROR_FUNCTION_NOT_SUPPORTED (0x00000007)

Remarks

CDM_Execute_CDMMessage is the CDM's entry point for receiving and routing a CDM message to the proper CDM function to convert the message into a SuperHACB.