|
5 | 5 | 2) MultiArc module (*.fmt) |
6 | 6 | * ************************** */ |
7 | 7 |
|
| 8 | +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers |
| 9 | +#include <stdlib.h> |
8 | 10 | #include "plugin.hpp" |
9 | 11 | #include "fmt.hpp" |
10 | 12 | #include <crtdbg.h> |
@@ -117,7 +119,7 @@ struct DirInfo |
117 | 119 | return Ret; |
118 | 120 | }; |
119 | 121 |
|
120 | | - bool Compare(char *Str, char *Mask, bool NonEng = false, int Len=-1) |
| 122 | + bool Compare(const char *Str, const char *Mask, bool NonEng = false, int Len=-1) |
121 | 123 | { |
122 | 124 | int nCmp = (Len==-1) ? lstrlenA(Mask) : Len; |
123 | 125 |
|
@@ -218,10 +220,10 @@ struct DirInfo |
218 | 220 |
|
219 | 221 | int getArcItem(struct PluginPanelItem *Item, struct ArcItemInfo *Info) |
220 | 222 | { |
221 | | - static char *LabelHeader[]={ " Òîì", " Volume in" }; |
222 | | - static char *SerialHeader[]={ " Ñåðèéíûé", " Volume Serial" }; |
223 | | - static char *DirHeader[]={ " Ñîäåðæèìîå ïàïêè", " Directory of" }; |
224 | | - static char *DirEndHeader[]={ " Âñåãî ôàéëîâ:", " Total Files" }; |
| 223 | + static const char *LabelHeader[]={ " Òîì", " Volume in" }; |
| 224 | + static const char *SerialHeader[]={ " Ñåðèéíûé", " Volume Serial" }; |
| 225 | + static const char *DirHeader[]={ " Ñîäåðæèìîå ïàïêè", " Directory of" }; |
| 226 | + static const char *DirEndHeader[]={ " Âñåãî ôàéëîâ:", " Total Files" }; |
225 | 227 | static char DirID[]="<DIR>"; |
226 | 228 | static char JunID[]="<JUNCTION>"; |
227 | 229 | //char* Buf = (char*)malloc(4096); |
@@ -412,7 +414,7 @@ struct DirInfo |
412 | 414 | BOOL WINAPI _export IsArchive(char *Name, const unsigned char *Data, int DataSize) |
413 | 415 | { |
414 | 416 | _ASSERTE(gpCur!=NULL); |
415 | | - static char *ID[]={ " Òîì â óñòðîéñòâå ", " Volume in drive ", "Queued to drive " }; |
| 417 | + static const char *ID[]={ " Òîì â óñòðîéñòâå ", " Volume in drive ", "Queued to drive " }; |
416 | 418 | BOOL lbRc = |
417 | 419 | gpCur->Compare((char *)Data, ID[0], true, min(lstrlen(ID[0]), DataSize)) || |
418 | 420 | gpCur->Compare((char *)Data, ID[1], false, min(lstrlen(ID[1]), DataSize)) || |
@@ -543,18 +545,29 @@ int MODULE_EXPORT ExtractItem(HANDLE storage, ExtractOperationParams params) |
543 | 545 | return SER_ERROR_SYSTEM; |
544 | 546 | } |
545 | 547 |
|
| 548 | +int MODULE_EXPORT PrepareFiles(HANDLE storage) |
| 549 | +{ |
| 550 | + return SER_ERROR_SYSTEM; |
| 551 | +} |
| 552 | + |
546 | 553 | ////////////////////////////////////////////////////////////////////////// |
547 | 554 | // Exported Functions |
548 | 555 | ////////////////////////////////////////////////////////////////////////// |
549 | 556 |
|
| 557 | +// {C0651C24-3DCA-441C-8A42-C73664F942CF} |
| 558 | +static const GUID MODULE_GUID = { 0xc0651c24, 0x3dca, 0x441c, { 0x8a, 0x42, 0xc7, 0x36, 0x64, 0xf9, 0x42, 0xcf } };; |
| 559 | + |
550 | 560 | int MODULE_EXPORT LoadSubModule(ModuleLoadParameters* LoadParams) |
551 | 561 | { |
| 562 | + LoadParams->ModuleId = MODULE_GUID; |
552 | 563 | LoadParams->ModuleVersion = MAKEMODULEVERSION(1, 0); |
553 | 564 | LoadParams->ApiVersion = ACTUAL_API_VERSION; |
554 | | - LoadParams->OpenStorage = OpenStorage; |
555 | | - LoadParams->CloseStorage = CloseStorage; |
556 | | - LoadParams->GetItem = GetStorageItem; |
557 | | - LoadParams->ExtractItem = ExtractItem; |
| 565 | + |
| 566 | + LoadParams->ApiFuncs.OpenStorage = OpenStorage; |
| 567 | + LoadParams->ApiFuncs.CloseStorage = CloseStorage; |
| 568 | + LoadParams->ApiFuncs.GetItem = GetStorageItem; |
| 569 | + LoadParams->ApiFuncs.ExtractItem = ExtractItem; |
| 570 | + LoadParams->ApiFuncs.PrepareFiles = PrepareFiles; |
558 | 571 |
|
559 | 572 | return TRUE; |
560 | 573 | } |
|
0 commit comments