Skip to main content

McalAllocResult

Allocate a calculate hand-eye result buffer.

Syntax

AIL_ID McalAllocResult(
AIL_ID SysId, //in
AIL_INT64 ResultType, //in
AIL_INT64 ControlFlag, //in
AIL_ID * ResultCalIdPtr //out
)

Description

This function allocates a calculate hand-eye result buffer, on the specified system, to store results from an McalCalculateHandEye operation.

When the calculate hand-eye result buffer is no longer required, release it usingMcalFreeunless M_UNIQUE_ID was specified during allocation; if M_UNIQUE_ID was specified, the smart identifier manages the calculate hand-eye result buffer's lifetime and you must not manually free it.

Parameters

SysId (in, AIL_ID)

Specifies the system on which to allocate the result buffer. This parameter should be set to one of the following values:

For specifying the system

ValueDescription
M_DEFAULT_HOSTSpecifies the default Host system of the current Aurora Imaging Library application.
System identifierSpecifies a valid system identifier, previously allocated using MsysAlloc.

ResultType (in, AIL_INT64)

Specifies the type of result buffer to allocate.

For specifying the type of result buffer to allocate

ValueDescription
M_CALCULATE_HAND_EYE_RESULTSpecifies to allocate a calculate hand-eye result buffer used to store McalCalculateHandEye results.

Note: To retrieve the transformation matrices that are calculated using McalCalculateHandEye, use McalCopyResult. |

ControlFlag (in, AIL_INT64)

Reserved for future expansion. This parameter must be set to M_DEFAULT.

ResultCalIdPtr *(out, AIL_ID)

Specifies the address of the variable in which to write the calculate hand-eye result buffer identifier.

For retrieving the identifier or specifying how to return it

ValueDescription
M_NULLSpecifies that you will use this function's return value to obtain the identifier of the allocated calculate hand-eye result buffer; in this case, a standard Aurora Imaging Library identifier of type AIL_ID is returned.
M_UNIQUE_IDSpecifies that you will use this function's return value to obtain the identifier of the allocated calculate hand-eye result buffer; in this case, an Aurora Imaging Library smart identifier of type _AIL_UNIQUE_CAL_ID_is returned instead of a standard Aurora Imaging Library identifier.This setting is only available when using C++11 (or later).An Aurora Imaging Library smart identifier manages the lifespan of the Aurora Imaging Library object it owns (similar to a std::unique_ptr). Note, you can use an Aurora Imaging Library smart identifier as though it were a standard Aurora Imaging Library identifier, except that you cannot use it to manually free the calculate hand-eye result buffer (it is freed automatically). For more information, see Aurora Imaging Library smart identifiers.
Address in which to write the calculate hand-eye result buffer identifierSpecifies the address of an AIL_ID in which to write the identifier of the allocated calculate hand-eye result buffer.

If allocation fails, M_NULL is written as the identifier. |

Return Value

Type: AIL_ID

The returned value is the calculate hand-eye result buffer identifier either as a standard identifier (AIL_ID) or a smart identifier (AIL_UNIQUE_CAL_ID). If allocation fails, M_NULL is returned (or nullptr ifM_UNIQUE_ID was specified).

Copyright © 2026 Zebra Technologies.