--- Unit1.cpp ---
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
typedef struct {
char ArcName[260];
char FileName[260];
int Flags;
int PackSize;
int UnpSize;
int HostOS;
int FileCRC;
int FileTime;
int UnpVer;
int Method;
int FileAttr;
char* CmtBuf;
int CmtBufSize;
int CmtSize;
int CmtState;
} tHeaderData;
typedef struct {
char* ArcName;
int OpenMode;
int OpenResult;
char* CmtBuf;
int CmtBufSize;
int CmtSize;
int CmtState;
} tOpenArchiveData;
#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
extern "C" __declspec(dllexport) HANDLE __stdcall OpenArchive (tOpenArchiveData *ArchiveData)
{
ShowMessage("open arc\n");
return (void*)1;
}
extern "C" __declspec(dllexport) int __stdcall ReadHeader (HANDLE hArcData, tHeaderData *HeaderData)
{
ShowMessage("read head");
return 10;
}
extern "C" __declspec(dllexport) int __stdcall ProcessFile (HANDLE hArcData, int Operation, char *DestPath, char *DestName)
{
ShowMessage("proc file");
return 24;
}
extern "C" __declspec(dllexport) int __stdcall CloseArchive (HANDLE hArcData)
{
ShowMessage("close arc");
return 1;
}
--- end ---
Sorry for my bad English, my native language is C++
