Codex SDK: Plug-In Profile Files

Compression / Decompression Profile Files

Compression / Decompression Profile Files are used to store archive type specific and plug-in specific compression/decompression settings. The storage of multiple compression/decompression settings in separate configuration files allows the choosing of the appropriate profiles when different settings need to be used for different tasks.


These compression/decompression settings are stored as files in the file system. Their location is determined during Plug-In Registration. The plug-in may ship with separate profiles for each of the archive types it supports. The format of the profile file and its contents are the sole responsibility of the plug-in. However, the plug-in must provide tools that enable a user to visually configure the settings stored within the profile file.


There are two kinds of profile files. Compression Profiles, and Decompression Profiles.

 

Compression Profiles

Compression profiles are identified by their file names. Each Codex compression profile has the file extension ".meprf" (without the quotes).

A plug-in which supports compression must include a standard set of Codex defined profiles. These
are used by the Codex runtime automatically when certain types of compression operations occur. They are identified by their file names.

If a plug-in does not support compression, it should not include any compression profiles. If it partially supports compression, it should only include profiles that are associated with operations it can support.

The following table describes the standard set of Codex defined compression profiles, when they are used, and which compression settings they must enable.

Name

Meaning

Default.meprf

Must exist only if the plug-in supports compression.

The compression thread must execute with Normal priority.

The compression strength must be at maximum.

Relative or absolute folder information
must be preserved for files added to archives.


This is the default profile. Applications are recommended to use this profile for all standard compression tasks.

Structured.meprf

Must exist only if the plug-in supports compression.

The compression thread must execute with Normal priority.

The compression strength must be at maximum.

Relative folder information
must be preserved for files added to archives.


This is an internal Codex profile. This profile is used during the execution of Codex defined archive tools, such as archive type conversion, viewing/updating files inside archives, installing archives, and so on.

Shell.meprf

Must exist only if the plug-in supports compression.

The compression thread must execute with Lower priority.

The compression strength must be at maximum.

Relative folder information
must be preserved for files added to archives.

This is the shell profile. This profile is used during shell operations. For example, when the user right-clicks an archive in Windows Explorer and selects an archive action, the shell profile is used.

A plug-in may also ship with other compression profiles. Furthermore, users may create their own compression profiles, such as "Fastest Compression" and "Maximum Compression", to assist them in storing their frequently used compression settings.

 

Decompression Profiles

Decompression profiles are identified by their file names. Each Codex decompression profile has the file extension ".mdprf" (without the quotes).

A plug-in which supports decompression must include a standard set of Codex defined profiles. These
are used by the Codex runtime automatically when certain types of decompression operations occur. They are identified by their file names.

If a plug-in does not support decompression, it should not include any decompression profiles. If it partially supports decompression, it should only include profiles that are associated with operations it can support.

The following table describes the standard set of Codex defined decompression profiles, when they are used, and which decompression settings they must enable.

Name

Meaning

Default.mdprf

Must exist only if the plug-in supports decompression.

The decompression thread must execute with Normal priority.

Decompressed files must be placed directly in the output folder.

Files that are in subfolders of the archive must be decompressed into corresponding subfolders of the output folder.

If files need to be overwritten during extraction, the user must always be asked first.


This is the default profile. Applications are recommended to use this profile for all standard decompression tasks.

Structured.mdprf

Must exist only if the plug-in supports decompression.

The decompression thread must execute with Normal priority.

Decompressed files must be placed directly in the output folder.

Files that are in subfolders of the archive must be decompressed into corresponding subfolders of the output folder.

If files need to be overwritten during extraction, they must always be directly overwritten.


This is an internal Codex profile. This profile is used during the execution of Codex defined archive tools, such as archive type conversion, viewing/updating files inside archives, installing archives, and so on.

Shell.mdprf

Must exist only if the plug-in supports decompression.

The decompression thread must execute with Lower priority.

Decompressed files must be placed in a subfolder of the output folder. This subfolder must bear the archive name, without the extension.

Files that are in subfolders of the archive must be decompressed into corresponding subfolders of the output folder.

If files need to be overwritten during extraction, the user must always be asked first.


This is the shell profile. This profile is used during shell operations. For example, when the user right-clicks an archive in Windows Explorer and selects an archive action, the shell profile is used.

A plug-in may also ship with other decompression profiles. Furthermore, users may create their own decompression profiles, such as "Extract Files Without Paths," to assist them in storing their frequently used decompression settings.

See Also

SDK Overview, Plug-In Features, Plug-In Registration, CodexStandardFunction