Skip to main content

MdmrStream

BoardSupported
Host SystemYes
V4L2Yes
Clarity UHDYes
Concord PoENo
GenTLYes
GevIQYes
GigE VisionYes
IndioNo
Iris GTXYes
Radient eV-CLYes
Rapixo CLYes
Rapixo CoFYes
Rapixo CXPYes
USB3 VisionYes

Load, restore, or save a SureDotOCR context from/to a file or a memory stream.

Syntax

void MdmrStream(
AIL_TEXT_PTR MemPtrOrFileName, //in-out
AIL_ID SysId, //in
AIL_INT64 Operation, //in
AIL_INT64 StreamType, //in
AIL_DOUBLE Version, //in
AIL_INT64 ControlFlag, //in
AIL_ID * ContextDmrIdPtr, //in-out
AIL_INT * SizeByteVarPtr //out
)

Description

This function can load or restore a SureDotOCR context from a file or memory stream. All of the context settings that were in effect when the context was saved will be restored. A loaded or restored context is not preprocessed. You must call MdmrPreprocess before performing a read with MdmrRead.

This function can also save a SureDotOCR context to a file or memory stream. All information about the previously allocated context is saved, including all of the individual font and string model settings. Preprocessing changes are not saved.

To inquire the number of bytes necessary to save a SureDotOCR context to memory stream, first call MdmrStream with M_INQUIRE_SIZE_BYTE.

The content saved to memory stream is equivalent to the content saved to file. In addition, any file saved using this function is equivalent to a file saved with MdmrSave.

You can use this and other Aurora Imaging Library stream functions, for example, to save all required Aurora Imaging Library objects, as well as any other custom data, for your application to a memory stream. Once in a memory stream, you can write the stream to a single file or transfer it over a network. You are responsible for concatenating the streams and for saving the stream to file.

Using MdmrStream, you can choose to save a backwards-compatible version of the SureDotOCR context, which will work using a version of Aurora Imaging Library that is up to one major release older than the current version (depending on which version is specified). However, all settings and features unique to the higher version will be ignored when restored using the lower version. Besides saving backwards-compatible versions, you can also load or restore SureDotOCR contexts saved using Aurora Imaging Library version 10.0 or above. Settings that do not exist in the lower version will be filled with default values when the SureDotOCR context is loaded or restored.

Parameters

MemPtrOrFileName (in-out, AIL_TEXT_PTR)

Specifies the file or memory stream.

SysId (in, AIL_ID)

Specifies the identifier of the system on which to restore the SureDotOCR context.

Operation (in, AIL_INT64)

Specifies the operation to perform on the SureDotOCR context.

StreamType (in, AIL_INT64)

Specifies the type of stream in which to store/from which to restore the SureDotOCR context. Set this parameter to one of the values below:

For specifying the type of stream

ValueDescription
M_FILESpecifies a file stream.
M_MEMORYSpecifies a memory stream. You are responsible for allocating a block of memory for the stream.

Version (in, AIL_DOUBLE)

Specifies the Aurora Imaging Library version of the SureDotOCR context.

ControlFlag (in, AIL_INT64)

Reserved for future expansion and must be set to M_DEFAULT.

ContextDmrIdPtr *(in-out, AIL_ID)

Specifies the address of the variable in which to write or from which to read the identifier of the SureDotOCR context.

SizeByteVarPtr *(out, AIL_INT)

Specifies the address of the variable in which to write the size of the SureDotOCR context, in bytes. If size is not required, set this parameter to M_NULL.

Parameter Associations

For performing the stream operation.


M_INQUIRE_SIZE_BYTE

Inquires the number of bytes required to save a SureDotOCR context to memory stream. This operation is not supported when the StreamType parameter is set to M_FILE.

ValueDescription
M_DEFAULTSpecifies the current version of Aurora Imaging Library.
M_PROC_VERSION_100_SP4Specifies the version as being Aurora Imaging Library 10.0 Service Pack 4.
M_PROC_VERSION_100_SP5Specifies the version as being Aurora Imaging Library 10.0 Service Pack 5.
M_PROC_VERSION_100_SP6Specifies the version as being Aurora Imaging Library 10.0 Service Pack 6.
M_PROC_VERSION_100_SP7Specifies the version as being Aurora Imaging Library 10.0 Service Pack 7.
M_PROC_VERSION_110Specifies the version as being Aurora Imaging Library 11.0.

