UPD: Use cdecl calling convention under UNIX'es

This commit is contained in:
Alexander Koblov 2011-08-13 12:56:31 +00:00
commit daef1e02f2
26 changed files with 450 additions and 403 deletions

2
sdk/calling.inc Normal file
View file

@ -0,0 +1,2 @@
{$MACRO ON}
{$DEFINE dcpcall:={$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}}

View file

@ -1,7 +1,9 @@
#ifdef __GNUC__
#ifndef __stdcall
#define __stdcall __attribute__((stdcall))
#if defined(__WIN32__) || defined(_WIN32) || defined(_WIN64)
#define DCPCALL __attribute__((stdcall))
#else
#define DCPCALL __attribute__((cdecl))
#endif
#define MAX_PATH 260
@ -47,4 +49,12 @@ typedef struct _WIN32_FIND_DATAW {
WCHAR cAlternateFileName[14];
} WIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
#else
#if defined(_WIN32) || defined(_WIN64)
#define DCPCALL __stdcall
#else
#define DCPCALL __cdecl
#endif
#endif

View file

@ -9,10 +9,10 @@ type
PDsxSearchRecord = ^TDsxSearchRecord;
TDsxSearchRecord = record
StartPath: array[0..1024] of AnsiChar;
FileMask: array[0..1024] of AnsiChar;
StartPath: array[0..1023] of AnsiChar;
FileMask: array[0..1023] of AnsiChar;
Attributes: Cardinal;
AttribStr: array[0..128] of AnsiChar;
AttribStr: array[0..127] of AnsiChar;
CaseSensitive: Boolean;
{ Date/time search }
IsDateFrom,
@ -28,9 +28,9 @@ type
FileSizeTo: Int64;
{ Find/replace text }
IsFindText: Boolean;
FindText: array[0..1024] of AnsiChar;
FindText: array[0..1023] of AnsiChar;
IsReplaceText: Boolean;
ReplaceText: array[0..1024] of AnsiChar;
ReplaceText: array[0..1023] of AnsiChar;
NotContainingText: Boolean;
end;
@ -43,20 +43,22 @@ type
end;
PDsxDefaultParamStruct = ^TDsxDefaultParamStruct;
{ For compatibility with Delphi use $IFDEF's to set calling convention }
{Prototypes}
{Callbacks procs}
TSAddFileProc = procedure(PluginNr: Integer; FoundFile: PChar); stdcall;
TSAddFileProc = procedure(PluginNr: Integer; FoundFile: PChar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
//if FoundFile='' then searching is finished
TSUpdateStatusProc = procedure(PluginNr: Integer; CurrentFile: PChar;
FilesScaned: Integer); stdcall;
FilesScaned: Integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
{Mandatory (must be implemented)}
TSInit = function(dps: PDsxDefaultParamStruct; pAddFileProc: TSAddFileProc;
pUpdateStatus: TSUpdateStatusProc): Integer; stdcall;
TSStartSearch = procedure(PluginNr: Integer; pSearchRec: PDsxSearchRecord); stdcall;
TSStopSearch = procedure(PluginNr: Integer); stdcall;
TSFinalize = procedure(PluginNr: Integer); stdcall;
pUpdateStatus: TSUpdateStatusProc): Integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TSStartSearch = procedure(PluginNr: Integer; pSearchRec: PDsxSearchRecord); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TSStopSearch = procedure(PluginNr: Integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TSFinalize = procedure(PluginNr: Integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
implementation

View file

@ -1,3 +1,5 @@
#include "common.h"
/* dialog messages */
#define DM_FIRST 0
#define DM_CLOSE DM_FIRST+1 /* A signal that the dialog is about to close */
@ -56,13 +58,13 @@
#define EXT_MAX_PATH 16384 /* 16 Kb */
/* Dialog window callback function */
typedef intptr_t (__stdcall *tDlgProc)(uintptr_t pDlg, char* DlgItemName, intptr_t Msg, intptr_t wParam, intptr_t lParam);
typedef intptr_t (DCPCALL *tDlgProc)(uintptr_t pDlg, char* DlgItemName, intptr_t Msg, intptr_t wParam, intptr_t lParam);
/* Definition of callback functions called by the DLL */
typedef BOOL (__stdcall *tInputBoxProc)(char* Caption, char* Prompt, BOOL MaskInput, char* Value, int ValueMaxLen);
typedef int (__stdcall *tMessageBoxProc)(char* Text, char* Caption, long Flags);
typedef BOOL (__stdcall *tDialogBoxLFMProc)(intptr_t LFMData, unsigned long DataSize, tDlgProc DlgProc);
typedef BOOL (__stdcall *tDialogBoxLRSProc)(intptr_t LRSData, unsigned long DataSize, tDlgProc DlgProc);
typedef BOOL (__stdcall *tDialogBoxLFMFileProc)(char* LFMFileName, tDlgProc DlgProc);
typedef BOOL (DCPCALL *tInputBoxProc)(char* Caption, char* Prompt, BOOL MaskInput, char* Value, int ValueMaxLen);
typedef int (DCPCALL *tMessageBoxProc)(char* Text, char* Caption, long Flags);
typedef BOOL (DCPCALL *tDialogBoxLFMProc)(intptr_t LFMData, unsigned long DataSize, tDlgProc DlgProc);
typedef BOOL (DCPCALL *tDialogBoxLRSProc)(intptr_t LRSData, unsigned long DataSize, tDlgProc DlgProc);
typedef BOOL (DCPCALL *tDialogBoxLFMFileProc)(char* LFMFileName, tDlgProc DlgProc);
#pragma pack(push)
@ -81,13 +83,13 @@ unsigned char Reserved[4096 * sizeof(void *)];
} tExtensionStartupInfo;
#pragma pack(pop)
typedef void (__stdcall tExtensionInitializeProc)(tExtensionStartupInfo* StartupInfo);
typedef void (__stdcall tExtensionFinalizeProc)(void* Reserved);
typedef void (DCPCALL tExtensionInitializeProc)(tExtensionStartupInfo* StartupInfo);
typedef void (DCPCALL tExtensionFinalizeProc)(void* Reserved);
/* Plugin must implement this function for working with Extension API
void __stdcall ExtensionInitialize(tExtensionStartupInfo* StartupInfo);
void DCPCALL ExtensionInitialize(tExtensionStartupInfo* StartupInfo);
void __stdcall ExtensionFinalize(void* Reserved);
void DCPCALL ExtensionFinalize(void* Reserved);
*/

View file

@ -93,25 +93,27 @@ const
const
EXT_MAX_PATH = 16384; // 16 Kb
{ For compatibility with Delphi use $IFDEF's to set calling convention }
type
{ Dialog window callback function }
TDlgProc = function(pDlg: PtrUInt; DlgItemName: PAnsiChar; Msg, wParam, lParam: PtrInt): PtrInt; stdcall;
TDlgProc = function(pDlg: PtrUInt; DlgItemName: PAnsiChar; Msg, wParam, lParam: PtrInt): PtrInt; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
{ Definition of callback functions called by the DLL }
TInputBoxProc = function(Caption, Prompt: PAnsiChar; MaskInput: LongBool; Value: PAnsiChar; ValueMaxLen: Integer): LongBool; stdcall;
TMessageBoxProc = function(Text, Caption: PAnsiChar; Flags: Longint): Integer; stdcall;
TDialogBoxLFMProc = function(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
TDialogBoxLRSProc = function(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
TDialogBoxLFMFileProc = function(lfmFileName: PAnsiChar; DlgProc: TDlgProc): LongBool; stdcall;
TInputBoxProc = function(Caption, Prompt: PAnsiChar; MaskInput: LongBool; Value: PAnsiChar; ValueMaxLen: Integer): LongBool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TMessageBoxProc = function(Text, Caption: PAnsiChar; Flags: Longint): Integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TDialogBoxLFMProc = function(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TDialogBoxLRSProc = function(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TDialogBoxLFMFileProc = function(lfmFileName: PAnsiChar; DlgProc: TDlgProc): LongBool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
type
PExtensionStartupInfo = ^TExtensionStartupInfo;
TExtensionStartupInfo = record
TExtensionStartupInfo = packed record
// The size of the structure, in bytes
StructSize: LongWord;
// Directory where plugin is located (UTF-8 encoded)
PluginDir: array [0..Pred(EXT_MAX_PATH)] of AnsiChar;
PluginDir: packed array [0..Pred(EXT_MAX_PATH)] of AnsiChar;
// Directory where plugin configuration file must be located (UTF-8 encoded)
PluginConfDir: array [0..Pred(EXT_MAX_PATH)] of AnsiChar;
PluginConfDir: packed array [0..Pred(EXT_MAX_PATH)] of AnsiChar;
// Dialog API
InputBox: TInputBoxProc;
MessageBox: TMessageBoxProc;
@ -120,20 +122,20 @@ type
DialogBoxLFMFile: TDialogBoxLFMFileProc;
SendDlgMsg: TDlgProc;
// Reserved for future API extension
Reserved: array [0..Pred(4096 * SizeOf(Pointer))] of Byte;
Reserved: packed array [0..Pred(4096 * SizeOf(Pointer))] of Byte;
end;
type
TExtensionInitializeProc = procedure(StartupInfo: PExtensionStartupInfo); stdcall;
TExtensionFinalizeProc = procedure(Reserved: Pointer); stdcall;
TExtensionInitializeProc = procedure(StartupInfo: PExtensionStartupInfo); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TExtensionFinalizeProc = procedure(Reserved: Pointer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
implementation
{ Plugin must implement this function for working with Extension API
procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo); stdcall;
procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ExtensionFinalize(Reserved: Pointer); stdcall;
procedure ExtensionFinalize(Reserved: Pointer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
}

View file

@ -160,14 +160,14 @@ typedef struct {
/* Definition of callback functions called by the DLL
Ask to swap disk for multi-volume archive */
typedef int (__stdcall *tChangeVolProc)(char *ArcName,int Mode);
typedef int (__stdcall *tChangeVolProcW)(WCHAR *ArcName,int Mode);
typedef int (DCPCALL *tChangeVolProc)(char *ArcName,int Mode);
typedef int (DCPCALL *tChangeVolProcW)(WCHAR *ArcName,int Mode);
/* Notify that data is processed - used for progress dialog */
typedef int (__stdcall *tProcessDataProc)(char *FileName,int Size);
typedef int (__stdcall *tProcessDataProcW)(WCHAR *FileName,int Size);
typedef int (__stdcall *tPkCryptProc)(int CryptoNr,int Mode,
typedef int (DCPCALL *tProcessDataProc)(char *FileName,int Size);
typedef int (DCPCALL *tProcessDataProcW)(WCHAR *FileName,int Size);
typedef int (DCPCALL *tPkCryptProc)(int CryptoNr,int Mode,
char* ArchiveName,char* Password,int maxlen);
typedef int (__stdcall *tPkCryptProcW)(int CryptoNr,int Mode,
typedef int (DCPCALL *tPkCryptProcW)(int CryptoNr,int Mode,
WCHAR* ArchiveName,WCHAR* Password,int maxlen);

View file

@ -90,24 +90,26 @@ type
const
wcxInvalidHandle = TArcHandle(-1);
{ For compatibility with Delphi use $IFDEF's to set calling convention }
type
{Definition of callback functions called by the DLL}
{Ask to swap disk for multi-volume archive}
PChangeVolProc=^TChangeVolProc;
TChangeVolProc=function(ArcName:pchar;Mode:longint):longint; stdcall;
TChangeVolProc=function(ArcName:pchar;Mode:longint):longint; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
PChangeVolProcW=^TChangeVolProcW;
TChangeVolProcW=function(ArcName:pwidechar;Mode:longint):longint; stdcall;
TChangeVolProcW=function(ArcName:pwidechar;Mode:longint):longint; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
{Notify that data is processed - used for progress dialog}
PProcessDataProc=^TProcessDataProc;
TProcessDataProc=function(FileName:pchar;Size:longint):longint; stdcall;
TProcessDataProc=function(FileName:pchar;Size:longint):longint; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
PProcessDataProcW=^TProcessDataProcW;
TProcessDataProcW=function(FileName:pwidechar;Size:longint):longint; stdcall;
TProcessDataProcW=function(FileName:pwidechar;Size:longint):longint; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
PPkCryptProc = ^TPkCryptProc;
TPkCryptProc = function(CryptoNr: Integer; Mode: Integer; ArchiveName,
Password: PAnsiChar; MaxLen: Integer): Integer; stdcall;
Password: PAnsiChar; MaxLen: Integer): Integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
PPkCryptProcW = ^TPkCryptProcW;
TPkCryptProcW = function(CryptoNr: Integer; Mode: Integer; ArchiveName,
Password: PWideChar; MaxLen: Integer): Integer; stdcall;
Password: PWideChar; MaxLen: Integer): Integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
type
PHeaderData = ^THeaderData;

View file

@ -79,21 +79,21 @@ typedef struct {
WORD wSecond;
} ttimeformat,*ptimeformat;
int __stdcall ContentGetDetectString(char* DetectString,int maxlen);
int __stdcall ContentGetSupportedField(int FieldIndex,char* FieldName,char* Units,int maxlen);
int __stdcall ContentGetValue(char* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
int __stdcall ContentGetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
int DCPCALL ContentGetDetectString(char* DetectString,int maxlen);
int DCPCALL ContentGetSupportedField(int FieldIndex,char* FieldName,char* Units,int maxlen);
int DCPCALL ContentGetValue(char* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
int DCPCALL ContentGetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
void __stdcall ContentSetDefaultParams(ContentDefaultParamStruct* dps);
void __stdcall ContentPluginUnloading(void);
void __stdcall ContentStopGetValue(char* FileName);
void __stdcall ContentStopGetValueW(WCHAR* FileName);
int __stdcall ContentGetDefaultSortOrder(int FieldIndex);
int __stdcall ContentGetSupportedFieldFlags(int FieldIndex);
int __stdcall ContentSetValue(char* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
int __stdcall ContentSetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
void DCPCALL ContentSetDefaultParams(ContentDefaultParamStruct* dps);
void DCPCALL ContentPluginUnloading(void);
void DCPCALL ContentStopGetValue(char* FileName);
void DCPCALL ContentStopGetValueW(WCHAR* FileName);
int DCPCALL ContentGetDefaultSortOrder(int FieldIndex);
int DCPCALL ContentGetSupportedFieldFlags(int FieldIndex);
int DCPCALL ContentSetValue(char* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
int DCPCALL ContentSetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
int __stdcall ContentEditValue(HWND ParentWin,int FieldIndex,int UnitIndex,int FieldType,
int DCPCALL ContentEditValue(HWND ParentWin,int FieldIndex,int UnitIndex,int FieldType,
void* FieldValue,int maxlen,int flags,char* langidentifier);
void __stdcall ContentSendStateInformation(int state,char* path);
void __stdcall ContentSendStateInformationW(int state,WCHAR* path);
void DCPCALL ContentSendStateInformation(int state,char* path);
void DCPCALL ContentSendStateInformationW(int state,WCHAR* path);

View file

@ -78,27 +78,27 @@ type ttimeformat=record
{
procedure ContentGetDetectString(DetectString:pchar;maxlen:integer); stdcall;
procedure ContentGetDetectString(DetectString:pchar;maxlen:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentGetSupportedField(FieldIndex:integer;FieldName:pchar;
Units:pchar;maxlen:integer):integer; stdcall;
Units:pchar;maxlen:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentGetValue(FileName:pchar;FieldIndex,UnitIndex:integer;
FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
FieldValue:pbyte; maxlen,flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentGetValueW(FileName:pwidechar;FieldIndex,UnitIndex:integer;
FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
procedure ContentSetDefaultParams(dps:pContentDefaultParamStruct); stdcall;
procedure ContentPluginUnloading; stdcall;
procedure ContentStopGetValue(FileName:pchar); stdcall;
procedure ContentStopGetValueW(FileName:pwidechar); stdcall;
function ContentGetDefaultSortOrder(FieldIndex:integer):integer; stdcall;
function ContentGetSupportedFieldFlags(FieldIndex:integer):integer; stdcall;
FieldValue:pbyte; maxlen,flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ContentSetDefaultParams(dps:pContentDefaultParamStruct); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ContentPluginUnloading; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ContentStopGetValue(FileName:pchar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ContentStopGetValueW(FileName:pwidechar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentGetDefaultSortOrder(FieldIndex:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentGetSupportedFieldFlags(FieldIndex:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentSetValue(FileName:pchar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
FieldValue:pbyte;flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentSetValueW(FileName:pwidechar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
procedure ContentSendStateInformation(state:integer;path:pchar); stdcall;
procedure ContentSendStateInformationW(state:integer;path:pwidechar); stdcall;
FieldValue:pbyte;flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ContentSendStateInformation(state:integer;path:pchar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ContentSendStateInformationW(state:integer;path:pwidechar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ContentEditValue(handle:thandle;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pchar;maxlen:integer;flags:integer;langidentifier:pchar):integer; stdcall;
FieldValue:pchar;maxlen:integer;flags:integer;langidentifier:pchar):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
}

View file

@ -185,75 +185,75 @@ int size;
} FsDefaultParamStruct;
// callback functions
typedef int (__stdcall *tProgressProc)(int PluginNr,char* SourceName,
typedef int (DCPCALL *tProgressProc)(int PluginNr,char* SourceName,
char* TargetName,int PercentDone);
typedef int (__stdcall *tProgressProcW)(int PluginNr,WCHAR* SourceName,
typedef int (DCPCALL *tProgressProcW)(int PluginNr,WCHAR* SourceName,
WCHAR* TargetName,int PercentDone);
typedef void (__stdcall *tLogProc)(int PluginNr,int MsgType,char* LogString);
typedef void (__stdcall *tLogProcW)(int PluginNr,int MsgType,WCHAR* LogString);
typedef void (DCPCALL *tLogProc)(int PluginNr,int MsgType,char* LogString);
typedef void (DCPCALL *tLogProcW)(int PluginNr,int MsgType,WCHAR* LogString);
typedef BOOL (__stdcall *tRequestProc)(int PluginNr,int RequestType,char* CustomTitle,
typedef BOOL (DCPCALL *tRequestProc)(int PluginNr,int RequestType,char* CustomTitle,
char* CustomText,char* ReturnedText,int maxlen);
typedef BOOL (__stdcall *tRequestProcW)(int PluginNr,int RequestType,WCHAR* CustomTitle,
typedef BOOL (DCPCALL *tRequestProcW)(int PluginNr,int RequestType,WCHAR* CustomTitle,
WCHAR* CustomText,WCHAR* ReturnedText,int maxlen);
typedef int (__stdcall *tCryptProc)(int PluginNr,int CryptoNr,int Mode,
typedef int (DCPCALL *tCryptProc)(int PluginNr,int CryptoNr,int Mode,
char* ConnectionName,char* Password,int maxlen);
typedef int (__stdcall *tCryptProcW)(int PluginNr,int CryptoNr,int Mode,
typedef int (DCPCALL *tCryptProcW)(int PluginNr,int CryptoNr,int Mode,
WCHAR* ConnectionName,WCHAR* Password,int maxlen);
// Function prototypes
int __stdcall FsInit(int PluginNr,tProgressProc pProgressProc,
int DCPCALL FsInit(int PluginNr,tProgressProc pProgressProc,
tLogProc pLogProc,tRequestProc pRequestProc);
int __stdcall FsInitW(int PluginNr,tProgressProcW pProgressProcW,
int DCPCALL FsInitW(int PluginNr,tProgressProcW pProgressProcW,
tLogProcW pLogProcW,tRequestProcW pRequestProcW);
void __stdcall FsSetCryptCallback(tCryptProc pCryptProc,int CryptoNr,int Flags);
void __stdcall FsSetCryptCallbackW(tCryptProcW pCryptProcW,int CryptoNr,int Flags);
HANDLE __stdcall FsFindFirst(char* Path,WIN32_FIND_DATAA *FindData);
HANDLE __stdcall FsFindFirstW(WCHAR* Path,WIN32_FIND_DATAW *FindData);
void DCPCALL FsSetCryptCallback(tCryptProc pCryptProc,int CryptoNr,int Flags);
void DCPCALL FsSetCryptCallbackW(tCryptProcW pCryptProcW,int CryptoNr,int Flags);
HANDLE DCPCALL FsFindFirst(char* Path,WIN32_FIND_DATAA *FindData);
HANDLE DCPCALL FsFindFirstW(WCHAR* Path,WIN32_FIND_DATAW *FindData);
BOOL __stdcall FsFindNext(HANDLE Hdl,WIN32_FIND_DATAA *FindData);
BOOL __stdcall FsFindNextW(HANDLE Hdl,WIN32_FIND_DATAW *FindData);
int __stdcall FsFindClose(HANDLE Hdl);
BOOL __stdcall FsMkDir(char* Path);
BOOL __stdcall FsMkDirW(WCHAR* Path);
int __stdcall FsExecuteFile(HWND MainWin,char* RemoteName,char* Verb);
int __stdcall FsExecuteFileW(HWND MainWin,WCHAR* RemoteName,WCHAR* Verb);
int __stdcall FsRenMovFile(char* OldName,char* NewName,BOOL Move,
BOOL DCPCALL FsFindNext(HANDLE Hdl,WIN32_FIND_DATAA *FindData);
BOOL DCPCALL FsFindNextW(HANDLE Hdl,WIN32_FIND_DATAW *FindData);
int DCPCALL FsFindClose(HANDLE Hdl);
BOOL DCPCALL FsMkDir(char* Path);
BOOL DCPCALL FsMkDirW(WCHAR* Path);
int DCPCALL FsExecuteFile(HWND MainWin,char* RemoteName,char* Verb);
int DCPCALL FsExecuteFileW(HWND MainWin,WCHAR* RemoteName,WCHAR* Verb);
int DCPCALL FsRenMovFile(char* OldName,char* NewName,BOOL Move,
BOOL OverWrite,RemoteInfoStruct* ri);
int __stdcall FsRenMovFileW(WCHAR* OldName,WCHAR* NewName,BOOL Move,
int DCPCALL FsRenMovFileW(WCHAR* OldName,WCHAR* NewName,BOOL Move,
BOOL OverWrite,RemoteInfoStruct* ri);
int __stdcall FsGetFile(char* RemoteName,char* LocalName,int CopyFlags,
int DCPCALL FsGetFile(char* RemoteName,char* LocalName,int CopyFlags,
RemoteInfoStruct* ri);
int __stdcall FsGetFileW(WCHAR* RemoteName,WCHAR* LocalName,int CopyFlags,
int DCPCALL FsGetFileW(WCHAR* RemoteName,WCHAR* LocalName,int CopyFlags,
RemoteInfoStruct* ri);
int __stdcall FsPutFile(char* LocalName,char* RemoteName,int CopyFlags);
int __stdcall FsPutFileW(WCHAR* LocalName,WCHAR* RemoteName,int CopyFlags);
BOOL __stdcall FsDeleteFile(char* RemoteName);
BOOL __stdcall FsDeleteFileW(WCHAR* RemoteName);
BOOL __stdcall FsRemoveDir(char* RemoteName);
BOOL __stdcall FsRemoveDirW(WCHAR* RemoteName);
BOOL __stdcall FsDisconnect(char* DisconnectRoot);
BOOL __stdcall FsDisconnectW(WCHAR* DisconnectRoot);
BOOL __stdcall FsSetAttr(char* RemoteName,int NewAttr);
BOOL __stdcall FsSetAttrW(WCHAR* RemoteName,int NewAttr);
BOOL __stdcall FsSetTime(char* RemoteName,FILETIME *CreationTime,
int DCPCALL FsPutFile(char* LocalName,char* RemoteName,int CopyFlags);
int DCPCALL FsPutFileW(WCHAR* LocalName,WCHAR* RemoteName,int CopyFlags);
BOOL DCPCALL FsDeleteFile(char* RemoteName);
BOOL DCPCALL FsDeleteFileW(WCHAR* RemoteName);
BOOL DCPCALL FsRemoveDir(char* RemoteName);
BOOL DCPCALL FsRemoveDirW(WCHAR* RemoteName);
BOOL DCPCALL FsDisconnect(char* DisconnectRoot);
BOOL DCPCALL FsDisconnectW(WCHAR* DisconnectRoot);
BOOL DCPCALL FsSetAttr(char* RemoteName,int NewAttr);
BOOL DCPCALL FsSetAttrW(WCHAR* RemoteName,int NewAttr);
BOOL DCPCALL FsSetTime(char* RemoteName,FILETIME *CreationTime,
FILETIME *LastAccessTime,FILETIME *LastWriteTime);
BOOL __stdcall FsSetTimeW(WCHAR* RemoteName,FILETIME *CreationTime,
BOOL DCPCALL FsSetTimeW(WCHAR* RemoteName,FILETIME *CreationTime,
FILETIME *LastAccessTime,FILETIME *LastWriteTime);
void __stdcall FsStatusInfo(char* RemoteDir,int InfoStartEnd,int InfoOperation);
void __stdcall FsStatusInfoW(WCHAR* RemoteDir,int InfoStartEnd,int InfoOperation);
void __stdcall FsGetDefRootName(char* DefRootName,int maxlen);
int __stdcall FsExtractCustomIcon(char* RemoteName,int ExtractFlags,HICON* TheIcon);
int __stdcall FsExtractCustomIconW(WCHAR* RemoteName,int ExtractFlags,HICON* TheIcon);
void __stdcall FsSetDefaultParams(FsDefaultParamStruct* dps);
void DCPCALL FsStatusInfo(char* RemoteDir,int InfoStartEnd,int InfoOperation);
void DCPCALL FsStatusInfoW(WCHAR* RemoteDir,int InfoStartEnd,int InfoOperation);
void DCPCALL FsGetDefRootName(char* DefRootName,int maxlen);
int DCPCALL FsExtractCustomIcon(char* RemoteName,int ExtractFlags,HICON* TheIcon);
int DCPCALL FsExtractCustomIconW(WCHAR* RemoteName,int ExtractFlags,HICON* TheIcon);
void DCPCALL FsSetDefaultParams(FsDefaultParamStruct* dps);
int __stdcall FsGetPreviewBitmap(char* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
int __stdcall FsGetPreviewBitmapW(WCHAR* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
BOOL __stdcall FsLinksToLocalFiles(void);
BOOL __stdcall FsGetLocalName(char* RemoteName,int maxlen);
BOOL __stdcall FsGetLocalNameW(WCHAR* RemoteName,int maxlen);
int DCPCALL FsGetPreviewBitmap(char* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
int DCPCALL FsGetPreviewBitmapW(WCHAR* RemoteName,int width,int height,HBITMAP* ReturnedBitmap);
BOOL DCPCALL FsLinksToLocalFiles(void);
BOOL DCPCALL FsGetLocalName(char* RemoteName,int maxlen);
BOOL DCPCALL FsGetLocalNameW(WCHAR* RemoteName,int maxlen);
// ************************** content plugin extension ****************************
@ -322,17 +322,17 @@ typedef struct {
WORD wSecond;
} ttimeformat,*ptimeformat;
int __stdcall FsContentGetSupportedField(int FieldIndex,char* FieldName,char* Units,int maxlen);
int __stdcall FsContentGetValue(char* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
int __stdcall FsContentGetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
int DCPCALL FsContentGetSupportedField(int FieldIndex,char* FieldName,char* Units,int maxlen);
int DCPCALL FsContentGetValue(char* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
int DCPCALL FsContentGetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags);
void __stdcall FsContentStopGetValue(char* FileName);
void __stdcall FsContentStopGetValueW(WCHAR* FileName);
int __stdcall FsContentGetDefaultSortOrder(int FieldIndex);
void __stdcall FsContentPluginUnloading(void);
int __stdcall FsContentGetSupportedFieldFlags(int FieldIndex);
int __stdcall FsContentSetValue(char* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
int __stdcall FsContentSetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
void DCPCALL FsContentStopGetValue(char* FileName);
void DCPCALL FsContentStopGetValueW(WCHAR* FileName);
int DCPCALL FsContentGetDefaultSortOrder(int FieldIndex);
void DCPCALL FsContentPluginUnloading(void);
int DCPCALL FsContentGetSupportedFieldFlags(int FieldIndex);
int DCPCALL FsContentSetValue(char* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
int DCPCALL FsContentSetValueW(WCHAR* FileName,int FieldIndex,int UnitIndex,int FieldType,void* FieldValue,int flags);
BOOL __stdcall FsContentGetDefaultView(char* ViewContents,char* ViewHeaders,char* ViewWidths,char* ViewOptions,int maxlen);
BOOL __stdcall FsContentGetDefaultViewW(WCHAR* ViewContents,WCHAR* ViewHeaders,WCHAR* ViewWidths,WCHAR* ViewOptions,int maxlen);
BOOL DCPCALL FsContentGetDefaultView(char* ViewContents,char* ViewHeaders,char* ViewWidths,char* ViewOptions,int maxlen);
BOOL DCPCALL FsContentGetDefaultViewW(WCHAR* ViewContents,WCHAR* ViewHeaders,WCHAR* ViewWidths,WCHAR* ViewOptions,int maxlen);

View file

@ -275,37 +275,39 @@ type
pFsDefaultParamStruct=^tFsDefaultParamStruct;
{ For compatibility with Delphi use $IFDEF's to set calling convention }
{ callback functions }
type
TProgressProc=function(PluginNr:integer;SourceName,
TargetName:pchar;PercentDone:integer):integer; stdcall;
TargetName:pchar;PercentDone:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TProgressProcW=function(PluginNr:integer;SourceName,
TargetName:pwidechar;PercentDone:integer):integer; stdcall;
TargetName:pwidechar;PercentDone:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TLogProc=procedure(PluginNr,MsgType:integer;LogString:pchar); stdcall;
TLogProc=procedure(PluginNr,MsgType:integer;LogString:pchar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TLogProcW=procedure(PluginNr,MsgType:integer;LogString:pwidechar); stdcall;
TLogProcW=procedure(PluginNr,MsgType:integer;LogString:pwidechar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TRequestProc=function(PluginNr,RequestType:integer;CustomTitle,CustomText,
ReturnedText:pchar;maxlen:integer):bool; stdcall;
ReturnedText:pchar;maxlen:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TRequestProcW=function(PluginNr,RequestType:integer;CustomTitle,CustomText,
ReturnedText:pwidechar;maxlen:integer):bool; stdcall;
ReturnedText:pwidechar;maxlen:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TCryptProc=function(PluginNr,CryptoNumber:integer;mode:integer;ConnectionName,
Password:pchar;maxlen:integer):integer; stdcall;
Password:pchar;maxlen:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
TCryptProcW=function(PluginNr,CryptoNumber:integer;mode:integer;ConnectionName,
Password:pwidechar;maxlen:integer):integer; stdcall;
Password:pwidechar;maxlen:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
{ Function prototypes - the callback functions MUST be implemented exactly like this! }
@ -313,107 +315,107 @@ type
function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;
pRequestProc:tRequestProc):integer; stdcall;
pRequestProc:tRequestProc):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsInitW(PluginNr:integer;pProgressProcW:tProgressProcW;pLogProcW:tLogProcW;
pRequestProcW:tRequestProcW):integer; stdcall;
pRequestProcW:tRequestProcW):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsSetCryptCallback(CryptProc:TCryptProc;CryptoNr,Flags:integer); stdcall;
procedure FsSetCryptCallback(CryptProc:TCryptProc;CryptoNr,Flags:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsSetCryptCallbackW(CryptProcW:TCryptProcW;CryptoNr,Flags:integer); stdcall;
procedure FsSetCryptCallbackW(CryptProcW:TCryptProcW;CryptoNr,Flags:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; stdcall;
function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsFindFirstW(path :pwidechar;var FindData:tWIN32FINDDATAW):thandle; stdcall;
function FsFindFirstW(path :pwidechar;var FindData:tWIN32FINDDATAW):thandle; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; stdcall;
function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsFindNextW(Hdl:thandle;var FindDataW:tWIN32FINDDATAW):bool; stdcall;
function FsFindNextW(Hdl:thandle;var FindDataW:tWIN32FINDDATAW):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsFindClose(Hdl:thandle):integer; stdcall;
function FsFindClose(Hdl:thandle):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsMkDir(RemoteDir:pchar):bool; stdcall;
function FsMkDir(RemoteDir:pchar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsMkDirW(RemoteDir:pwidechar):bool; stdcall;
function FsMkDirW(RemoteDir:pwidechar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsExecuteFile(MainWin:HWND;RemoteName,Verb:pchar):integer; stdcall;
function FsExecuteFile(MainWin:HWND;RemoteName,Verb:pchar):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsExecuteFileW(MainWin:HWND;RemoteName,Verb:pwidechar):integer; stdcall;
function FsExecuteFileW(MainWin:HWND;RemoteName,Verb:pwidechar):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsRenMovFile(OldName,NewName:pchar;Move,OverWrite:bool;
RemoteInfo:pRemoteInfo):integer; stdcall;
RemoteInfo:pRemoteInfo):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsRenMovFileW(OldName,NewName:pwidechar;Move,OverWrite:bool;
RemoteInfo:pRemoteInfo):integer; stdcall;
RemoteInfo:pRemoteInfo):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsGetFile(RemoteName,LocalName:pchar;CopyFlags:integer;
RemoteInfo:pRemoteInfo):integer; stdcall;
RemoteInfo:pRemoteInfo):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsGetFileW(RemoteName,LocalName:pwidechar;CopyFlags:integer;
RemoteInfo:pRemoteInfo):integer; stdcall;
RemoteInfo:pRemoteInfo):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsPutFile(LocalName,RemoteName:pchar;CopyFlags:integer):integer; stdcall;
function FsPutFile(LocalName,RemoteName:pchar;CopyFlags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsPutFileW(LocalName,RemoteName:pwidechar;CopyFlags:integer):integer; stdcall;
function FsPutFileW(LocalName,RemoteName:pwidechar;CopyFlags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsDeleteFile(RemoteName:pchar):bool; stdcall;
function FsDeleteFile(RemoteName:pchar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsDeleteFileW(RemoteName:pwidechar):bool; stdcall;
function FsDeleteFileW(RemoteName:pwidechar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsRemoveDir(RemoteName:pchar):bool; stdcall;
function FsRemoveDir(RemoteName:pchar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsRemoveDirW(RemoteName:pwidechar):bool; stdcall;
function FsRemoveDirW(RemoteName:pwidechar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsDisconnect(DisconnectRoot:pchar):bool; stdcall;
function FsDisconnect(DisconnectRoot:pchar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsDisconnectW(DisconnectRoot:pwidechar):bool; stdcall;
function FsDisconnectW(DisconnectRoot:pwidechar):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsSetAttr(RemoteName:pchar;NewAttr:integer):bool; stdcall;
function FsSetAttr(RemoteName:pchar;NewAttr:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsSetAttrW(RemoteName:pwidechar;NewAttr:integer):bool; stdcall;
function FsSetAttrW(RemoteName:pwidechar;NewAttr:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsSetTime(RemoteName:pchar;CreationTime,LastAccessTime,
LastWriteTime:PFileTime):bool; stdcall;
LastWriteTime:PFileTime):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsSetTimeW(RemoteName:pwidechar;CreationTime,LastAccessTime,
LastWriteTime:PFileTime):bool; stdcall;
LastWriteTime:PFileTime):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsStatusInfo(RemoteDir:pchar;InfoStartEnd,InfoOperation:integer); stdcall;
procedure FsStatusInfo(RemoteDir:pchar;InfoStartEnd,InfoOperation:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsStatusInfoW(RemoteDir:pwidechar;InfoStartEnd,InfoOperation:integer); stdcall;
procedure FsStatusInfoW(RemoteDir:pwidechar;InfoStartEnd,InfoOperation:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsGetDefRootName(DefRootName:pchar;maxlen:integer); stdcall;
procedure FsGetDefRootName(DefRootName:pchar;maxlen:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsExtractCustomIcon(RemoteName:pchar;ExtractFlags:integer;
var TheIcon:hicon):integer; stdcall;
var TheIcon:hicon):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsExtractCustomIconW(RemoteName:pwidechar;ExtractFlags:integer;
var TheIcon:hicon):integer; stdcall;
var TheIcon:hicon):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsSetDefaultParams(dps:pFsDefaultParamStruct); stdcall;
procedure FsSetDefaultParams(dps:pFsDefaultParamStruct); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsGetPreviewBitmap(RemoteName:pchar;width,height:integer,
var ReturnedBitmap:hbitmap):integer; stdcall;
var ReturnedBitmap:hbitmap):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsGetPreviewBitmapW(RemoteName:pwidechar;width,height:integer,
var ReturnedBitmap:hbitmap):integer; stdcall;
var ReturnedBitmap:hbitmap):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsLinksToLocalFiles:bool; stdcall;
function FsLinksToLocalFiles:bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsGetLocalName(RemoteName:pchar;maxlen:integer):bool; stdcall;
function FsGetLocalName(RemoteName:pchar;maxlen:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsGetLocalNameW(RemoteName:pwidechar;maxlen:integer):bool; stdcall;
function FsGetLocalNameW(RemoteName:pwidechar;maxlen:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
}
@ -501,45 +503,45 @@ type ttimeformat=record
{
procedure FsContentGetDetectString(DetectString:pchar;maxlen:integer); stdcall;
procedure FsContentGetDetectString(DetectString:pchar;maxlen:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetSupportedField(FieldIndex:integer;FieldName:pchar;
Units:pchar;maxlen:integer):integer; stdcall;
Units:pchar;maxlen:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetValue(FileName:pchar;FieldIndex,UnitIndex:integer;FieldValue:pbyte;
maxlen,flags:integer):integer; stdcall;
maxlen,flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetValueW(FileName:pwidechar;FieldIndex,UnitIndex:integer;FieldValue:pbyte;
maxlen,flags:integer):integer; stdcall;
maxlen,flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsContentSetDefaultParams(dps:pContentDefaultParamStruct); stdcall;
procedure FsContentSetDefaultParams(dps:pContentDefaultParamStruct); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsContentStopGetValue(FileName:pchar); stdcall;
procedure FsContentStopGetValue(FileName:pchar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure FsContentStopGetValueW(FileName:pwidechar); stdcall;
procedure FsContentStopGetValueW(FileName:pwidechar); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetDefaultSortOrder(FieldIndex:integer):integer; stdcall;
function FsContentGetDefaultSortOrder(FieldIndex:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetSupportedFieldFlags(FieldIndex:integer):integer; stdcall;
function FsContentGetSupportedFieldFlags(FieldIndex:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentSetValue(FileName:pchar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
FieldValue:pbyte;flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentSetValueW(FileName:pwidechar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
FieldValue:pbyte;flags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetDefaultView(ViewContents,ViewHeaders,ViewWidths,
ViewOptions:pchar;maxlen:integer):bool; stdcall;
ViewOptions:pchar;maxlen:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function FsContentGetDefaultViewW(ViewContents,ViewHeaders,ViewWidths,
ViewOptions:pwidechar;maxlen:integer):bool; stdcall;
ViewOptions:pwidechar;maxlen:integer):bool; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
}

View file

@ -39,25 +39,25 @@ typedef struct {
char DefaultIniName[MAX_PATH];
} ListDefaultParamStruct;
HWND __stdcall ListLoad(HWND ParentWin,char* FileToLoad,int ShowFlags);
HWND __stdcall ListLoadW(HWND ParentWin,WCHAR* FileToLoad,int ShowFlags);
int __stdcall ListLoadNext(HWND ParentWin,HWND PluginWin,char* FileToLoad,int ShowFlags);
int __stdcall ListLoadNextW(HWND ParentWin,HWND PluginWin,WCHAR* FileToLoad,int ShowFlags);
void __stdcall ListCloseWindow(HWND ListWin);
void __stdcall ListGetDetectString(char* DetectString,int maxlen);
int __stdcall ListSearchText(HWND ListWin,char* SearchString,int SearchParameter);
int __stdcall ListSearchTextW(HWND ListWin,WCHAR* SearchString,int SearchParameter);
HWND DCPCALL ListLoad(HWND ParentWin,char* FileToLoad,int ShowFlags);
HWND DCPCALL ListLoadW(HWND ParentWin,WCHAR* FileToLoad,int ShowFlags);
int DCPCALL ListLoadNext(HWND ParentWin,HWND PluginWin,char* FileToLoad,int ShowFlags);
int DCPCALL ListLoadNextW(HWND ParentWin,HWND PluginWin,WCHAR* FileToLoad,int ShowFlags);
void DCPCALL ListCloseWindow(HWND ListWin);
void DCPCALL ListGetDetectString(char* DetectString,int maxlen);
int DCPCALL ListSearchText(HWND ListWin,char* SearchString,int SearchParameter);
int DCPCALL ListSearchTextW(HWND ListWin,WCHAR* SearchString,int SearchParameter);
int __stdcall ListSearchDialog(HWND ListWin,int FindNext);
int __stdcall ListSendCommand(HWND ListWin,int Command,int Parameter);
int __stdcall ListPrint(HWND ListWin,char* FileToPrint,char* DefPrinter,
int DCPCALL ListSearchDialog(HWND ListWin,int FindNext);
int DCPCALL ListSendCommand(HWND ListWin,int Command,int Parameter);
int DCPCALL ListPrint(HWND ListWin,char* FileToPrint,char* DefPrinter,
int PrintFlags,RECT* Margins);
int __stdcall ListPrintW(HWND ListWin,WCHAR* FileToPrint,WCHAR* DefPrinter,
int DCPCALL ListPrintW(HWND ListWin,WCHAR* FileToPrint,WCHAR* DefPrinter,
int PrintFlags,RECT* Margins);
int __stdcall ListNotificationReceived(HWND ListWin,int Message,WPARAM wParam,LPARAM lParam);
void __stdcall ListSetDefaultParams(ListDefaultParamStruct* dps);
HBITMAP __stdcall ListGetPreviewBitmap(char* FileToLoad,int width,int height,
int DCPCALL ListNotificationReceived(HWND ListWin,int Message,WPARAM wParam,LPARAM lParam);
void DCPCALL ListSetDefaultParams(ListDefaultParamStruct* dps);
HBITMAP DCPCALL ListGetPreviewBitmap(char* FileToLoad,int width,int height,
char* contentbuf,int contentbuflen);
HBITMAP __stdcall ListGetPreviewBitmapW(WCHAR* FileToLoad,int width,int height,
HBITMAP DCPCALL ListGetPreviewBitmapW(WCHAR* FileToLoad,int width,int height,
char* contentbuf,int contentbuflen);

View file

@ -75,25 +75,25 @@ type HBITMAP = type THandle;
{
function ListLoad(ParentWin:thandle;FileToLoad:pchar;ShowFlags:integer):thandle; stdcall;
function ListLoadW(ParentWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):thandle; stdcall;
function ListLoadNext(ParentWin,PluginWin:thandle;FileToLoad:pchar;ShowFlags:integer):integer; stdcall;
function ListLoadNextW(ParentWin,PluginWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):integer; stdcall;
procedure ListCloseWindow(ListWin:thandle); stdcall;
procedure ListGetDetectString(DetectString:pchar;maxlen:integer); stdcall;
function ListSearchText(ListWin:thandle;SearchString:pchar; SearchParameter:integer):integer; stdcall;
function ListSearchTextW(ListWin:thandle;SearchString:pwidechar; SearchParameter:integer):integer; stdcall;
function ListSearchDialog(ListWin:thandle;FindNext:integer):integer; stdcall;
function ListSendCommand(ListWin:thandle;Command,Parameter:integer):integer; stdcall;
function ListPrint(ListWin:thandle;FileToPrint,DefPrinter:pchar; PrintFlags:integer;var Margins:trect):integer; stdcall;
function ListPrintW(ListWin:thandle;FileToPrint,DefPrinter:pwidechar; PrintFlags:integer;var Margins:trect):integer; stdcall;
function ListNotificationReceived(ListWin:thandle;Message,wParam,lParam:integer):integer; stdcall;
procedure ListSetDefaultParams(dps:pListDefaultParamStruct); stdcall;
function ListGetPreviewBitmap(FileToLoad:pchar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap; stdcall;
function ListGetPreviewBitmapW(FileToLoad:pwidechar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap; stdcall;
function ListLoad(ParentWin:thandle;FileToLoad:pchar;ShowFlags:integer):thandle; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListLoadW(ParentWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):thandle; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListLoadNext(ParentWin,PluginWin:thandle;FileToLoad:pchar;ShowFlags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListLoadNextW(ParentWin,PluginWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ListCloseWindow(ListWin:thandle); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ListGetDetectString(DetectString:pchar;maxlen:integer); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListSearchText(ListWin:thandle;SearchString:pchar; SearchParameter:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListSearchTextW(ListWin:thandle;SearchString:pwidechar; SearchParameter:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListSearchDialog(ListWin:thandle;FindNext:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListSendCommand(ListWin:thandle;Command,Parameter:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListPrint(ListWin:thandle;FileToPrint,DefPrinter:pchar; PrintFlags:integer;var Margins:trect):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListPrintW(ListWin:thandle;FileToPrint,DefPrinter:pwidechar; PrintFlags:integer;var Margins:trect):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListNotificationReceived(ListWin:thandle;Message,wParam,lParam:integer):integer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
procedure ListSetDefaultParams(dps:pListDefaultParamStruct); {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListGetPreviewBitmap(FileToLoad:pchar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
function ListGetPreviewBitmapW(FileToLoad:pwidechar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF};
}
implementation
end.
end.

View file

@ -948,7 +948,7 @@
<Filename Value="..\doublecmd"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(LazarusDir)\ide;$(ProjOutDir)"/>
<IncludeFiles Value="$(LazarusDir)\ide;$(ProjOutDir);..\sdk"/>
<Libraries Value="$(ProjPath)\..\libraries\$(TargetCPU)-$(TargetOS)"/>
<OtherUnitFiles Value="platform;platform\$(SrcOS);..\sdk;newdesign;newdesign\fileproperties;frames"/>
<UnitOutputDirectory Value="..\units\$(TargetCPU)-$(TargetOS)-$(LCLWidgetType)"/>

View file

@ -25,6 +25,7 @@
unit fFindDlg;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -202,7 +203,7 @@ const
FileSizeUnitToComboIndex: array[TFileSizeUnit] of Integer = (0, 1, 2, 3, 4);
ComboIndexToFileSizeUnit: array[0..4] of TFileSizeUnit = (suBytes, suKilo, suMega, suGiga, suTera);
procedure SAddFileProc(PlugNr: Integer; FoundFile: PChar); stdcall;
procedure SAddFileProc(PlugNr: Integer; FoundFile: PChar); dcpcall;
var
s: string;
begin
@ -218,7 +219,7 @@ begin
end;
end;
procedure SUpdateStatusProc(PlugNr: Integer; CurrentFile: PChar; FilesScanned: Integer); stdcall;
procedure SUpdateStatusProc(PlugNr: Integer; CurrentFile: PChar; FilesScanned: Integer); dcpcall;
var
sCurrentFile: String;
begin

View file

@ -23,6 +23,7 @@
unit fDialogBox;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -82,19 +83,19 @@ type
{ public declarations }
end;
function InputBox(Caption, Prompt: PAnsiChar; MaskInput: LongBool; Value: PAnsiChar; ValueMaxLen: Integer): LongBool; stdcall;
function MessageBox(Text, Caption: PAnsiChar; Flags: Longint): Integer; stdcall;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
function DialogBoxLFMFile(lfmFileName: PAnsiChar; DlgProc: TDlgProc): LongBool; stdcall;
function SendDlgMsg(pDlg: PtrUInt; DlgItemName: PAnsiChar; Msg, wParam, lParam: PtrInt): PtrInt; stdcall;
function InputBox(Caption, Prompt: PAnsiChar; MaskInput: LongBool; Value: PAnsiChar; ValueMaxLen: Integer): LongBool; dcpcall;
function MessageBox(Text, Caption: PAnsiChar; Flags: Longint): Integer; dcpcall;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; dcpcall;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; dcpcall;
function DialogBoxLFMFile(lfmFileName: PAnsiChar; DlgProc: TDlgProc): LongBool; dcpcall;
function SendDlgMsg(pDlg: PtrUInt; DlgItemName: PAnsiChar; Msg, wParam, lParam: PtrInt): PtrInt; dcpcall;
implementation
uses
uShowMsg, uClassesEx, uDCUtils;
function InputBox(Caption, Prompt: PAnsiChar; MaskInput: LongBool; Value: PAnsiChar; ValueMaxLen: Integer): LongBool; stdcall;
function InputBox(Caption, Prompt: PAnsiChar; MaskInput: LongBool; Value: PAnsiChar; ValueMaxLen: Integer): LongBool; dcpcall;
var
sValue: UTF8String;
begin
@ -107,7 +108,7 @@ begin
end;
end;
function MessageBox(Text, Caption: PAnsiChar; Flags: Longint): Integer; stdcall;
function MessageBox(Text, Caption: PAnsiChar; Flags: Longint): Integer; dcpcall;
begin
Result:= ShowMessageBox(Text, Caption, Flags);
end;
@ -158,7 +159,7 @@ begin
end;
end;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool;stdcall;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool;dcpcall;
var
DataString: UTF8String;
begin
@ -172,7 +173,7 @@ begin
Result := False;
end;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; dcpcall;
var
DataString: UTF8String;
begin
@ -186,7 +187,7 @@ begin
Result := False;
end;
function DialogBoxLFMFile(lfmFileName: PAnsiChar; DlgProc: TDlgProc): LongBool;stdcall;
function DialogBoxLFMFile(lfmFileName: PAnsiChar; DlgProc: TDlgProc): LongBool;dcpcall;
var
lfmStringList: TStringListEx;
begin
@ -205,7 +206,7 @@ begin
Result := False;
end;
function SendDlgMsg(pDlg: PtrUInt; DlgItemName: PAnsiChar; Msg, wParam, lParam: PtrInt): PtrInt;stdcall;
function SendDlgMsg(pDlg: PtrUInt; DlgItemName: PAnsiChar; Msg, wParam, lParam: PtrInt): PtrInt;dcpcall;
var
DialogBox: TDialogBox;
Control: TControl;

View file

@ -1,6 +1,7 @@
unit uWcxArchiveCopyInOperation;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -93,7 +94,7 @@ begin
end;
end;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -103,7 +104,7 @@ begin
StrPLCopy(ArcName, UTF8ToSys(sArcName), MAX_PATH);
end;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -162,22 +163,22 @@ begin
end;
end;
function ProcessDataProcAG(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcAG(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyInOperationG, SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcWG(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcWG(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyInOperationG, UTF8Encode(WideString(FileName)), Size);
end;
function ProcessDataProcAT(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcAT(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyInOperationT, SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcWT(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcWT(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyInOperationT, UTF8Encode(WideString(FileName)), Size);
end;

View file

@ -1,6 +1,7 @@
unit uWcxArchiveCopyOutOperation;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -121,7 +122,7 @@ begin
end;
end;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -131,7 +132,7 @@ begin
StrPLCopy(ArcName, UTF8ToSys(sArcName), MAX_PATH);
end;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -188,22 +189,22 @@ begin
end;
end;
function ProcessDataProcAG(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcAG(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyOutOperationG, SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcWG(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcWG(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyOutOperationG, UTF8Encode(WideString(FileName)), Size);
end;
function ProcessDataProcAT(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcAT(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyOutOperationT, SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcWT(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcWT(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxCopyOutOperationT, UTF8Encode(WideString(FileName)), Size);
end;

View file

@ -1,6 +1,7 @@
unit uWcxArchiveDeleteOperation;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -77,7 +78,7 @@ begin
end;
end;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -87,7 +88,7 @@ begin
StrPLCopy(ArcName, UTF8ToSys(sArcName), MAX_PATH);
end;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -144,12 +145,12 @@ begin
end;
end;
function ProcessDataProcA(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcA(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcW(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcW(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(UTF8Encode(WideString(FileName)), Size);
end;

View file

@ -1,6 +1,7 @@
unit uWcxArchiveFileSource;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -214,7 +215,7 @@ begin
end;
end;
function CryptProcA(CryptoNumber: Integer; Mode: Integer; ArchiveName, Password: PAnsiChar; MaxLen: Integer): Integer; stdcall;
function CryptProcA(CryptoNumber: Integer; Mode: Integer; ArchiveName, Password: PAnsiChar; MaxLen: Integer): Integer; dcpcall;
var
sArchiveName,
sPassword: UTF8String;
@ -229,7 +230,7 @@ begin
end;
end;
function CryptProcW(CryptoNumber: Integer; Mode: Integer; ArchiveName, Password: PWideChar; MaxLen: Integer): Integer; stdcall;
function CryptProcW(CryptoNumber: Integer; Mode: Integer; ArchiveName, Password: PWideChar; MaxLen: Integer): Integer; dcpcall;
var
sArchiveName,
sPassword: UTF8String;

View file

@ -1,6 +1,7 @@
unit uWcxArchiveTestArchiveOperation;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -78,7 +79,7 @@ begin
end;
end;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcA(ArcName : PAnsiChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -88,7 +89,7 @@ begin
StrPLCopy(ArcName, UTF8ToSys(sArcName), MAX_PATH);
end;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; stdcall;
function ChangeVolProcW(ArcName : PWideChar; Mode: LongInt): LongInt; dcpcall;
var
sArcName: UTF8String;
begin
@ -145,22 +146,22 @@ begin
end;
end;
function ProcessDataProcAG(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcAG(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxTestArchiveOperationG, SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcWG(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcWG(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxTestArchiveOperationG, UTF8Encode(WideString(FileName)), Size);
end;
function ProcessDataProcAT(FileName: PAnsiChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcAT(FileName: PAnsiChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxTestArchiveOperationT, SysToUTF8(StrPas(FileName)), Size);
end;
function ProcessDataProcWT(FileName: PWideChar; Size: LongInt): LongInt; stdcall;
function ProcessDataProcWT(FileName: PWideChar; Size: LongInt): LongInt; dcpcall;
begin
Result:= ProcessDataProc(WcxTestArchiveOperationT, UTF8Encode(WideString(FileName)), Size);
end;

View file

@ -1,6 +1,7 @@
unit uWfxPluginFileSource;
{$mode objfpc}{$H+}
{$include calling.inc}
interface
@ -138,7 +139,7 @@ begin
Result:= CallbackDataClass.UpdateProgressFunction(SourceName, TargetName, PercentDone);
end;
function MainProgressProcA(PluginNr: Integer; SourceName, TargetName: PAnsiChar; PercentDone: Integer): Integer; stdcall;
function MainProgressProcA(PluginNr: Integer; SourceName, TargetName: PAnsiChar; PercentDone: Integer): Integer; dcpcall;
var
sSourceName,
sTargetName: UTF8String;
@ -148,7 +149,7 @@ begin
Result:= MainProgressProc(PluginNr, sSourceName, sTargetName, PercentDone);
end;
function MainProgressProcW(PluginNr: Integer; SourceName, TargetName: PWideChar; PercentDone: Integer): Integer; stdcall;
function MainProgressProcW(PluginNr: Integer; SourceName, TargetName: PWideChar; PercentDone: Integer): Integer; dcpcall;
var
sSourceName,
sTargetName: UTF8String;
@ -209,12 +210,12 @@ Begin
//DCDebug('MainLogProc ('+ sMsg + ',' + logString + ')');
end;
procedure MainLogProcA(PluginNr, MsgType: Integer; LogString: PAnsiChar); stdcall;
procedure MainLogProcA(PluginNr, MsgType: Integer; LogString: PAnsiChar); dcpcall;
begin
MainLogProc(PluginNr, MsgType, SysToUTF8(StrPas(LogString)));
end;
procedure MainLogProcW(PluginNr, MsgType: Integer; LogString: PWideChar); stdcall;
procedure MainLogProcW(PluginNr, MsgType: Integer; LogString: PWideChar); dcpcall;
begin
MainLogProc(PluginNr, MsgType, UTF8Encode(WideString(LogString)));
end;
@ -289,7 +290,7 @@ begin
DCDebug('MainRequestProc ('+IntToStr(PluginNr)+','+sReq+','+CustomTitle+','+CustomText+','+ReturnedText+')', BoolToStr(Result, True));
end;
function MainRequestProcA(PluginNr, RequestType: Integer; CustomTitle, CustomText, ReturnedText: PAnsiChar; MaxLen: Integer): Bool; stdcall;
function MainRequestProcA(PluginNr, RequestType: Integer; CustomTitle, CustomText, ReturnedText: PAnsiChar; MaxLen: Integer): Bool; dcpcall;
var
sCustomTitle,
sCustomText,
@ -306,7 +307,7 @@ begin
end;
end;
function MainRequestProcW(PluginNr, RequestType: Integer; CustomTitle, CustomText, ReturnedText: PWideChar; MaxLen: Integer): Bool; stdcall;
function MainRequestProcW(PluginNr, RequestType: Integer; CustomTitle, CustomText, ReturnedText: PWideChar; MaxLen: Integer): Bool; dcpcall;
var
sCustomTitle,
sCustomText,
@ -373,7 +374,7 @@ begin
end;
end;
function CryptProcA(PluginNr, CryptoNumber: Integer; Mode: Integer; ConnectionName, Password: PAnsiChar; MaxLen: Integer): Integer; stdcall;
function CryptProcA(PluginNr, CryptoNumber: Integer; Mode: Integer; ConnectionName, Password: PAnsiChar; MaxLen: Integer): Integer; dcpcall;
var
sConnectionName,
sPassword: UTF8String;
@ -388,7 +389,7 @@ begin
end;
end;
function CryptProcW(PluginNr, CryptoNumber: Integer; Mode: Integer; ConnectionName, Password: PWideChar; MaxLen: Integer): Integer; stdcall;
function CryptProcW(PluginNr, CryptoNumber: Integer; Mode: Integer; ConnectionName, Password: PWideChar; MaxLen: Integer): Integer; dcpcall;
var
sConnectionName,
sPassword: UTF8String;

View file

@ -6,38 +6,43 @@ interface
uses
LCLType, WcxPlugin;
{$IFDEF MSWINDOWS}{$CALLING STDCALL}{$ELSE}{$CALLING CDECL}{$ENDIF}
type
{ Mandatory }
TOpenArchive = function (var ArchiveData : tOpenArchiveData): TArcHandle;stdcall;
TReadHeader = function (hArcData: TArcHandle; var HeaderData : THeaderData): Integer;stdcall;
TProcessFile = function (hArcData: TArcHandle; Operation: Integer; DestPath: PAnsiChar; DestName: PAnsiChar): Integer;stdcall;
TCloseArchive = function (hArcData: TArcHandle): Integer;stdcall;
TOpenArchive = function (var ArchiveData : tOpenArchiveData): TArcHandle;
TReadHeader = function (hArcData: TArcHandle; var HeaderData : THeaderData): Integer;
TProcessFile = function (hArcData: TArcHandle; Operation: Integer; DestPath: PAnsiChar; DestName: PAnsiChar): Integer;
TCloseArchive = function (hArcData: TArcHandle): Integer;
{ Optional }
TPackFiles = function (PackedFile: PAnsiChar; SubPath: PAnsiChar; SrcPath: PAnsiChar; AddList: PAnsiChar; Flags: Integer): Integer;stdcall;
TDeleteFiles = function (PackedFile: PAnsiChar; DeleteList: PAnsiChar): Integer;stdcall;
TGetPackerCaps = function () : Integer;stdcall;
TConfigurePacker = procedure (Parent: HWND; DllInstance: THandle);stdcall;
TSetChangeVolProc = procedure (hArcData: TArcHandle; ChangeVolProc: tChangeVolProc);stdcall;
TSetProcessDataProc = procedure (hArcData: TArcHandle; ProcessDataProc: TProcessDataProc);stdcall;
TStartMemPack = function (Options: Integer; FileName: PAnsiChar): TArcHandle;stdcall;
TPackToMem = function (hMemPack: TArcHandle; BufIn: PByte; InLen: Integer; Taken: pInteger; BufOut: PByte; OutLen: Integer; Written: pInteger; SeekBy: pInteger): Integer;stdcall;
TDoneMemPack = function (hMemPack: TArcHandle): Integer;stdcall;
TCanYouHandleThisFile = function (FileName: PAnsiChar): boolean;stdcall;
TPackSetDefaultParams = procedure (dps: pPackDefaultParamStruct);stdcall;
TReadHeaderEx = function (hArcData: TArcHandle; var HeaderDataEx : THeaderDataEx): Integer;stdcall;
TPkSetCryptCallback = procedure (PkCryptProc: TPkCryptProc; CryptoNr, Flags: Integer); stdcall;
TGetBackgroundFlags = function(): Integer; stdcall;
TPackFiles = function (PackedFile: PAnsiChar; SubPath: PAnsiChar; SrcPath: PAnsiChar; AddList: PAnsiChar; Flags: Integer): Integer;
TDeleteFiles = function (PackedFile: PAnsiChar; DeleteList: PAnsiChar): Integer;
TGetPackerCaps = function () : Integer;
TConfigurePacker = procedure (Parent: HWND; DllInstance: THandle);
TSetChangeVolProc = procedure (hArcData: TArcHandle; ChangeVolProc: tChangeVolProc);
TSetProcessDataProc = procedure (hArcData: TArcHandle; ProcessDataProc: TProcessDataProc);
TStartMemPack = function (Options: Integer; FileName: PAnsiChar): TArcHandle;
TPackToMem = function (hMemPack: TArcHandle; BufIn: PByte; InLen: Integer; Taken: pInteger; BufOut: PByte; OutLen: Integer; Written: pInteger; SeekBy: pInteger): Integer;
TDoneMemPack = function (hMemPack: TArcHandle): Integer;
TCanYouHandleThisFile = function (FileName: PAnsiChar): boolean;
TPackSetDefaultParams = procedure (dps: pPackDefaultParamStruct);
TReadHeaderEx = function (hArcData: TArcHandle; var HeaderDataEx : THeaderDataEx): Integer;
TPkSetCryptCallback = procedure (PkCryptProc: TPkCryptProc; CryptoNr, Flags: Integer);
TGetBackgroundFlags = function(): Integer;
{ Unicode }
TOpenArchiveW = function (var ArchiveData : tOpenArchiveDataW): TArcHandle;stdcall;
TReadHeaderExW = function (hArcData: TArcHandle; var HeaderDataExW : THeaderDataExW): Integer;stdcall;
TProcessFileW = function (hArcData: TArcHandle; Operation: Integer; DestPath, DestName: PWideChar): Integer;stdcall;
TSetChangeVolProcW = procedure (hArcData: TArcHandle; ChangeVolProc: tChangeVolProcW);stdcall;
TSetProcessDataProcW = procedure (hArcData: TArcHandle; ProcessDataProc: TProcessDataProcW);stdcall;
TPackFilesW = function (PackedFile, SubPath, SrcPath, AddList: PWideChar; Flags: Integer): Integer;stdcall;
TDeleteFilesW = function (PackedFile, DeleteList: PWideChar): Integer;stdcall;
TStartMemPackW = function (Options: Integer; FileName: PWideChar): TArcHandle;stdcall;
TCanYouHandleThisFileW = function (FileName: PWideChar): boolean;stdcall;
TPkSetCryptCallbackW = procedure (PkCryptProc: TPkCryptProcW; CryptoNr, Flags: Integer); stdcall;
TOpenArchiveW = function (var ArchiveData : tOpenArchiveDataW): TArcHandle;
TReadHeaderExW = function (hArcData: TArcHandle; var HeaderDataExW : THeaderDataExW): Integer;
TProcessFileW = function (hArcData: TArcHandle; Operation: Integer; DestPath, DestName: PWideChar): Integer;
TSetChangeVolProcW = procedure (hArcData: TArcHandle; ChangeVolProc: tChangeVolProcW);
TSetProcessDataProcW = procedure (hArcData: TArcHandle; ProcessDataProc: TProcessDataProcW);
TPackFilesW = function (PackedFile, SubPath, SrcPath, AddList: PWideChar; Flags: Integer): Integer;
TDeleteFilesW = function (PackedFile, DeleteList: PWideChar): Integer;
TStartMemPackW = function (Options: Integer; FileName: PWideChar): TArcHandle;
TCanYouHandleThisFileW = function (FileName: PWideChar): boolean;
TPkSetCryptCallbackW = procedure (PkCryptProc: TPkCryptProcW; CryptoNr, Flags: Integer);
{$CALLING DEFAULT}
implementation

View file

@ -6,47 +6,51 @@ interface
uses
Classes, SysUtils, WdxPlugin;
type
{$IFDEF MSWINDOWS}{$CALLING STDCALL}{$ELSE}{$CALLING CDECL}{$ENDIF}
type
{ Mandatory (must be implemented) }
TContentGetSupportedField = function (FieldIndex:integer;FieldName:pchar;
Units:pchar;maxlen:integer):integer; stdcall;
Units:pchar;maxlen:integer):integer;
TContentGetValue = function (FileName:pchar;FieldIndex,UnitIndex:integer;
FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
FieldValue:pbyte; maxlen,flags:integer):integer;
{ Optional (must NOT be implemented if unsupported!) }
TContentGetDetectString = procedure (DetectString:pchar;maxlen:integer); stdcall;
TContentGetDetectString = procedure (DetectString:pchar;maxlen:integer);
TContentSetDefaultParams = procedure (dps:pContentDefaultParamStruct); stdcall;
TContentSetDefaultParams = procedure (dps:pContentDefaultParamStruct);
TContentStopGetValue = procedure (FileName:pchar); stdcall;
TContentStopGetValue = procedure (FileName:pchar);
TContentGetDefaultSortOrder = function (FieldIndex:integer):integer; stdcall;
TContentGetDefaultSortOrder = function (FieldIndex:integer):integer;
TContentPluginUnloading = procedure; stdcall;
TContentPluginUnloading = procedure;
TContentGetSupportedFieldFlags = function (FieldIndex:integer):integer; stdcall;
TContentGetSupportedFieldFlags = function (FieldIndex:integer):integer;
TContentSetValue = function (FileName:pchar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
FieldValue:pbyte;flags:integer):integer;
TContentEditValue = function (handle:thandle;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pchar;maxlen:integer;flags:integer;
langidentifier:pchar):integer; stdcall;
langidentifier:pchar):integer;
TContentSendStateInformation = procedure (state:integer;path:pchar); stdcall;
TContentSendStateInformation = procedure (state:integer;path:pchar);
{ Unicode }
TContentGetValueW = function (FileName:pwidechar;FieldIndex,UnitIndex:integer;
FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
FieldValue:pbyte; maxlen,flags:integer):integer;
TContentStopGetValueW = procedure (FileName:pwidechar); stdcall;
TContentStopGetValueW = procedure (FileName:pwidechar);
TContentSetValueW = function (FileName:pwidechar;FieldIndex,UnitIndex,FieldType:integer;
FieldValue:pbyte;flags:integer):integer; stdcall;
FieldValue:pbyte;flags:integer):integer;
TContentSendStateInformationW = procedure (state:integer;path:pwidechar); stdcall;
TContentSendStateInformationW = procedure (state:integer;path:pwidechar);
{$CALLING DEFAULT}
implementation

View file

@ -7,73 +7,77 @@ interface
uses
WfxPlugin;
{$IFDEF MSWINDOWS}{$CALLING STDCALL}{$ELSE}{$CALLING CDECL}{$ENDIF}
type
{ File system plugins API (version 2.0) for TC }
{R} //Realized
{U} //Unrealized
{ Mandatory }
{R} TFsInit=function(PluginNr:Integer; pProgressProc:tProgressProc; pLogProc:tlogProc; pRequestProc:tRequestProc):integer;stdcall;
{R} TFsFindFirst=function(path :pchar;var FindData:tWIN32FINDDATA):thandle;stdcall;
{R} TFsFindNext=function(Hdl:thandle;var FindData:tWIN32FINDDATA):boolean;stdcall;
{R} TFsFindClose=function(Hdl:thandle):integer;stdcall;
{R} TFsInit=function(PluginNr:Integer; pProgressProc:tProgressProc; pLogProc:tlogProc; pRequestProc:tRequestProc):integer;
{R} TFsFindFirst=function(path :pchar;var FindData:tWIN32FINDDATA):thandle;
{R} TFsFindNext=function(Hdl:thandle;var FindData:tWIN32FINDDATA):boolean;
{R} TFsFindClose=function(Hdl:thandle):integer;
{ Optional }
{R} TFsSetCryptCallback = procedure(pCryptProc:TCryptProc;CryptoNr,Flags:integer); stdcall;
{R} TFsMkDir = function(RemoteDir:pchar):boolean; stdcall;
{R} TFsGetFile = function(RemoteName,LocalName:pchar;CopyFlags:integer; RemoteInfo:pRemoteInfo):integer; stdcall;
{R} TFsPutFile=function(LocalName,RemoteName:pchar;CopyFlags:integer):integer; stdcall;
{R} TFsDeleteFile=function(RemoteName:pchar):boolean; stdcall;
{R} TFsRemoveDir=function(RemoteName:pchar):boolean; stdcall;
{R} TFsStatusInfo = procedure(RemoteDir:pchar;InfoStartEnd,InfoOperation:integer); stdcall;
{R} TFsSetDefaultParams = procedure (dps:pFsDefaultParamStruct); stdcall;
{R} TFsExecuteFile=Function(MainWin:HWND;RemoteName,Verb:pchar):integer; stdcall;
{R} TFsGetDefRootName=procedure (DefRootName:pchar;maxlen:integer); stdcall;
{R} TFsSetCryptCallback = procedure(pCryptProc:TCryptProc;CryptoNr,Flags:integer);
{R} TFsMkDir = function(RemoteDir:pchar):boolean;
{R} TFsGetFile = function(RemoteName,LocalName:pchar;CopyFlags:integer; RemoteInfo:pRemoteInfo):integer;
{R} TFsPutFile=function(LocalName,RemoteName:pchar;CopyFlags:integer):integer;
{R} TFsDeleteFile=function(RemoteName:pchar):boolean;
{R} TFsRemoveDir=function(RemoteName:pchar):boolean;
{R} TFsStatusInfo = procedure(RemoteDir:pchar;InfoStartEnd,InfoOperation:integer);
{R} TFsSetDefaultParams = procedure (dps:pFsDefaultParamStruct);
{R} TFsExecuteFile=Function(MainWin:HWND;RemoteName,Verb:pchar):integer;
{R} TFsGetDefRootName=procedure (DefRootName:pchar;maxlen:integer);
//------------------------------------------------------
{R} TFsSetAttr=function (RemoteName:pchar;NewAttr:integer):boolean; stdcall;
{R} TFsSetTime=Function(RemoteName:pchar;CreationTime,LastAccessTime,LastWriteTime:PWfxFileTime):boolean; stdcall;
{U} TFsExtractCustomIcon=function(RemoteName:pchar;ExtractFlags:integer;var TheIcon:hicon):integer; stdcall;
{R} TFsRenMovFile= function(OldName,NewName:pchar; Move, OverWrite:boolean; ri:pRemoteInfo):Integer; stdcall;
{U} TFsDisconnect = function (DisconnectRoot:pchar):boolean; stdcall;
{U} TFsGetPreviewBitmap = function ( RemoteName:pchar; width,height:integer; ReturnedBitmap:HBITMAP):integer; stdcall;
{R} TFsLinksToLocalFiles = function:boolean; stdcall;
{R} TFsGetLocalName = function (RemoteName:pchar;maxlen:integer):boolean; stdcall;
{R} TFsSetAttr=function (RemoteName:pchar;NewAttr:integer):boolean;
{R} TFsSetTime=Function(RemoteName:pchar;CreationTime,LastAccessTime,LastWriteTime:PWfxFileTime):boolean;
{U} TFsExtractCustomIcon=function(RemoteName:pchar;ExtractFlags:integer;var TheIcon:hicon):integer;
{R} TFsRenMovFile= function(OldName,NewName:pchar; Move, OverWrite:boolean; ri:pRemoteInfo):Integer;
{U} TFsDisconnect = function (DisconnectRoot:pchar):boolean;
{U} TFsGetPreviewBitmap = function ( RemoteName:pchar; width,height:integer; ReturnedBitmap:HBITMAP):integer;
{R} TFsLinksToLocalFiles = function:boolean;
{R} TFsGetLocalName = function (RemoteName:pchar;maxlen:integer):boolean;
//------------------------------------------------------
{R} TFsContentPluginUnloading = procedure; stdcall;
{U} TFsContentGetDetectString = procedure (DetectString:pchar;maxlen:integer); stdcall;
{U} TFsContentGetSupportedField = function (FieldIndex:integer;FieldName:pchar; Units:pchar;maxlen:integer):integer; stdcall;
{U} TFsContentGetValue = function (FileName:pchar;FieldIndex,UnitIndex:integer;FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
{U} TFsContentSetDefaultParams = procedure (dps:pContentDefaultParamStruct); stdcall;
{U} TFsContentStopGetValue = procedure (FileName:pchar); stdcall;
{U} TFsContentGetDefaultSortOrder = function (FieldIndex:integer):integer; stdcall;
{U} TFsContentGetSupportedFieldFlags = function (FieldIndex:integer):integer; stdcall;
{U} TFsContentSetValue = function (FileName:pchar;FieldIndex,UnitIndex,FieldType:integer; FieldValue:pbyte;flags:integer):integer; stdcall;
{U} TFsContentGetDefaultView = function (ViewContents,ViewHeaders,ViewWidths, ViewOptions:pchar;maxlen:integer):boolean; stdcall;
{R} TFsContentPluginUnloading = procedure;
{U} TFsContentGetDetectString = procedure (DetectString:pchar;maxlen:integer);
{U} TFsContentGetSupportedField = function (FieldIndex:integer;FieldName:pchar; Units:pchar;maxlen:integer):integer;
{U} TFsContentGetValue = function (FileName:pchar;FieldIndex,UnitIndex:integer;FieldValue:pbyte; maxlen,flags:integer):integer;
{U} TFsContentSetDefaultParams = procedure (dps:pContentDefaultParamStruct);
{U} TFsContentStopGetValue = procedure (FileName:pchar);
{U} TFsContentGetDefaultSortOrder = function (FieldIndex:integer):integer;
{U} TFsContentGetSupportedFieldFlags = function (FieldIndex:integer):integer;
{U} TFsContentSetValue = function (FileName:pchar;FieldIndex,UnitIndex,FieldType:integer; FieldValue:pbyte;flags:integer):integer;
{U} TFsContentGetDefaultView = function (ViewContents,ViewHeaders,ViewWidths, ViewOptions:pchar;maxlen:integer):boolean;
{ Unicode }
TFsInitW = function(PluginNr:integer;pProgressProcW:tProgressProcW;pLogProcW:tLogProcW; pRequestProcW:tRequestProcW):integer; stdcall;
TFsFindFirstW = function(path :pwidechar;var FindData:tWIN32FINDDATAW):thandle; stdcall;
TFsFindNextW = function(Hdl:thandle;var FindDataW:tWIN32FINDDATAW):bool; stdcall;
TFsInitW = function(PluginNr:integer;pProgressProcW:tProgressProcW;pLogProcW:tLogProcW; pRequestProcW:tRequestProcW):integer;
TFsFindFirstW = function(path :pwidechar;var FindData:tWIN32FINDDATAW):thandle;
TFsFindNextW = function(Hdl:thandle;var FindDataW:tWIN32FINDDATAW):bool;
//------------------------------------------------------
TFsSetCryptCallbackW = procedure(CryptProcW:TCryptProcW;CryptoNr,Flags:integer); stdcall;
TFsMkDirW = function(RemoteDir:pwidechar):bool; stdcall;
TFsExecuteFileW = function(MainWin:HWND;RemoteName,Verb:pwidechar):integer; stdcall;
TFsRenMovFileW = function(OldName,NewName:pwidechar;Move,OverWrite:bool; RemoteInfo:pRemoteInfo):integer; stdcall;
TFsGetFileW = function(RemoteName,LocalName:pwidechar;CopyFlags:integer; RemoteInfo:pRemoteInfo):integer; stdcall;
TFsPutFileW = function(LocalName,RemoteName:pwidechar;CopyFlags:integer):integer; stdcall;
TFsDeleteFileW = function(RemoteName:pwidechar):bool; stdcall;
TFsRemoveDirW = function(RemoteName:pwidechar):bool; stdcall;
TFsDisconnectW = function(DisconnectRoot:pwidechar):bool; stdcall;
TFsSetAttrW = function(RemoteName:pwidechar;NewAttr:integer):bool; stdcall;
TFsSetTimeW = function(RemoteName:pwidechar;CreationTime,LastAccessTime, LastWriteTime:PWfxFileTime):bool; stdcall;
TFsStatusInfoW = procedure(RemoteDir:pwidechar;InfoStartEnd,InfoOperation:integer); stdcall;
TFsExtractCustomIconW = function(RemoteName:pwidechar;ExtractFlags:integer; var TheIcon:hicon):integer; stdcall;
TFsGetPreviewBitmapW = function(RemoteName:pwidechar;width,height:integer; var ReturnedBitmap:hbitmap):integer; stdcall;
TFsGetLocalNameW = function(RemoteName:pwidechar;maxlen:integer):bool; stdcall;
TFsSetCryptCallbackW = procedure(CryptProcW:TCryptProcW;CryptoNr,Flags:integer);
TFsMkDirW = function(RemoteDir:pwidechar):bool;
TFsExecuteFileW = function(MainWin:HWND;RemoteName,Verb:pwidechar):integer;
TFsRenMovFileW = function(OldName,NewName:pwidechar;Move,OverWrite:bool; RemoteInfo:pRemoteInfo):integer;
TFsGetFileW = function(RemoteName,LocalName:pwidechar;CopyFlags:integer; RemoteInfo:pRemoteInfo):integer;
TFsPutFileW = function(LocalName,RemoteName:pwidechar;CopyFlags:integer):integer;
TFsDeleteFileW = function(RemoteName:pwidechar):bool;
TFsRemoveDirW = function(RemoteName:pwidechar):bool;
TFsDisconnectW = function(DisconnectRoot:pwidechar):bool;
TFsSetAttrW = function(RemoteName:pwidechar;NewAttr:integer):bool;
TFsSetTimeW = function(RemoteName:pwidechar;CreationTime,LastAccessTime, LastWriteTime:PWfxFileTime):bool;
TFsStatusInfoW = procedure(RemoteDir:pwidechar;InfoStartEnd,InfoOperation:integer);
TFsExtractCustomIconW = function(RemoteName:pwidechar;ExtractFlags:integer; var TheIcon:hicon):integer;
TFsGetPreviewBitmapW = function(RemoteName:pwidechar;width,height:integer; var ReturnedBitmap:hbitmap):integer;
TFsGetLocalNameW = function(RemoteName:pwidechar;maxlen:integer):bool;
//------------------------------------------------------
TFsContentGetValueW = function(FileName:pwidechar;FieldIndex,UnitIndex:integer;FieldValue:pbyte; maxlen,flags:integer):integer; stdcall;
TFsContentStopGetValueW = procedure(FileName:pwidechar); stdcall;
TFsContentSetValueW = function(FileName:pwidechar;FieldIndex,UnitIndex,FieldType:integer; FieldValue:pbyte;flags:integer):integer; stdcall;
TFsContentGetDefaultViewW = function(ViewContents,ViewHeaders,ViewWidths, ViewOptions:pwidechar;maxlen:integer):bool; stdcall;
TFsContentGetValueW = function(FileName:pwidechar;FieldIndex,UnitIndex:integer;FieldValue:pbyte; maxlen,flags:integer):integer;
TFsContentStopGetValueW = procedure(FileName:pwidechar);
TFsContentSetValueW = function(FileName:pwidechar;FieldIndex,UnitIndex,FieldType:integer; FieldValue:pbyte;flags:integer):integer;
TFsContentGetDefaultViewW = function(ViewContents,ViewHeaders,ViewWidths, ViewOptions:pwidechar;maxlen:integer):bool;
//------------------------------------------------------
{$CALLING DEFAULT}
implementation
end.

View file

@ -7,26 +7,30 @@ interface
uses
Classes, SysUtils, WlxPlugin;
{$IFDEF MSWINDOWS}{$CALLING STDCALL}{$ELSE}{$CALLING CDECL}{$ENDIF}
type
{ Mandatory }
TListLoad = function (ParentWin:thandle;FileToLoad:pchar;ShowFlags:integer):thandle; stdcall;
{ Optional }
TListLoadNext = function (ParentWin,PluginWin:thandle;FileToLoad:pchar;ShowFlags:integer):integer; stdcall;
TListCloseWindow = procedure (ListWin:thandle); stdcall;
TListGetDetectString = procedure (DetectString:pchar;maxlen:integer); stdcall;
TListSearchText = function (ListWin:thandle;SearchString:pchar; SearchParameter:integer):integer; stdcall;
TListSearchDialog = function (ListWin:thandle;FindNext:integer):integer; stdcall;
TListSendCommand = function (ListWin:thandle;Command,Parameter:integer):integer; stdcall;
TListPrint = function (ListWin:thandle;FileToPrint,DefPrinter:pchar; PrintFlags:integer;var Margins:trect):integer; stdcall;
TListNotificationReceived = function (ListWin:thandle;Message,wParam,lParam:integer):integer; stdcall;
TListSetDefaultParams = procedure (dps:pListDefaultParamStruct); stdcall;
TListGetPreviewBitmap = function (FileToLoad:pchar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap; stdcall;
{ Unicode }
TListLoadW = function (ParentWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):thandle; stdcall;
TListLoadNextW = function (ParentWin,PluginWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):integer; stdcall;
TListSearchTextW = function (ListWin:thandle;SearchString:pwidechar; SearchParameter:integer):integer; stdcall;
TListPrintW = function (ListWin:thandle;FileToPrint,DefPrinter:pwidechar; PrintFlags:integer;var Margins:trect):integer; stdcall;
TListGetPreviewBitmapW = function (FileToLoad:pwidechar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap; stdcall;
{ Mandatory }
TListLoad = function (ParentWin:thandle;FileToLoad:pchar;ShowFlags:integer):thandle;
{ Optional }
TListLoadNext = function (ParentWin,PluginWin:thandle;FileToLoad:pchar;ShowFlags:integer):integer;
TListCloseWindow = procedure (ListWin:thandle);
TListGetDetectString = procedure (DetectString:pchar;maxlen:integer);
TListSearchText = function (ListWin:thandle;SearchString:pchar; SearchParameter:integer):integer;
TListSearchDialog = function (ListWin:thandle;FindNext:integer):integer;
TListSendCommand = function (ListWin:thandle;Command,Parameter:integer):integer;
TListPrint = function (ListWin:thandle;FileToPrint,DefPrinter:pchar; PrintFlags:integer;var Margins:trect):integer;
TListNotificationReceived = function (ListWin:thandle;Message,wParam,lParam:integer):integer;
TListSetDefaultParams = procedure (dps:pListDefaultParamStruct);
TListGetPreviewBitmap = function (FileToLoad:pchar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap;
{ Unicode }
TListLoadW = function (ParentWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):thandle;
TListLoadNextW = function (ParentWin,PluginWin:thandle;FileToLoad:pwidechar;ShowFlags:integer):integer;
TListSearchTextW = function (ListWin:thandle;SearchString:pwidechar; SearchParameter:integer):integer;
TListPrintW = function (ListWin:thandle;FileToPrint,DefPrinter:pwidechar; PrintFlags:integer;var Margins:trect):integer;
TListGetPreviewBitmapW = function (FileToLoad:pwidechar;width,height:integer; contentbuf:pchar;contentbuflen:integer):hbitmap;
{$CALLING DEFAULT}
implementation