/7zipPDK

7-zip Plugin Development Kit

Apache License 2.0Apache-2.0

7-zip Plugin Development Kit

7zipPDK will allow you to write and compile external codecs and formats for 7zip soon™

Full Exports List

Exports Overview

CreateObject

Definition: HRESULT CreateObject(const GUID *clsid, const GUID *iid, [out] void **outObject)
Description: Used to create one of the following things: Coder, Hasher, Folder Manager, In/Out Archive Handler, Encoder (if CreateEncoder is not present), Decoder (if CreateDecoder is not present)
Parameters:

Name Type Description
clsid GUID * Requested class
iid GUID * Requested category
outObject void ** Function result

CreateDecoder

Currently WIP

Definition: HRESULT CreateDecoder(UInt32 index, const GUID *iid, void **outObject)
Description: TBD
Parameters:

Name Type Description
index UInt32 Decoder id?
iid GUID * idk
outObject void ** Some memory

CreateEncoder

Currently WIP

Definition: HRESULT CreateEncoder(UInt32 index, const GUID *iid, void **outObject)
Description: TDB
Parameters:

Name Type Description
index UInt32 Encoder id?
iid GUID * idk
outObject void ** Some memory

GetNumberOfMethods

Definition: HRESULT GetNumberOfMethods([out] UInt32 *numCodecs)
Description: Get number of supported codecs
Parameters:

Name Type Description
numCodecs unsigned int * Number of codecs

GetNumberOfFormats

Definition: HRESULT GetNumberOfFormats([out] UInt32 *numFormats)
Description: Get number of supported formats
Parameters:

Name Type Description
numFormats unsigned int * Number of formats

GetMethodProperty

Definition: HRESULT GetMethodProperty(UInt32 codecIndex, UInt64 propID, [out] PROPVARIANT *value)
Description: Get specific property of selected codec
Parameters:

Name Type Description
codecIndex unsigned int Codec index
propID unsigned long long Property ID
value PROPVARIANT * Value of property

GetHandlerProperty

Currently WIP

Definition: HRESULT GetHandlerProperty(PROPID propID, PROPVARIANT *value)
Description: TBD
Parameters:

Name Type Description
propID PROPID idk
value PROPVARIANT * Value

GetHandlerProperty2

Currently WIP

Definition: HRESULT GetHandlerProperty2(UInt32 formatIndex, PROPID propID, PROPVARIANT *value)
Description: TBD
Parameters:

Name Type Description
formatIndex UInt32 Format Index
propID PROPID Property ID
value PROPVARIANT * Value

GetPluginProperty

Definition: HRESULT GetPluginProperty(UInt64 propID, [out] PROPVARIANT *value)
Description: Get specific plugin's property. Plugin should answer with its name, type, class id and options class id
Parameters:

Name Type Description
propID unsigned long long Property ID
value PROPVARIANT * Value of property

GetHashers

Currently WIP

Definition: HRESULT GetHashers(IHashers **hashers)
Description: TBD
Parameters:

Name Type Description
hashers IHashers ** Hashers

GetIsArc

Currently WIP

Definition: HRESULT GetIsArc(UInt32 formatIndex, Func_IsArc *isArc)
Description: TBD
Parameters:

Name Type Description
formatIndex UInt32 Format Index
isArc Func_IsArc * idk

SetLargePageMode

Definition: HRESULT SetLargePageMode()
Description: Enable Large-Page mode for this plugin
Parameters: NONE


SetCaseSensitive

Definition: HRESULT SetCaseSensitive(Int32 caseSensitive)
Description: Toggle case sensitivity for paths and filenames
Parameters:

Name Type Description
caseSensitive int Is case sensitive (1 or 0)

SetCodecs

Currently WIP

Definition: HRESULT SetCodecs(ICompressCodecsInfo *compressCodecsInfo)
Description: TBD
Parameters:

Name Type Description
compressCodecsInfo ICompressCodecsInfo * idk