8.1.6 LZNV COM Obj IDL File Content


   8.1.6 LZNV COM Obj IDL File Content


import "unknwn.idl";


#define _LZNV_MAXPATH_ 320


[object,

uuid(F5F9627F-43E4-4EE8-BB87-BE85086387E6),

object,

local,

pointer_default(unique),

helpstring("interface ILZNV_COM_Obj for exporting LZNV Data Compression functionality v2.15")

]

interface ILZNV_COM_Obj : IUnknown

{

    typedef struct _LZNV_FILE_PARAM_TYPE

    {

        unsigned char _verbose;               // display more info

        unsigned char _use_callback;          // 0 = use .. 1 = do not use

        unsigned char _cpu_priority_level;    // _LZNV_BELOW_NORMAL_PRIORITY_CLASS .. _LZNV_REALTIME_PRIORITY_CLASS

        unsigned char _internal_verification; // performs also an internal verification only when compressing. slower.


        unsigned char _encoding_method;       // _LZNV_ULTRAFAST_COMPRESSION .. _LZNV_BETTER_COMPRESSION

        unsigned char _command_to_execute;    // _LZNV_COMMAND_ENCODE, _LZNV_COMMAND_DECODE, _LZNV_COMMAND_TEST

        unsigned char _memory_level;          //  0 = 256KB, 1 = 512KB,  2 = 1MB, 3 = 2MB, 4 = 4MB, 5 = 8MB, 6 = 16MB, 6 = 32MB, 7 = 64

        unsigned char _reserved8;


        unsigned int  _file_adler32;          // file adler32


        unsigned int _reserved32;

        unsigned long long _reserved64;


        char   _sz_password[12];  


        wchar_t  _source_file_path[_LZNV_MAXPATH_ + 1];

        wchar_t  _target_file_path[_LZNV_MAXPATH_ + 1];

    }

    LZNV_FILE_COMMAND_PARAMS, * P_LZNV_FILE_COMMAND_PARAMS;


    HRESULT  LZNV_Main_([ref, in, out] P_LZNV_FILE_COMMAND_PARAMS _command_param_struct);

};


[

    uuid(8E2C63D7-8B56-4E20-A32F-CB3ACC22EE5A),

    helpstring("Interfaces for LZNV algorithm implementations v2.15")

]

library LZNV_COM_Obj

{

    importlib("stdole32.tlb");

    importlib("stdole2.tlb");


    interface ILZNV_COM_Obj;

}