Data Structures |
| struct | PCFHEADER |
| struct | PCFFOLDER |
| struct | PCFFILE |
| struct | PCFDATA |
| struct | PCAB_SEARCH |
Defines |
| #define | CAB_SIGNATURE 0x4643534D |
| #define | CAB_VERSION 0x0103 |
| #define | CAB_BLOCKSIZE 32768 |
| #define | CAB_COMP_MASK 0x00FF |
| #define | CAB_COMP_NONE 0x0000 |
| #define | CAB_COMP_MSZIP 0x0001 |
| #define | CAB_COMP_QUANTUM 0x0002 |
| #define | CAB_COMP_LZX 0x0003 |
| #define | CAB_FLAG_HASPREV 0x0001 |
| #define | CAB_FLAG_HASNEXT 0x0002 |
| #define | CAB_FLAG_RESERVE 0x0004 |
| #define | CAB_ATTRIB_READONLY 0x0001 |
| #define | CAB_ATTRIB_HIDDEN 0x0002 |
| #define | CAB_ATTRIB_SYSTEM 0x0004 |
| #define | CAB_ATTRIB_VOLUME 0x0008 |
| #define | CAB_ATTRIB_DIRECTORY 0x0010 |
| #define | CAB_ATTRIB_ARCHIVE 0x0020 |
| #define | CAB_ATTRIB_EXECUTE 0x0040 |
| #define | CAB_ATTRIB_UTF_NAME 0x0080 |
| #define | CAB_FILE_MAX_FOLDER 0xFFFC |
| #define | CAB_FILE_CONTINUED 0xFFFD |
| #define | CAB_FILE_SPLIT 0xFFFE |
| #define | CAB_FILE_PREV_NEXT 0xFFFF |
| #define | CAB_STATUS_SUCCESS 0x00000000 |
| #define | CAB_STATUS_FAILURE 0x00000001 |
| #define | CAB_STATUS_NOMEMORY 0x00000002 |
| #define | CAB_STATUS_CANNOT_OPEN 0x00000003 |
| #define | CAB_STATUS_CANNOT_CREATE 0x00000004 |
| #define | CAB_STATUS_CANNOT_READ 0x00000005 |
| #define | CAB_STATUS_CANNOT_WRITE 0x00000006 |
| #define | CAB_STATUS_FILE_EXISTS 0x00000007 |
| #define | CAB_STATUS_INVALID_CAB 0x00000008 |
| #define | CAB_STATUS_NOFILE 0x00000009 |
| #define | CAB_STATUS_UNSUPPCOMP 0x0000000A |
| #define | CS_SUCCESS 0x0000 /* All data consumed */ |
| #define | CS_NOMEMORY 0x0001 /* Not enough free memory */ |
| #define | CS_BADSTREAM 0x0002 /* Bad data stream */ |
| #define | CAB_CODEC_RAW 0x00 |
| #define | CAB_CODEC_LZX 0x01 |
| #define | CAB_CODEC_MSZIP 0x02 |
| #define | MSZIP_MAGIC 0x4B43 |
Typedefs |
| typedef ULONG(* | PCABINET_CODEC_UNCOMPRESS )(PVOID OutputBuffer, PVOID InputBuffer, PLONG InputLength, PLONG OutputLength) |
| typedef BOOL(* | PCABINET_OVERWRITE )(PCFFILE File, PWCHAR FileName) |
| typedef VOID(* | PCABINET_EXTRACT )(PCFFILE File, PWCHAR FileName) |
| typedef VOID(* | PCABINET_DISK_CHANGE )(PWCHAR CabinetName, PWCHAR DiskLabel) |
Functions |
| VOID | CabinetInitialize (VOID) |
| VOID | CabinetCleanup (VOID) |
| PWCHAR | CabinetGetFileName (PWCHAR Path) |
| VOID | CabinetRemoveFileName (PWCHAR Path) |
| BOOL | CabinetNormalizePath (PWCHAR Path, ULONG Length) |
| PWCHAR | CabinetGetCabinetName (VOID) |
| VOID | CabinetSetCabinetName (PWCHAR FileName) |
| VOID | CabinetSetDestinationPath (PWCHAR DestinationPath) |
| PWCHAR | CabinetGetDestinationPath (VOID) |
| ULONG | CabinetGetCurrentDiskNumber (VOID) |
| ULONG | CabinetOpen (VOID) |
| VOID | CabinetClose (VOID) |
| ULONG | CabinetFindFirst (PWCHAR FileName, PCAB_SEARCH Search) |
| ULONG | CabinetFindNext (PCAB_SEARCH Search) |
| ULONG | CabinetFindNextFileSequential (PWCHAR FileName, PCAB_SEARCH Search) |
| ULONG | CabinetExtractFile (PCAB_SEARCH Search) |
| VOID | CabinetSelectCodec (ULONG Id) |
| VOID | CabinetSetEventHandlers (PCABINET_OVERWRITE Overwrite, PCABINET_EXTRACT Extract, PCABINET_DISK_CHANGE DiskChange) |
| PVOID | CabinetGetCabinetReservedArea (PULONG Size) |