Skip to main content

MthrInquireMp

Inquires about an Aurora Imaging Library multi-core processing setting of a thread context.

Syntax

AIL_INT MthrInquireMp(
AIL_ID ThrId, //in
AIL_INT64 InquireType, //in
AIL_INT64 TypeFlag, //in
AIL_INT64 TypeValue, //in
void * ResultPtr //out
)

Description

This function inquires about an Aurora Imaging Library multi-core processing setting of a thread context. This function can return whether multi-core processing is used to execute the Aurora Imaging Library functions on the specified thread. It can also return how multi-core processing is performed for the specified thread.

MthrInquireMp always takes precedence over MappInquireMp.

Parameters

ThrId (in, AIL_ID)

Specifies the identifier of a user-allocated Aurora Imaging Library thread context allocated using MthrAlloc.

For specifying the identifier of a user-allocated Aurora Imaging Library thread context

ValueDescription
M_DEFAULTSpecifies the default Aurora Imaging Library thread context identifier associated with the current Host thread.
Thread context identifierSpecifies the identifier of a user-allocated Aurora Imaging Library thread context.

InquireType (in, AIL_INT64)

Specifies the type of multi-core processing setting about which to inquire.

TypeFlag (in, AIL_INT64)

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

TypeValue (in, AIL_INT64)

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

ResultPtr *(out, void)

Specifies the address in which to write the requested information. Since the MthrInquireMp function also returns the requested information, you can set this parameter to M_NULL.

Parameter Associations

For inquiring about general types of thread settings


M_CORE_AFFINITY_MASK

Inquires the core affinity bit-mask, which indicates the CPU cores that can be used to run the multi-core processing part of Aurora Imaging Library functions. The first element of the array represents the first 64 CPU cores. The least-significant bit of the first element represents CPU core 0. The most-significant bit of the first element represents CPU core 63. The least-significant bit of the second element represents CPU core 64 and so on. A CPU core is available if its corresponding bit is enabled (1). If its corresponding bit is disabled (0), the CPU core is not available. CPU cores always have the same indices, as long as the hardware in your computer and the operating system does not change.

ValueDescription
(see M_CORE_AFFINITY_MASK)
Zero-initialized bit-maskSpecifies that all CPU cores that are available to the process running your Aurora Imaging Library application can be used (M_CORE_AFFINITY_MASK is set to M_ALL).

M_CORE_AFFINITY_MASK_ARRAY_SIZE

Inquires the size of the array required to store the core affinity bit-mask. See M_CORE_AFFINITY_MASK in MthrControlMp for more details. > Note: The size of the array might represent a larger number of CPU cores than there are available in your computer. This is because the CPU cores might not be indexed by the operating system successively and/or are less than a multiple of 64.

ValueDescription
Value >= 1Specifies the size of the core affinity mask array.

M_CORE_MAX

Inquires the maximum number of CPU cores to use to process the multi-core processing part of each Aurora Imaging Library function on the specified thread.

ValueDescription
(see M_CORE_MAX)

M_CORE_MAX_FOR_COPY

Inquires the maximum number of CPU cores to use to process the multi-core processing part of copy type functions on the specified thread.

ValueDescription
(see M_CORE_MAX_FOR_COPY)

M_CORE_NUM_EFFECTIVE

Inquires the number of CPU cores available for executing the multi-core processing part of Aurora Imaging Library functions on the specified thread.

ValueDescription
Value >= 1Specifies the number of CPU cores available.

M_CORE_SHARING

Inquires whether Aurora Imaging Library multi-core processing can use multiple logical cores per physical CPU core, when hyper-threading is enabled and supported.

ValueDescription
(see M_CORE_SHARING)

M_MP_PRIORITY

Inquires the processing priority of the multi-core processing part of Aurora Imaging Library functions.

ValueDescription
(see M_MP_PRIORITY)

M_MP_USE

Inquires whether multi-core processing can be used to execute certain parts of Aurora Imaging Library functions. MappInquireMp with M_MP_FORCED_DISABLE takes precedence over this setting.

ValueDescription
(see M_MP_USE)

Return Value

Type: AIL_INT

The returned value is the requested information cast to an AIL_INT, except for M_CORE_AFFINITY_MASK. In this case, the returned value is undefined. If the requested information does not fit into an AIL_INT, this function will return M_NULLor truncate the information.

Copyright © 2026 Zebra Technologies.