* stdcall for callbacks (merged)

This commit is contained in:
peter 2000-10-11 16:05:55 +00:00
parent 539c411afe
commit 3fd4aa8ec9
7 changed files with 326 additions and 304 deletions

View File

@ -915,323 +915,323 @@ end;
*) *)
const const
SEVERITY_SUCCESS = $00000000; SEVERITY_SUCCESS = $00000000;
SEVERITY_INFORMATIONAL = $40000000; SEVERITY_INFORMATIONAL = $40000000;
SEVERITY_WARNING = $80000000; SEVERITY_WARNING = $80000000;
SEVERITY_ERROR = $C0000000; SEVERITY_ERROR = $C0000000;
const const
STATUS_SEGMENT_NOTIFICATION = $40000005; STATUS_SEGMENT_NOTIFICATION = $40000005;
DBG_TERMINATE_THREAD = $40010003; DBG_TERMINATE_THREAD = $40010003;
DBG_TERMINATE_PROCESS = $40010004; DBG_TERMINATE_PROCESS = $40010004;
DBG_CONTROL_C = $40010005; DBG_CONTROL_C = $40010005;
DBG_CONTROL_BREAK = $40010008; DBG_CONTROL_BREAK = $40010008;
STATUS_GUARD_PAGE_VIOLATION = $80000001; STATUS_GUARD_PAGE_VIOLATION = $80000001;
STATUS_DATATYPE_MISALIGNMENT = $80000002; STATUS_DATATYPE_MISALIGNMENT = $80000002;
STATUS_BREAKPOINT = $80000003; STATUS_BREAKPOINT = $80000003;
STATUS_SINGLE_STEP = $80000004; STATUS_SINGLE_STEP = $80000004;
DBG_EXCEPTION_NOT_HANDLED = $80010001; DBG_EXCEPTION_NOT_HANDLED = $80010001;
STATUS_ACCESS_VIOLATION = $C0000005; STATUS_ACCESS_VIOLATION = $C0000005;
STATUS_IN_PAGE_ERROR = $C0000006; STATUS_IN_PAGE_ERROR = $C0000006;
STATUS_INVALID_HANDLE = $C0000008; STATUS_INVALID_HANDLE = $C0000008;
STATUS_NO_MEMORY = $C0000017; STATUS_NO_MEMORY = $C0000017;
STATUS_ILLEGAL_INSTRUCTION = $C000001D; STATUS_ILLEGAL_INSTRUCTION = $C000001D;
STATUS_NONCONTINUABLE_EXCEPTION = $C0000025; STATUS_NONCONTINUABLE_EXCEPTION = $C0000025;
STATUS_INVALID_DISPOSITION = $C0000026; STATUS_INVALID_DISPOSITION = $C0000026;
STATUS_ARRAY_BOUNDS_EXCEEDED = $C000008C; STATUS_ARRAY_BOUNDS_EXCEEDED = $C000008C;
STATUS_FLOAT_DENORMAL_OPERAND = $C000008D; STATUS_FLOAT_DENORMAL_OPERAND = $C000008D;
STATUS_FLOAT_DIVIDE_BY_ZERO = $C000008E; STATUS_FLOAT_DIVIDE_BY_ZERO = $C000008E;
STATUS_FLOAT_INEXACT_RESULT = $C000008F; STATUS_FLOAT_INEXACT_RESULT = $C000008F;
STATUS_FLOAT_INVALID_OPERATION = $C0000090; STATUS_FLOAT_INVALID_OPERATION = $C0000090;
STATUS_FLOAT_OVERFLOW = $C0000091; STATUS_FLOAT_OVERFLOW = $C0000091;
STATUS_FLOAT_STACK_CHECK = $C0000092; STATUS_FLOAT_STACK_CHECK = $C0000092;
STATUS_FLOAT_UNDERFLOW = $C0000093; STATUS_FLOAT_UNDERFLOW = $C0000093;
STATUS_INTEGER_DIVIDE_BY_ZERO = $C0000094; STATUS_INTEGER_DIVIDE_BY_ZERO = $C0000094;
STATUS_INTEGER_OVERFLOW = $C0000095; STATUS_INTEGER_OVERFLOW = $C0000095;
STATUS_PRIVILEGED_INSTRUCTION = $C0000096; STATUS_PRIVILEGED_INSTRUCTION = $C0000096;
STATUS_STACK_OVERFLOW = $C00000FD; STATUS_STACK_OVERFLOW = $C00000FD;
STATUS_CONTROL_C_EXIT = $C000013A; STATUS_CONTROL_C_EXIT = $C000013A;
STATUS_FLOAT_MULTIPLE_FAULTS = $C00002B4; STATUS_FLOAT_MULTIPLE_FAULTS = $C00002B4;
STATUS_FLOAT_MULTIPLE_TRAPS = $C00002B5; STATUS_FLOAT_MULTIPLE_TRAPS = $C00002B5;
STATUS_REG_NAT_CONSUMPTION = $C00002C9; STATUS_REG_NAT_CONSUMPTION = $C00002C9;
EXCEPTION_EXECUTE_HANDLER = 1; EXCEPTION_EXECUTE_HANDLER = 1;
EXCEPTION_CONTINUE_EXECUTION = -1; EXCEPTION_CONTINUE_EXECUTION = -1;
EXCEPTION_CONTINUE_SEARCH = 0; EXCEPTION_CONTINUE_SEARCH = 0;
EXCEPTION_MAXIMUM_PARAMETERS = 15; EXCEPTION_MAXIMUM_PARAMETERS = 15;
CONTEXT_X86 = $00010000; CONTEXT_X86 = $00010000;
CONTEXT_CONTROL = CONTEXT_X86 or $00000001; CONTEXT_CONTROL = CONTEXT_X86 or $00000001;
CONTEXT_INTEGER = CONTEXT_X86 or $00000002; CONTEXT_INTEGER = CONTEXT_X86 or $00000002;
CONTEXT_SEGMENTS = CONTEXT_X86 or $00000004; CONTEXT_SEGMENTS = CONTEXT_X86 or $00000004;
CONTEXT_FLOATING_POINT = CONTEXT_X86 or $00000008; CONTEXT_FLOATING_POINT = CONTEXT_X86 or $00000008;
CONTEXT_DEBUG_REGISTERS = CONTEXT_X86 or $00000010; CONTEXT_DEBUG_REGISTERS = CONTEXT_X86 or $00000010;
CONTEXT_EXTENDED_REGISTERS = CONTEXT_X86 or $00000020; CONTEXT_EXTENDED_REGISTERS = CONTEXT_X86 or $00000020;
CONTEXT_FULL = CONTEXT_CONTROL or CONTEXT_INTEGER or CONTEXT_SEGMENTS; CONTEXT_FULL = CONTEXT_CONTROL or CONTEXT_INTEGER or CONTEXT_SEGMENTS;
MAXIMUM_SUPPORTED_EXTENSION = 512; MAXIMUM_SUPPORTED_EXTENSION = 512;
type type
PFloatingSaveArea = ^TFloatingSaveArea; PFloatingSaveArea = ^TFloatingSaveArea;
TFloatingSaveArea = packed record TFloatingSaveArea = packed record
ControlWord : Cardinal; ControlWord : Cardinal;
StatusWord : Cardinal; StatusWord : Cardinal;
TagWord : Cardinal; TagWord : Cardinal;
ErrorOffset : Cardinal; ErrorOffset : Cardinal;
ErrorSelector : Cardinal; ErrorSelector : Cardinal;
DataOffset : Cardinal; DataOffset : Cardinal;
DataSelector : Cardinal; DataSelector : Cardinal;
RegisterArea : array[0..79] of Byte; RegisterArea : array[0..79] of Byte;
Cr0NpxState : Cardinal; Cr0NpxState : Cardinal;
end; end;
PContext = ^TContext; PContext = ^TContext;
TContext = packed record TContext = packed record
// //
// The flags values within this flag control the contents of // The flags values within this flag control the contents of
// a CONTEXT record. // a CONTEXT record.
// //
ContextFlags : Cardinal; ContextFlags : Cardinal;
// //
// This section is specified/returned if CONTEXT_DEBUG_REGISTERS is // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is
// set in ContextFlags. Note that CONTEXT_DEBUG_REGISTERS is NOT // set in ContextFlags. Note that CONTEXT_DEBUG_REGISTERS is NOT
// included in CONTEXT_FULL. // included in CONTEXT_FULL.
// //
Dr0, Dr1, Dr2, Dr0, Dr1, Dr2,
Dr3, Dr6, Dr7 : Cardinal; Dr3, Dr6, Dr7 : Cardinal;
// //
// This section is specified/returned if the // This section is specified/returned if the
// ContextFlags word contains the flag CONTEXT_FLOATING_POINT. // ContextFlags word contains the flag CONTEXT_FLOATING_POINT.
// //
FloatSave : TFloatingSaveArea; FloatSave : TFloatingSaveArea;
// //
// This section is specified/returned if the // This section is specified/returned if the
// ContextFlags word contains the flag CONTEXT_SEGMENTS. // ContextFlags word contains the flag CONTEXT_SEGMENTS.
// //
SegGs, SegFs, SegGs, SegFs,
SegEs, SegDs : Cardinal; SegEs, SegDs : Cardinal;
// //
// This section is specified/returned if the // This section is specified/returned if the
// ContextFlags word contains the flag CONTEXT_INTEGER. // ContextFlags word contains the flag CONTEXT_INTEGER.
// //
Edi, Esi, Ebx, Edi, Esi, Ebx,
Edx, Ecx, Eax : Cardinal; Edx, Ecx, Eax : Cardinal;
// //
// This section is specified/returned if the // This section is specified/returned if the
// ContextFlags word contains the flag CONTEXT_CONTROL. // ContextFlags word contains the flag CONTEXT_CONTROL.
// //
Ebp : Cardinal; Ebp : Cardinal;
Eip : Cardinal; Eip : Cardinal;
SegCs : Cardinal; SegCs : Cardinal;
EFlags, Esp, SegSs : Cardinal; EFlags, Esp, SegSs : Cardinal;
// //
// This section is specified/returned if the ContextFlags word // This section is specified/returned if the ContextFlags word
// contains the flag CONTEXT_EXTENDED_REGISTERS. // contains the flag CONTEXT_EXTENDED_REGISTERS.
// The format and contexts are processor specific // The format and contexts are processor specific
// //
ExtendedRegisters : array[0..MAXIMUM_SUPPORTED_EXTENSION-1] of Byte; ExtendedRegisters : array[0..MAXIMUM_SUPPORTED_EXTENSION-1] of Byte;
end; end;
type type
PExceptionRecord = ^TExceptionRecord; PExceptionRecord = ^TExceptionRecord;
TExceptionRecord = packed record TExceptionRecord = packed record
ExceptionCode : Longint; ExceptionCode : Longint;
ExceptionFlags : Longint; ExceptionFlags : Longint;
ExceptionRecord : PExceptionRecord; ExceptionRecord : PExceptionRecord;
ExceptionAddress : Pointer; ExceptionAddress : Pointer;
NumberParameters : Longint; NumberParameters : Longint;
ExceptionInformation : array[0..EXCEPTION_MAXIMUM_PARAMETERS-1] of Pointer; ExceptionInformation : array[0..EXCEPTION_MAXIMUM_PARAMETERS-1] of Pointer;
end; end;
PExceptionPointers = ^TExceptionPointers; PExceptionPointers = ^TExceptionPointers;
TExceptionPointers = packed record TExceptionPointers = packed record
ExceptionRecord : PExceptionRecord; ExceptionRecord : PExceptionRecord;
ContextRecord : PContext; ContextRecord : PContext;
end; end;
{ type of functions that should be used for exception handling } { type of functions that should be used for exception handling }
TTopLevelExceptionFilter = function (excep : PExceptionPointers) : Longint; TTopLevelExceptionFilter = function (excep : PExceptionPointers) : Longint;
function SetUnhandledExceptionFilter(lpTopLevelExceptionFilter : TTopLevelExceptionFilter) : TTopLevelExceptionFilter; function SetUnhandledExceptionFilter(lpTopLevelExceptionFilter : TTopLevelExceptionFilter) : TTopLevelExceptionFilter;
external 'kernel32' name 'SetUnhandledExceptionFilter'; external 'kernel32' name 'SetUnhandledExceptionFilter';
const const
MaxExceptionLevel = 16; MaxExceptionLevel = 16;
exceptLevel : Byte = 0; exceptLevel : Byte = 0;
var var
exceptEip : array[0..MaxExceptionLevel-1] of Longint; exceptEip : array[0..MaxExceptionLevel-1] of Longint;
exceptError : array[0..MaxExceptionLevel-1] of Byte; exceptError : array[0..MaxExceptionLevel-1] of Byte;
resetFPU : array[0..MaxExceptionLevel-1] of Boolean; resetFPU : array[0..MaxExceptionLevel-1] of Boolean;
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
procedure DebugHandleErrorAddrFrame(error, addr, frame : longint); procedure DebugHandleErrorAddrFrame(error, addr, frame : longint);
begin begin
if IsConsole then begin if IsConsole then begin
write(stderr,'HandleErrorAddrFrame(error=',error); write(stderr,'HandleErrorAddrFrame(error=',error);
write(stderr,',addr=',hexstr(addr,8)); write(stderr,',addr=',hexstr(addr,8));
writeln(stderr,',frame=',hexstr(frame,8),')'); writeln(stderr,',frame=',hexstr(frame,8),')');
end; end;
HandleErrorAddrFrame(error,addr,frame); HandleErrorAddrFrame(error,addr,frame);
end; end;
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
procedure JumpToHandleErrorFrame; procedure JumpToHandleErrorFrame;
var var
eip, ebp, error : Longint; eip, ebp, error : Longint;
begin begin
// save ebp // save ebp
asm asm
movl (%ebp),%eax movl (%ebp),%eax
movl %eax,ebp movl %eax,ebp
end; end;
if (exceptLevel > 0) then if (exceptLevel > 0) then
dec(exceptLevel); dec(exceptLevel);
eip:=exceptEip[exceptLevel]; eip:=exceptEip[exceptLevel];
error:=exceptError[exceptLevel]; error:=exceptError[exceptLevel];
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
if IsConsole then if IsConsole then
writeln(stderr,'In JumpToHandleErrorFrame error=',error); writeln(stderr,'In JumpToHandleErrorFrame error=',error);
end; end;
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
if resetFPU[exceptLevel] then asm if resetFPU[exceptLevel] then asm
fninit fninit
fldcw fpucw fldcw fpucw
end; end;
{ build a fake stack } { build a fake stack }
asm asm
movl ebp,%eax movl ebp,%eax
pushl %eax pushl %eax
movl eip,%eax movl eip,%eax
pushl %eax pushl %eax
movl error,%eax movl error,%eax
pushl %eax pushl %eax
movl eip,%eax movl eip,%eax
pushl %eax pushl %eax
movl ebp,%ebp // Change frame pointer movl ebp,%ebp // Change frame pointer
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
jmpl DebugHandleErrorAddrFrame jmpl DebugHandleErrorAddrFrame
{$else not SYSTEMEXCEPTIONDEBUG} {$else not SYSTEMEXCEPTIONDEBUG}
jmpl HandleErrorAddrFrame jmpl HandleErrorAddrFrame
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
end; end;
end; end;
function syswin32_i386_exception_handler(excep : PExceptionPointers) : Longint; function syswin32_i386_exception_handler(excep : PExceptionPointers) : Longint;stdcall;
var var
frame, frame,
res : longint; res : longint;
function SysHandleErrorFrame(error, frame : Longint; must_reset_fpu : Boolean) : Longint; function SysHandleErrorFrame(error, frame : Longint; must_reset_fpu : Boolean) : Longint;
begin begin
if (frame = 0) then if (frame = 0) then
SysHandleErrorFrame:=EXCEPTION_CONTINUE_SEARCH SysHandleErrorFrame:=EXCEPTION_CONTINUE_SEARCH
else begin else begin
if (exceptLevel >= MaxExceptionLevel) then exit; if (exceptLevel >= MaxExceptionLevel) then exit;
exceptEip[exceptLevel] := excep^.ContextRecord^.Eip; exceptEip[exceptLevel] := excep^.ContextRecord^.Eip;
exceptError[exceptLevel] := error; exceptError[exceptLevel] := error;
resetFPU[exceptLevel] := must_reset_fpu; resetFPU[exceptLevel] := must_reset_fpu;
inc(exceptLevel); inc(exceptLevel);
excep^.ContextRecord^.Eip := Longint(@JumpToHandleErrorFrame); excep^.ContextRecord^.Eip := Longint(@JumpToHandleErrorFrame);
excep^.ExceptionRecord^.ExceptionCode := 0; excep^.ExceptionRecord^.ExceptionCode := 0;
SysHandleErrorFrame := EXCEPTION_CONTINUE_EXECUTION; SysHandleErrorFrame := EXCEPTION_CONTINUE_EXECUTION;
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
if IsConsole then begin if IsConsole then begin
writeln(stderr,'Exception Continue Exception set at ', writeln(stderr,'Exception Continue Exception set at ',
hexstr(exceptEip[exceptLevel],8)); hexstr(exceptEip[exceptLevel],8));
writeln(stderr,'Eip changed to ', writeln(stderr,'Eip changed to ',
hexstr(longint(@JumpToHandleErrorFrame),8), ' error=', error); hexstr(longint(@JumpToHandleErrorFrame),8), ' error=', error);
end; end;
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
end; end;
end; end;
begin begin
if excep^.ContextRecord^.SegSs=_SS then if excep^.ContextRecord^.SegSs=_SS then
frame := excep^.ContextRecord^.Ebp frame := excep^.ContextRecord^.Ebp
else else
frame := 0; frame := 0;
res := EXCEPTION_CONTINUE_SEARCH; res := EXCEPTION_CONTINUE_SEARCH;
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
if IsConsole then Writeln(stderr,'Exception ', if IsConsole then Writeln(stderr,'Exception ',
hexstr(excep^.ExceptionRecord^.ExceptionCode, 8)); hexstr(excep^.ExceptionRecord^.ExceptionCode, 8));
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
case excep^.ExceptionRecord^.ExceptionCode of case excep^.ExceptionRecord^.ExceptionCode of
STATUS_INTEGER_DIVIDE_BY_ZERO, STATUS_INTEGER_DIVIDE_BY_ZERO,
STATUS_FLOAT_DIVIDE_BY_ZERO : STATUS_FLOAT_DIVIDE_BY_ZERO :
res := SysHandleErrorFrame(200, frame, true); res := SysHandleErrorFrame(200, frame, true);
STATUS_ARRAY_BOUNDS_EXCEEDED : STATUS_ARRAY_BOUNDS_EXCEEDED :
res := SysHandleErrorFrame(201, frame, false); res := SysHandleErrorFrame(201, frame, false);
STATUS_STACK_OVERFLOW : STATUS_STACK_OVERFLOW :
res := SysHandleErrorFrame(202, frame, false); res := SysHandleErrorFrame(202, frame, false);
STATUS_FLOAT_OVERFLOW : STATUS_FLOAT_OVERFLOW :
res := SysHandleErrorFrame(205, frame, true); res := SysHandleErrorFrame(205, frame, true);
STATUS_FLOAT_UNDERFLOW : STATUS_FLOAT_UNDERFLOW :
res := SysHandleErrorFrame(206, frame, true); res := SysHandleErrorFrame(206, frame, true);
{excep^.ContextRecord^.FloatSave.StatusWord := excep^.ContextRecord^.FloatSave.StatusWord and $ffffff00;} {excep^.ContextRecord^.FloatSave.StatusWord := excep^.ContextRecord^.FloatSave.StatusWord and $ffffff00;}
STATUS_FLOAT_INVALID_OPERATION, STATUS_FLOAT_INVALID_OPERATION,
STATUS_FLOAT_STACK_CHECK : STATUS_FLOAT_STACK_CHECK :
res := SysHandleErrorFrame(207, frame, true); res := SysHandleErrorFrame(207, frame, true);
STATUS_INTEGER_OVERFLOW : STATUS_INTEGER_OVERFLOW :
res := SysHandleErrorFrame(215, frame, false); res := SysHandleErrorFrame(215, frame, false);
STATUS_ACCESS_VIOLATION, STATUS_ACCESS_VIOLATION,
STATUS_FLOAT_DENORMAL_OPERAND : STATUS_FLOAT_DENORMAL_OPERAND :
res := SysHandleErrorFrame(216, frame, true); res := SysHandleErrorFrame(216, frame, true);
else begin else begin
if ((excep^.ExceptionRecord^.ExceptionCode and SEVERITY_ERROR) = SEVERITY_ERROR) then if ((excep^.ExceptionRecord^.ExceptionCode and SEVERITY_ERROR) = SEVERITY_ERROR) then
res := SysHandleErrorFrame(217, frame, true); res := SysHandleErrorFrame(217, frame, true);
end; end;
end; end;
syswin32_i386_exception_handler := res; syswin32_i386_exception_handler := res;
end; end;
procedure install_exception_handlers; procedure install_exception_handlers;
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
var var
oldexceptaddr, oldexceptaddr,
newexceptaddr : Longint; newexceptaddr : Longint;
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
begin begin
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
asm asm
movl $0,%eax movl $0,%eax
movl %fs:(%eax),%eax movl %fs:(%eax),%eax
movl %eax,oldexceptaddr movl %eax,oldexceptaddr
end; end;
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
SetUnhandledExceptionFilter(@syswin32_i386_exception_handler); SetUnhandledExceptionFilter(@syswin32_i386_exception_handler);
{$ifdef SYSTEMEXCEPTIONDEBUG} {$ifdef SYSTEMEXCEPTIONDEBUG}
asm asm
movl $0,%eax movl $0,%eax
movl %fs:(%eax),%eax movl %fs:(%eax),%eax
movl %eax,newexceptaddr movl %eax,newexceptaddr
end; end;
if IsConsole then if IsConsole then
writeln(stderr,'Old exception ',hexstr(oldexceptaddr,8), writeln(stderr,'Old exception ',hexstr(oldexceptaddr,8),
' new exception ',hexstr(newexceptaddr,8)); ' new exception ',hexstr(newexceptaddr,8));
{$endif SYSTEMEXCEPTIONDEBUG} {$endif SYSTEMEXCEPTIONDEBUG}
end; end;
procedure remove_exception_handlers; procedure remove_exception_handlers;
begin begin
SetUnhandledExceptionFilter(nil); SetUnhandledExceptionFilter(nil);
end; end;
{$else not i386 (Processor specific !!)} {$else not i386 (Processor specific !!)}
@ -1380,7 +1380,10 @@ end.
{ {
$Log$ $Log$
Revision 1.4 2000-09-11 20:19:28 florian Revision 1.5 2000-10-11 16:05:55 peter
* stdcall for callbacks (merged)
Revision 1.4 2000/09/11 20:19:28 florian
* complete exception handling provided by Thomas Schatzl * complete exception handling provided by Thomas Schatzl
Revision 1.3 2000/09/04 19:36:59 peter Revision 1.3 2000/09/04 19:36:59 peter
@ -1389,4 +1392,4 @@ end.
Revision 1.2 2000/07/13 11:33:58 michael Revision 1.2 2000/07/13 11:33:58 michael
+ removed logs + removed logs
} }