M_LOAD

Loads the content of a specified file or memory stream into a previously allocated SureDotOCR context.

ValueDescription
M_INTERACTIVEOpens a dialog box from which you can interactively specify the drive, directory, and name of the context file, when the StreamType parameter is set toM_FILE.
"FileName"Specifies the drive, directory, and name of the context file (for example, "C:\mydirectory\MyContext.mdmr"), when the StreamType parameter is set to M_FILE. SureDotOCR contexts typically have an MDMR file extension. The function handles (internally) the opening and closing of the file. Predefined SureDotOCR context files are typically distributed with Aurora Imaging Library and can be found in a local folder (for example, "C:\Program Files\Aurora Imaging Library<version number>\Library\Contexts"). To specify a context file on a remote computer (under Distributed Aurora Imaging Library), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\MyContext.mdmr").
MemPtrSpecifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. The block of memory should be of type AIL_UINT8. The specified address must correspond to the first memory address in which the object is located, and the block of memory must contain the entire object. Note that when using a C compiler (not a C++ or other compiler), you must cast the AIL_UINT8 pointer to an AIL_TEXT_PTR.

M_RESTORE

Restores a SureDotOCR context from a file or memory stream and assigns it an Aurora Imaging Library identifier.

ValueDescription
M_INTERACTIVEOpens a dialog box from which you can interactively specify the drive, directory, and name of the context file, when the StreamType parameter is set toM_FILE.
"FileName"Specifies the drive, directory, and name of the context file (for example, "C:\mydirectory\MyContext.mdmr"), when the StreamType parameter is set to M_FILE. SureDotOCR contexts typically have an MDMR file extension. The function handles (internally) the opening and closing of the file. Predefined SureDotOCR context files are typically distributed with Aurora Imaging Library and can be found in a local folder (for example, "C:\Program Files\Aurora Imaging Library<version number>\Library\Contexts"). To specify a context file on a remote computer (under Distributed Aurora Imaging Library), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\MyContext.mdmr").
MemPtrSpecifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. The block of memory should be of type AIL_UINT8. The specified address must correspond to the first memory address in which the object is located, and the block of memory must contain the entire object. Note that when using a C compiler (not a C++ or other compiler), you must cast the AIL_UINT8 pointer to an AIL_TEXT_PTR.
M_DEFAULT_HOSTSpecifies the default Host system of the current Aurora Imaging Library application.
System identifierSpecifies a valid system identifier, previously allocated using MsysAlloc.

M_SAVE

Saves a SureDotOCR context to a specified file or memory stream.

ValueDescription
M_INTERACTIVEOpens a dialog box from which you can interactively specify the drive, directory, and name of the context file, when the StreamType parameter is set toM_FILE.
"FileName"Specifies the drive, directory, and name of the context file (for example, "C:\mydirectory\MyContext.mdmr"), when the StreamType parameter is set to M_FILE. SureDotOCR contexts typically have an MDMR file extension. The function handles (internally) the opening and closing of the file. If the file already exists, it will be overwritten. Predefined SureDotOCR context files are typically distributed with Aurora Imaging Library and can be found in a local folder (for example, "C:\Program Files\Aurora Imaging Library<version number>\Library\Contexts"). To specify a context file on a remote computer (under Distributed Aurora Imaging Library), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\MyContext.mdmr").
MemPtrSpecifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. The block of memory should be of type AIL_UINT8. The specified address must correspond to the first memory address in which to write, and the block of memory must be large enough to stream the entire object. To determine the required size, call this function with M_INQUIRE_SIZE_BYTE. Note that when using a C compiler (not a C++ or other compiler), you must cast the AIL_UINT8 pointer to an AIL_TEXT_PTR.
(see M_INQUIRE_SIZE_BYTE)
Copyright © 2026 Zebra Technologies.