Win32 docs for the two params: "For the CP_UTF7 and CP_UTF8 settings for CodePage, this parameter must be set to NULL. Otherwise, the function fails with ERROR_INVALID_PARAMETER."
The overhead is basically zero: before inclusion a compiled Example1.iss is 1.75 MB and after inclusion it's 1.77 MB. I'm sure it's fully included since it extracts an external archive.
The code's output is redirected to the log and its limits are as documented by 7zC.txt:
"- It reads only "FileName", "Size", "LastWriteTime" and "CRC" information for each file in archive.
- It supports only LZMA and Copy (no compression) methods with BCJ or BCJ2 filters.
- It converts original UTF-16 Unicode file names to UTF-8 Unicode file names.
These limitations will be fixed in future versions."
Also: it's not fully Unicode? Not sure if this is my fault or not.
Todo:
-It needs to collect output strings and watch for newlines before directly calling Log, much/just like output logging.
-If the OBJ is compiled with Visual Studio then the Delphi compile doesn't work: it complains about missing the various Windows functions used. For the OBJ compiled with bcc32c this was solved by just doing 'uses Windows'.
-Am unsure if it now contains two copies of the LZMA/LZMA decompression code, one from IS7ZipDec.obj and the other from ISLzmaDec/ISLzma2Dec.obj.
-Test the FullPaths parameter.