View File

@ -447,7 +447,7 @@ function FindExecutable(_para1:pchar; _para2:pchar;_para3:pchar):HINST; external
function ShellAbout(_para1:HWND; _para2:pchar; _para3:pchar;_para4:HICON):longint; external 'shell32' name 'ShellAboutA'; function ShellAbout(_para1:HWND; _para2:pchar; _para3:pchar;_para4:HICON):longint; external 'shell32' name 'ShellAboutA';
function ShellExecute(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar; _para5:pchar;_para6:longint):HINST; external 'shell32' name 'ShellExecuteA'; function ShellExecute(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar; _para5:pchar;_para6:longint):HINST; external 'shell32' name 'ShellExecuteA';
function DdeCreateStringHandle(_para1:DWORD; _para2:pchar;_para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleA'; function DdeCreateStringHandle(_para1:DWORD; _para2:pchar;_para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleA';
function DdeInitialize(_para1:LPDWORD; _para2:CALLB; _para3:DWORD; _para4:DWORD):UINT;external 'user32' name 'DdeInitializeA'; function DdeInitialize(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT;external 'user32' name 'DdeInitializeA';
function DdeQueryString(_para1:DWORD; _para2:HSZ; _para3:pchar;_para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringA'; function DdeQueryString(_para1:DWORD; _para2:HSZ; _para3:pchar;_para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringA';
function LogonUser(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserA'; function LogonUser(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserA';
function CreateProcessAsUser(_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCTSTR; function CreateProcessAsUser(_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCTSTR;
@ -487,7 +487,10 @@ end;
{ {
$Log$ $Log$
Revision 1.2 2000-07-13 11:33:58 michael Revision 1.3 2000-10-11 16:05:55 peter
* stdcall for callbacks (merged)
Revision 1.2 2000/07/13 11:33:58 michael
+ removed logs + removed logs
} }

View File

@ -448,7 +448,7 @@ function FindExecutableA(_para1:pchar; _para2:pchar;_para3:pchar):HINST; externa
function ShellAboutA(_para1:HWND; _para2:pchar; _para3:pchar;_para4:HICON):longint; external 'shell32' name 'ShellAboutA'; function ShellAboutA(_para1:HWND; _para2:pchar; _para3:pchar;_para4:HICON):longint; external 'shell32' name 'ShellAboutA';
function ShellExecuteA(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar; _para5:pchar;_para6:longint):HINST; external 'shell32' name 'ShellExecuteA'; function ShellExecuteA(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar; _para5:pchar;_para6:longint):HINST; external 'shell32' name 'ShellExecuteA';
function DdeCreateStringHandleA(_para1:DWORD; _para2:pchar;_para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleA'; function DdeCreateStringHandleA(_para1:DWORD; _para2:pchar;_para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleA';
function DdeInitializeA(_para1:LPDWORD; _para2:CALLB; _para3:DWORD; _para4:DWORD):UINT;external 'user32' name 'DdeInitializeA'; function DdeInitializeA(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT;external 'user32' name 'DdeInitializeA';
function DdeQueryStringA(_para1:DWORD; _para2:HSZ; _para3:pchar;_para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringA'; function DdeQueryStringA(_para1:DWORD; _para2:HSZ; _para3:pchar;_para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringA';
function LogonUserA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserA'; function LogonUserA(_para1:LPSTR; _para2:LPSTR; _para3:LPSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserA';
function CreateProcessAsUserA(_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCTSTR; function CreateProcessAsUserA(_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCTSTR;
@ -488,7 +488,10 @@ end;
{ {
$Log$ $Log$
Revision 1.2 2000-07-13 11:33:58 michael Revision 1.3 2000-10-11 16:05:56 peter
* stdcall for callbacks (merged)
Revision 1.2 2000/07/13 11:33:58 michael
+ removed logs + removed logs
} }

View File

@ -503,101 +503,101 @@
type type
BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint; BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;stdcall;
LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
PTHREAD_START_ROUTINE = Pointer; PTHREAD_START_ROUTINE = Pointer;
LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE; LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD; EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;stdcall;
LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT; DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint; PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;stdcall;
LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR); LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);stdcall;
PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint; PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT; WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
FARPROC = pointer; FARPROC = pointer;
PROC = FARPROC; PROC = FARPROC;
ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL; ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;stdcall;
ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL; ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;stdcall;
ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL; ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;stdcall;
DESKTOPENUMPROC = FARPROC; DESKTOPENUMPROC = FARPROC;
ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL; ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;stdcall;
ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL; ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;stdcall;
SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT); SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);stdcall;
TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD); TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);stdcall;
GRAYSTRINGPROC = FARPROC; GRAYSTRINGPROC = FARPROC;
DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL; DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;stdcall;
PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL; PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;stdcall;
PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL; PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;stdcall;
HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT; HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;stdcall;
ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM); ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);stdcall;
LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM); LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);stdcall;
TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL; TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;stdcall;
LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT; LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint; ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;stdcall;
EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:INT):LONG;CDECL; EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:INT):LONG;stdcall;
PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint; PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL; LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL; CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL; DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL; TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL; CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL; PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;stdcall;
LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL; LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;stdcall;
PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT; PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;stdcall;
PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT; PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;stdcall;
PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL; PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;stdcall;
(* Not convertable by H2PAS (* Not convertable by H2PAS
#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
@ -655,10 +655,11 @@
type type
CALLB = procedure ;CDECL;
{ PFNCALLBACK = CALLB; } { PFNCALLBACK = CALLB; }
PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;cdecl; PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;stdcall;
{ CALLB = procedure ;CDECL; }
CALLB = PFNCALLBACK;
SECURITY_CONTEXT_TRACKING_MODE = WINBOOL; SECURITY_CONTEXT_TRACKING_MODE = WINBOOL;
{ End of stuff from ddeml.h in old Cygnus headers } { End of stuff from ddeml.h in old Cygnus headers }
@ -940,7 +941,10 @@ type
{ {
$Log$ $Log$
Revision 1.3 2000-08-16 18:35:19 peter Revision 1.4 2000-10-11 16:05:56 peter
* stdcall for callbacks (merged)
Revision 1.3 2000/08/16 18:35:19 peter
* removed word=word declaration * removed word=word declaration
Revision 1.2 2000/07/13 11:33:58 michael Revision 1.2 2000/07/13 11:33:58 michael

View File

@ -4142,7 +4142,7 @@
TMSG = MSG; TMSG = MSG;
PMSG = ^MSG; PMSG = ^MSG;
MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO); MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO);stdcall;
TMSGBOXCALLBACK = MSGBOXCALLBACK; TMSGBOXCALLBACK = MSGBOXCALLBACK;
MSGBOXPARAMS = record MSGBOXPARAMS = record
@ -4973,7 +4973,7 @@
TPROCESSINFORMATION = PROCESS_INFORMATION; TPROCESSINFORMATION = PROCESS_INFORMATION;
PPROCESSINFORMATION = ^PROCESS_INFORMATION; PPROCESSINFORMATION = ^PROCESS_INFORMATION;
LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT; LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT;stdcall;
TFNPSPCALLBACK = LPFNPSPCALLBACK; TFNPSPCALLBACK = LPFNPSPCALLBACK;
PROPSHEETPAGE = record PROPSHEETPAGE = record
@ -5037,10 +5037,10 @@
PPROPSHEETHEADER = ^PROPSHEETHEADER; PPROPSHEETHEADER = ^PROPSHEETHEADER;
{ PropertySheet callbacks } { PropertySheet callbacks }
LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL; LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL;stdcall;
TFNADDPROPSHEETPAGE = LPFNADDPROPSHEETPAGE; TFNADDPROPSHEETPAGE = LPFNADDPROPSHEETPAGE;
LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL; LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL;stdcall;
TFNADDPROPSHEETPAGES = LPFNADDPROPSHEETPAGES; TFNADDPROPSHEETPAGES = LPFNADDPROPSHEETPAGES;
PROTOCOL_INFO = record PROTOCOL_INFO = record
@ -6202,17 +6202,17 @@
TNETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT; TNETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT;
PNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT; PNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT;
ENUMMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint; ENUMMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint;stdcall;
ENHMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint; ENHMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint;stdcall;
ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint; ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint;stdcall;
FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint; FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint;stdcall;
FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint; FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint;stdcall;
LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED); LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED);stdcall;
{ Structures for the extensions to OpenGL } { Structures for the extensions to OpenGL }
@ -6961,7 +6961,10 @@ type
{ {
$Log$ $Log$
Revision 1.2 2000-07-13 11:34:01 michael Revision 1.3 2000-10-11 16:05:56 peter
* stdcall for callbacks (merged)
Revision 1.2 2000/07/13 11:34:01 michael
+ removed logs + removed logs
} }

