[RAPPS] Moved cabinet.dll related definitions to separate header

svn path=/branches/GSoC_2017/rapps/; revision=75820
This commit is contained in:
Alexander Shaposhnikov 2017-09-10 17:33:14 +00:00
parent 050d268e04
commit ec69b8b62f
3 changed files with 36 additions and 31 deletions

View file

@ -22,6 +22,7 @@ list(APPEND SOURCE
include/gui.h
include/dialogs.h
include/installed.h
include/cabinet.h
include/crichedit.h
include/defines.h
include/misc.h

View file

@ -0,0 +1,32 @@
// Structs related to .cab extraction
// FIXME: they should belong to exports of cabinet.dll
#pragma once
struct ERF
{
INT erfOper;
INT erfType;
BOOL fError;
};
struct FILELIST
{
LPSTR FileName;
FILELIST *next;
BOOL DoExtract;
};
struct SESSION
{
INT FileSize;
ERF Error;
FILELIST *FileList;
INT FileCount;
INT Operation;
CHAR Destination[MAX_PATH];
CHAR CurrentFile[MAX_PATH];
CHAR Reserved[MAX_PATH];
FILELIST *FilterList;
};
typedef HRESULT(WINAPI *fnExtract)(SESSION *dest, LPCSTR szCabName);

View file

@ -11,6 +11,7 @@
#include "gui.h"
#include "misc.h"
#include "cabinet.h"
/* SESSION Operation */
#define EXTRACT_FILLFILELIST 0x00000001
@ -18,36 +19,6 @@
static HANDLE hLog = NULL;
struct ERF
{
INT erfOper;
INT erfType;
BOOL fError;
};
struct FILELIST
{
LPSTR FileName;
FILELIST *next;
BOOL DoExtract;
};
struct SESSION
{
INT FileSize;
ERF Error;
FILELIST *FileList;
INT FileCount;
INT Operation;
CHAR Destination[MAX_PATH];
CHAR CurrentFile[MAX_PATH];
CHAR Reserved[MAX_PATH];
FILELIST *FilterList;
};
typedef HRESULT(WINAPI *fnExtract)(SESSION *dest, LPCSTR szCabName);
fnExtract pfnExtract;
INT GetWindowWidth(HWND hwnd)
{
RECT Rect;
@ -243,7 +214,8 @@ BOOL ExtractFilesFromCab(LPCWSTR lpCabName, LPCWSTR lpOutputPath)
CHAR szCabName[MAX_PATH];
SESSION Dest;
HRESULT Result;
fnExtract pfnExtract;
hCabinetDll = LoadLibraryW(L"cabinet.dll");
if (hCabinetDll)
{