2017-12-29 22:45:02 +00:00
|
|
|
/*
|
|
|
|
* PROJECT: ReactOS Zip Shell Extension
|
|
|
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
|
|
|
* PURPOSE: zip pidl handling
|
|
|
|
* COPYRIGHT: Copyright 2017 Mark Jansen (mark.jansen@reactos.org)
|
2023-07-17 11:12:45 +00:00
|
|
|
* Copyright 2023 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
2017-12-29 22:45:02 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
enum ZipPidlType
|
|
|
|
{
|
|
|
|
ZIP_PIDL_DIRECTORY,
|
|
|
|
ZIP_PIDL_FILE
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <pshpack1.h>
|
|
|
|
struct ZipPidlEntry
|
|
|
|
{
|
2023-07-17 11:12:45 +00:00
|
|
|
WORD cb; // This must be a WORD to keep compatibility to SHITEMID
|
2017-12-29 22:45:02 +00:00
|
|
|
BYTE MagicType;
|
2023-07-17 11:12:45 +00:00
|
|
|
BOOLEAN Password;
|
2017-12-29 22:45:02 +00:00
|
|
|
ZipPidlType ZipType;
|
|
|
|
|
|
|
|
ULONG64 CompressedSize;
|
|
|
|
ULONG64 UncompressedSize;
|
|
|
|
ULONG DosDate;
|
|
|
|
|
2023-07-17 11:12:45 +00:00
|
|
|
WCHAR Name[1];
|
2017-12-29 22:45:02 +00:00
|
|
|
};
|
|
|
|
#include <poppack.h>
|
|
|
|
|
|
|
|
|
2023-07-17 11:12:45 +00:00
|
|
|
LPITEMIDLIST _ILCreate(ZipPidlType Type, PCWSTR lpString, unz_file_info64& info);
|
2017-12-29 22:45:02 +00:00
|
|
|
const ZipPidlEntry* _ZipFromIL(LPCITEMIDLIST pidl);
|