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 or restore a code context from a file or memory stream. Moreover, this function can also save a code context to a file or memory stream, and save a grading report to a file.
To inquire the number of bytes necessary to save a code context to memory stream, you should call this function (McodeStream()) first 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 9.0 and save it to version 8.0, you can restore this context on a computer where MIL 8.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.
For specifying the file name or memory
stream
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies to ignore this parameter. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_INTERACTIVE |
[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. |
||||||||||||||||||||||||||||||||||||||
MIL_TEXT("FileName") 1 |
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...) |
||||||||||||||||||||||||||||||||||||||
MemPtr |
Specifies the address of the block of memory, when the StreamType parameter is set to M_MEMORY. (more details...) |
1 If you are passing the value in a variable, don't enclose it in MIL_TEXT().
Specifies the system on which to restore the code context.
For an M_RESTORE operation, this parameter should be set to one of the following values:
For a restore operation
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT_HOST |
Specifies the default Host system of the current MIL application. |
||||||||||||||||||||||||||||||||||||||
MIL system identifier |
Specifies a valid system identifier, previously allocated using MsysAlloc(). |
For an M_SAVE and M_SAVE_REPORT operation, this parameter should be set to the following value:
For a save report or save
operation
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies that this parameter is not applicable. |
Specifies the operation to perform on the code context. This parameter must be set to one of the following values:
For specifying the operation to perform
on the code context
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_INQUIRE_SIZE_BYTE |
Inquires the number of bytes required to save a code context to memory stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_LOAD |
Loads the content of a specified file or memory stream into a previously allocated code context. |
||||||||||||||||||||||||||||||||||||||
M_RESTORE |
Restores a code context from a file or memory stream and assigns a MIL identifier to this context. |
||||||||||||||||||||||||||||||||||||||
M_SAVE |
Saves a code context to a specified file or memory stream. |
||||||||||||||||||||||||||||||||||||||
M_SAVE_REPORT |
Saves a report containing most of the results from a grading operation as a flat text file. (more details...) |
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:
For specifying the type of
stream
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_FILE |
Specifies a file stream. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_MEMORY |
Specifies a memory stream. (more details...) |
Specifies the MIL version of the code context. This parameter must be set to one of the following values.
For specifying the MIL
version
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default version. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_90 |
Sets the version to MIL 9.0. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_90_PP1 |
Sets the version to MIL 9.0 Processing Pack 1. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_90_PP2 |
Sets the version to MIL 9.0 Processing Pack 2. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_100 |
Sets the version to MIL 10.0. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_PROC_VERSION_100_PP1 |
Sets the version to MIL 10.0 Processing Pack 1. (more details...) |
Specifies the address of the variable in which to write or from which to read the identifier of the code context.
For M_INQUIRE_SIZE_BYTE, M_SAVE operations, ContextOrResultCodeIdPtr specifies the address of the variable from which to read the code context identifier.
For an M_LOAD operation, ContextOrResultCodeIdPtr specifies the address of the variable from which to read the identifier of the code context in which to load the file or memory stream content.
For an M_RESTORE operation, ContextOrResultCodeIdPtr specifies the address of the variable from which to return the identifier of the restored code context. If the operation is not successful, M_NULL is returned.
For an M_SAVE_REPORT operation, ContextOrResultCodeIdPtr specifies the address in which to read the identifier of the code results buffer. If the operation is not successful, M_NULL is returned.
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.
Header | Include mil.h. |
Library | Use mil.lib; milcode.lib. |
DLL | Requires mil.dll; milcode.dll. |