MbufAllocContainer
| Board | Supported |
|---|---|
| Host System | Yes |
| V4L2 | Yes |
| Clarity UHD | Partial |
| Concord PoE | No |
| GenTL | Partial |
| GevIQ | Yes |
| GigE Vision | Yes |
| Indio | No |
| Iris GTX | Partial |
| Radient eV-CL | Partial |
| Rapixo CL | Partial |
| Rapixo CoF | Yes |
| Rapixo CXP | Yes |
| USB3 Vision | Yes |
Allocate a container.
Syntax
AIL_ID MbufAllocContainer(
AIL_ID SystemId, //in
AIL_INT64 Attribute, //in
AIL_INT64 ControlFlag, //in
AIL_ID * ContainerBufIdPtr //out
)
Description
This function allocates a container on the specified system. A container is a data object that stores related buffers, referred to as the container's buffer components. By default, a container is empty. Components are automatically added to a container, when you grab into it or use it as a destination of a supported function. You can also add components to a container using MbufAllocComponent.
After allocating the container, you should check if the operation was successful, using MappGetError or by verifying that the container identifier returned is not M_NULL (or nullptr ifM_UNIQUE_ID was specified).
When the container is no longer required, release it usingMbufFreeunless M_UNIQUE_ID was specified during allocation; if M_UNIQUE_ID was specified, the smart identifier manages the container's lifetime and you must not manually free it.
Parameters
SystemId (in, AIL_ID)
Specifies the Aurora Imaging Library system on which to allocate the container. This parameter should be set to one of the following values:
For specifying the Aurora Imaging Library system
| Value | Description |
|---|---|
M_DEFAULT_HOST | Specifies the default Host system of the current Aurora Imaging Library application. |
System identifier | Specifies a valid system identifier, previously allocated using MsysAlloc. |
Attribute (in, AIL_INT64)
Specifies the container usage.
For specifying the container usage
| Value | Description |
|---|---|
M_DISP | Specifies that image buffer components of the container can be displayed, and that the container can become 3D-displayable. You can inquire whether a container is currently 3D-displayable using MbufInquireContainerwithM_3D_DISPLAYABLE. |
M_GRAB | Specifies that the image buffer components of the container can be used to grab data, and that the container itself can be used to grab data. |
M_PROC | Specifies that image buffer components of the container can be processed, and that the container can become 3D-processable. You can inquire whether a container is currently 3D-processable using MbufInquireContainerwithM_3D_PROCESSABLE for a point cloud container or with M_3D_PROCESSABLE_DEPTH_MAP for a depth map container. |
ControlFlag (in, AIL_INT64)
Reserved for future expansion and must be set to M_DEFAULT.
ContainerBufIdPtr *(out, AIL_ID)
Specifies the address of the variable in which to write the container identifier or specifies the data type that the function should use to return the container identifier.
For retrieving the identifier or specifying how to return it
| Value | Description |
|---|---|
M_NULL | Specifies that you will use this function's return value to obtain the identifier of the allocated container; in this case, a standard Aurora Imaging Library identifier of type AIL_ID is returned. |
M_UNIQUE_ID | Specifies that you will use this function's return value to obtain the identifier of the allocated container; in this case, an Aurora Imaging Library smart identifier of type _AIL_UNIQUE_BUF_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 container (it is freed automatically). For more information, see Aurora Imaging Library smart identifiers. |
Address in which to write the identifier | Specifies the address of an AIL_ID in which to write the identifier of the allocated container. |
If allocation fails, M_NULL is written as the identifier. |
Return Value
Type: AIL_ID
The returned value is the container identifier either as a standard identifier (AIL_ID) or a smart identifier (AIL_UNIQUE_BUF_ID). If allocation fails, M_NULL is returned (or nullptr ifM_UNIQUE_ID was specified).