CDI_Allocate_HACB

Allocates SuperHACBs that are used to communicate with the HAM.

Thread Context:Non-Blocking

Syntax

    LONG CDI_Allocate_HACB (
       LONG                     cdmOSHandle,
       struct SuperHACBStruct **SHACB
       );
    
    

Parameters

cdmOSHandle
(IN) The CDM's handle for using the CDI APIs. The value of cdmOSHandle was assigned during CDI_Register_CDM, and it is used in conjunction with the CDM-generated Handle to uniquely identify a CDM when it interfaces with NWPA through the CDI API set.
SHACB
(IN/OUT) Address of a pointer to a memory storage location of type SuperHACBStruct. It also receives a Points to the newly allocated SuperHACBStruct.

Return Values

The following table lists return values and descriptions.

zero

Successful

nonzero

Unsuccessful

Remarks

This function is used by a CDM to allocate a SuperHACB. It is during the context of this function that the SuperHACB’s hacbPutHandle field is assigned a value by NWPA. The CDM must not alter the value in this field. A SuperHACB allocated with CDI_Allocate_HACB is not guaranteed to be below the 16-megabyte boundary. Also, certain fields in the member HACB are pre-initialized by NWPA at allocation, and their values must be maintained. Therefore, do not clear or zero the HACB. NWPA guarantees the member HACB's data buffer to be physically contiguous.