MIL_TEXT_PTR MemPtrOrFileName, | //in-out |
MIL_ID SysId, | //in |
MIL_INT64 Operation, | //in |
MIL_INT64 StreamType, | //in |
MIL_DOUBLE Version, | //in |
MIL_INT64 ControlFlag, | //in |
MIL_ID *ContextOrResultCodeIdPtr, | //in-out |
MIL_INT *SizeByteVarPtr | //out |
This function can load, restore, or save a code context from/to a file or memory stream. This function can also save a grading report to a file or save a training report to a file.
To inquire the number of bytes necessary to save a code context to memory stream, you should first call this function (McodeStream()) 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 McodeSave().
You can use this and other MIL stream functions, for example, to save all required MIL 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 McodeStream(), you can choose to save a backwards-compatible version of the code context, which will work using a specified version of MIL that is up to one major release older than the current version. For example, if you allocate a code context using MIL 10.0 and save it to version 9.0, you can restore this context on a computer where MIL 9.0 is installed. 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 a code context saved using MIL version 7.0 or above. Settings that do not exist in the lower version will be filled with default values when the code context is loaded or restored using the current version.
Specifies the file or memory stream.
See the Parameter associations section for possible values that can be returned/specified.
Specifies the system on which to restore the code context.
See the Parameter associations section for possible values that can be specified.
Specifies the operation to perform on the code context.
See the Parameter associations section for possible values that can be specified.
Specifies the type of stream in which to store/from which to restore the code context. This parameter must be set to one of the following values:
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a file stream. Note that this is the only value available when performing an M_SAVE_REPORT operation. (summarize)Specifies a file stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a memory stream. You are responsible for allocating a block of memory for the stream. (summarize)Specifies a memory stream. (more details...) |
Specifies the MIL version of the code context.
See the Parameter associations section for possible values that can be specified.
Specifies the address of the variable in which to write or from which to read the identifier of the code context. In the case of an M_SAVE_REPORT operation, this parameter specifies the address of the variable from which to read the identifier of the code result buffer.
See the Parameter associations section for possible values that can be returned/specified.
Specifies the address of the variable in which to write the size of the code context, in bytes. If the size is not required, or if performing an M_SAVE_REPORT operation, set this parameter to M_NULL.
Note that the size of a code context will vary depending on the MIL version specified.
The table below lists possible values for the MemPtrOrFileName, SysId, Operation, Version, and ContextOrResultCodeIdPtr parameters.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
MemPtrOrFileName - Possible values passed or returned |
|||||||||||||||||||||||||||||||||||||||
SysId | |||||||||||||||||||||||||||||||||||||||
Version | |||||||||||||||||||||||||||||||||||||||
ContextOrResultCodeIdPtr - Possible values passed or returned |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Inquires the number of bytes required to save a code context to memory stream. This operation is not supported when the StreamType parameter is set to M_FILE. (summarize)Inquires the number of bytes required to save a code context to memory stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_NULL. (summarize)This parameter must be set to M_NULL. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_NULL. (summarize)This parameter must be set to M_NULL. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the MIL version with which the code context must be compatible when saved. The size of a code context might differ from one MIL version to another. (summarize)Specifies the MIL version with which the code context must be compatible when saved. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the current version of MIL. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 9.0. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 9.0 Processing Pack 1. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 9.0 Processing Pack 2. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Processing Pack 1. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Processing Pack 2. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Processing Pack 3. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Service Pack 4. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the variable containing the identifier of the code context. (summarize)Specifies the address of the variable containing the identifier of the code context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Loads the content of a specified file or memory stream into a previously allocated code context. (summarize)Loads the content of a specified file or memory stream into a previously allocated code context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the file or memory stream from which to load the context. (summarize)Specifies the file or memory stream from which to load the context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Opens a dialog box from which you can interactively specify the drive, directory, and name of the file, when the StreamType parameter is set to M_FILE. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. Code contexts typically have an MCO file extension. The function handles (internally) the opening and closing of the file. To specify a file on a remote computer (under Distributed MIL), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\myfile"). (summarize)Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. The block of memory should be of type MIL_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 MIL_UINT8 pointer to a MIL_TEXT_PTR. (summarize)Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_NULL. (summarize)This parameter must be set to M_NULL. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_DEFAULT. (summarize)This parameter must be set to M_DEFAULT. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the variable containing the identifier of the code context. All previous settings are overwritten with those of the loaded context, or are set to the default value if the settings didn't exist in the version of MIL from which the context is being loaded. (summarize)Specifies the address of the variable containing the identifier of the code context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Restores a code context from a file or memory stream and assigns it a MIL identifier. (summarize)Restores a code context from a file or memory stream and assigns it a MIL identifier. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the file or memory stream from which to restore the context. (summarize)Specifies the file or memory stream from which to restore the context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Opens a dialog box from which you can interactively specify the drive, directory, and name of the file, when the StreamType parameter is set to M_FILE. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. Code contexts typically have an MCO file extension. The function handles (internally) the opening and closing of the file. To specify a file on a remote computer (under Distributed MIL), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\myfile"). (summarize)Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. The block of memory should be of type MIL_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 MIL_UINT8 pointer to a MIL_TEXT_PTR. (summarize)Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the system on which to allocate the code context. (summarize)Specifies the system on which to allocate the code context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the default Host system of the current MIL application. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies a valid system identifier, previously allocated using MsysAlloc(). |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_DEFAULT. (summarize)This parameter must be set to M_DEFAULT. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the variable in which to write the identifier of the code context. If the operation is not successful, M_NULL is returned. (summarize)Specifies the address of the variable in which to write the identifier of the code context. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Saves a code context to a specified file or memory stream. (summarize)Saves a code context to a specified file or memory stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the file or memory stream. (summarize)Specifies the file or memory stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Opens a dialog box from which you can interactively specify the drive, directory, and name of the file, when the StreamType parameter is set to M_FILE. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. For easier use with other Matrox Imaging software products, when saving a code context to a file, use the MCO file extension. The function handles (internally) the opening and closing of the file. If the file already exists, it will be overwritten. To specify a file on a remote computer (under Distributed MIL), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\myfile"). (summarize)Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. The block of memory should be of type MIL_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 MIL_UINT8 pointer to a MIL_TEXT_PTR. (summarize)Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_NULL. (summarize)This parameter must be set to M_NULL. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the MIL version with which the code context must be compatible when saved. Note that the code context can only be up to one major release older (MIL 9.0) than the current version. (summarize)Specifies the MIL version with which the code context must be compatible when saved. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the current version of MIL. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 9.0. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 9.0 Processing Pack 1. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 9.0 Processing Pack 2. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Processing Pack 1. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Processing Pack 2. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Processing Pack 3. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the version as being MIL 10.0 Service Pack 4. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the variable containing the identifier of the code context to save. (summarize)Specifies the address of the variable containing the identifier of the code context to save. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Saves a report containing most results from an McodeGrade() or McodeTrain() operation. (summarize)Saves a report containing most results from an McodeGrade() or McodeTrain() operation. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the file or memory stream. (summarize)Specifies the file or memory stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
[This is
only applicable to Windows]
Opens a dialog box from which you can interactively specify the drive, directory, and name of the file, when the StreamType parameter is set to M_FILE. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. The function handles (internally) the opening and closing of the file. If the file already exists, it will be overwritten. To specify a file on a remote computer (under Distributed MIL), prefix the specified file name string with "remote:///" (for example, "remote:///C:\mydirectory\myfile"). (summarize)Specifies the drive, directory, and name of the file (for example, "C:\mydirectory\myfile"), when the StreamType parameter is set to M_FILE. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_NULL. (summarize)This parameter must be set to M_NULL. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
This parameter must be set to M_DEFAULT. (summarize)This parameter must be set to M_DEFAULT. (more details...) |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the address of the variable containing the identifier of the result buffer to save. The result buffer must have been allocated using McodeAllocResult() with M_CODE_GRADE_RESULT or M_CODE_TRAIN_RESULT, and it must contain the result of a successful McodeGrade() or McodeTrain() operation, respectively. If the operation is not successful, M_NULL is returned. (summarize)Specifies the address of the variable containing the identifier of the result buffer to save. (more details...) |
1 If you are passing the value in a variable, don't enclose it in MIL_TEXT().
Header | Include mil.h. |
Library | Use mil.lib; milcode.lib. |
DLL | Requires mil.dll; milcode.dll. |