View File

@ -454,7 +454,7 @@ function FindExecutable(_para1:LPCWSTR; _para2:LPCWSTR; _para3:LPCWSTR):HINST; e
function ShellAbout(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:HICON):longint; external 'shell32' name 'ShellAboutW'; function ShellAbout(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:HICON):longint; external 'shell32' name 'ShellAboutW';
function ShellExecute(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:LPCWSTR;_para6:longint):HINST; external 'shell32' name 'ShellExecuteW'; function ShellExecute(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:LPCWSTR;_para6:longint):HINST; external 'shell32' name 'ShellExecuteW';
function DdeCreateStringHandle(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW'; function DdeCreateStringHandle(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW';
function DdeInitialize(_para1:LPDWORD; _para2:CALLB; _para3:DWORD; _para4:DWORD):UINT; external 'user32' name 'DdeInitializeW'; function DdeInitialize(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT; external 'user32' name 'DdeInitializeW';
function DdeQueryString(_para1:DWORD; _para2:HSZ; _para3:LPCWSTR; _para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringW'; function DdeQueryString(_para1:DWORD; _para2:HSZ; _para3:LPCWSTR; _para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringW';
function LogonUser(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserW'; function LogonUser(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserW';
function CreateProcessAsUser(_para1:HANDLE; _para2:LPCWSTR; _para3:LPWSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCWSTR; _para10:LPSTARTUPINFO;_para11:LPPROCESS_INFORMATION):WINBOOL function CreateProcessAsUser(_para1:HANDLE; _para2:LPCWSTR; _para3:LPWSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCWSTR; _para10:LPSTARTUPINFO;_para11:LPPROCESS_INFORMATION):WINBOOL
@ -493,7 +493,10 @@ end;
{ {
$Log$ $Log$
Revision 1.2 2000-07-13 11:34:03 michael Revision 1.3 2000-10-11 16:05:56 peter
* stdcall for callbacks (merged)
Revision 1.2 2000/07/13 11:34:03 michael
+ removed logs + removed logs
} }

View File

@ -454,7 +454,7 @@ function FindExecutableW(_para1:LPCWSTR; _para2:LPCWSTR; _para3:LPCWSTR):HINST;
function ShellAboutW(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:HICON):longint; external 'shell32' name 'ShellAboutW'; function ShellAboutW(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:HICON):longint; external 'shell32' name 'ShellAboutW';
function ShellExecuteW(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:LPCWSTR;_para6:longint):HINST; external 'shell32' name 'ShellExecuteW'; function ShellExecuteW(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:LPCWSTR;_para6:longint):HINST; external 'shell32' name 'ShellExecuteW';
function DdeCreateStringHandleW(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW'; function DdeCreateStringHandleW(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW';
function DdeInitializeW(_para1:LPDWORD; _para2:CALLB; _para3:DWORD; _para4:DWORD):UINT; external 'user32' name 'DdeInitializeW'; function DdeInitializeW(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT; external 'user32' name 'DdeInitializeW';
function DdeQueryStringW(_para1:DWORD; _para2:HSZ; _para3:LPCWSTR; _para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringW'; function DdeQueryStringW(_para1:DWORD; _para2:HSZ; _para3:LPCWSTR; _para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringW';
function LogonUserW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserW'; function LogonUserW(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserW';
function CreateProcessAsUserW(_para1:HANDLE; _para2:LPCWSTR; _para3:LPWSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCWSTR; function CreateProcessAsUserW(_para1:HANDLE; _para2:LPCWSTR; _para3:LPWSTR; _para4:LPSECURITY_ATTRIBUTES; _para5:LPSECURITY_ATTRIBUTES;_para6:WINBOOL; _para7:DWORD; _para8:LPVOID; _para9:LPCWSTR;
@ -493,7 +493,10 @@ end;
{ {
$Log$ $Log$
Revision 1.2 2000-07-13 11:34:03 michael Revision 1.3 2000-10-11 16:05:56 peter
* stdcall for callbacks (merged)
Revision 1.2 2000/07/13 11:34:03 michael
+ removed logs + removed logs
} }