Plugin calls the function to communicate some archive-related parameters.
The plugin can remember the pointer on the function in ArcInitPluginW.
Syntax C++
typedef int (__stdcall *ArcParamFromPlugProc) (
_In_ LONG_PTR Session,
_In_ HANDLE hArcData,
_In_ int ParameterType,
_In_ LONG_PTR ParameterData
);
|
Parameters
Session [in]
Type: LONG_PTR
Session identifier.
hArcData [in]
Type: HANDLE
Contains a value returned by function ArcOpenW. Defined by plugin itself. If archive wasn't open, the parameter is 0.
ParameterType [in]
Type: int
The type of set parameter:
Code
|
Comments
|
PK_SENDPARAM_STAGE
0
|
New step for progress indicator.
Must be passed before archiving a file.
ParameterData – is a pointer on structure ArcProcessingStageData.
If a regular step is required after archive preparing step, ParameterData must be 0. Then all indicator parameters will be reset to values before the special stage.
Plugin must call the parameter only when going into the special stage and exiting it out.
|
PK_SENDPARAM_FILESIZE
1
|
For the process indicator changes the size of the current file.
As a rule is used by the program during the special stage, established by parameter PK_SENDPARAM_STAGE.
The parameter must be set before processing each new file during special stage processing.
Here ParameterData is *__int64 (pointer on file size).
|
ParameterData [in]
Type: LONG_PTR
Contains data. Data format is defined by parameter ParameterType.
Return value
Type: unsigned int
If success returns 0, otherwise – error code.
|