mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 21:09:24 +02:00
* updated func.inc(unidef.inc) : memory, thread, heap
* updated defines.inc required consts (from kfuncs.h) git-svn-id: trunk@932 -
This commit is contained in:
parent
eaf75955e8
commit
91cb984db0
@ -2239,7 +2239,8 @@ Const
|
||||
LMEM_LOCKCOUNT = 255;
|
||||
LMEM_DISCARDABLE = 3840;
|
||||
LMEM_DISCARDED = 16384;
|
||||
LMEM_INVALID_HANDLE = 32768;
|
||||
LMEM_INVALID_HANDLE = 32768;
|
||||
LMEM_VALID_FLAGS=$0F72; //+winbase
|
||||
{ LockFileEx }
|
||||
LOCKFILE_FAIL_IMMEDIATELY = 1;
|
||||
LOCKFILE_EXCLUSIVE_LOCK = 2;
|
||||
@ -2939,7 +2940,35 @@ Const
|
||||
UNIVERSAL_NAME_INFO_LEVEL = 1;
|
||||
REMOTE_NAME_INFO_LEVEL = 2;
|
||||
{ GetExitCodeThread }
|
||||
STILL_ACTIVE = $103;
|
||||
STILL_ACTIVE = $103;
|
||||
|
||||
{ kfuncs consts } //+kfuncs
|
||||
|
||||
{$ifdef ARM}
|
||||
PUserKData = $FFFFC800;
|
||||
{$else}
|
||||
PUserKData = $00005800;
|
||||
{$endif ARM}
|
||||
|
||||
SYSHANDLE_OFFSET = $004;
|
||||
NUM_SYS_HANDLES = 32;
|
||||
SYS_HANDLE_BASE = 64;
|
||||
SH_WIN32 = 0;
|
||||
SH_CURTHREAD = 1;
|
||||
SH_CURPROC = 2;
|
||||
SH_LAST_NOTIFY = 16; // Last set notified on Thread/Process Termination
|
||||
SH_GDI = 16;
|
||||
SH_WMGR = 17;
|
||||
SH_WNET = 18; // WNet APIs for network redirector
|
||||
SH_COMM = 19; // Communications not "COM"
|
||||
SH_FILESYS_APIS = 20; // File system APIS
|
||||
SH_SHELL = 21;
|
||||
SH_DEVMGR_APIS = 22; // File system device manager
|
||||
SH_TAPI = 23;
|
||||
SH_PATCHER = 24;
|
||||
SH_SERVICES = 26;
|
||||
SH_LASTRESERVED = 26;
|
||||
|
||||
{ COMMPROP structure }
|
||||
SP_SERIALCOMM = $1;
|
||||
BAUD_075 = $1;
|
||||
|
@ -50,20 +50,72 @@
|
||||
|
||||
{$ifdef read_interface}
|
||||
//begin common win32 & wince
|
||||
function DisableThreadLibraryCalls(hLibModule:HMODULE):WINBOOL; external KernelDLL name 'DisableThreadLibraryCalls';
|
||||
procedure ExitThread(dwExitCode:DWORD); external KernelDLL name 'ExitThread';
|
||||
function FlushInstructionCache(hProcess:HANDLE; lpBaseAddress:LPCVOID; dwSize:DWORD):WINBOOL; external KernelDLL name 'FlushInstructionCache';
|
||||
function FreeLibrary(hLibModule:HMODULE):WINBOOL; external KernelDLL name 'FreeLibrary';
|
||||
procedure FreeLibraryAndExitThread(hLibModule:HMODULE; dwExitCode:DWORD); external KernelDLL name 'FreeLibraryAndExitThread';
|
||||
function GetDlgCtrlID(hWnd:HWND):longint; external UserDLL name 'GetDlgCtrlID';
|
||||
function GetExitCodeProcess(hProcess:HANDLE; lpExitCode:LPDWORD):WINBOOL; external KernelDLL name 'GetExitCodeProcess';
|
||||
function GetExitCodeThread(hThread:HANDLE; lpExitCode:LPDWORD):WINBOOL; external KernelDLL name 'GetExitCodeThread';
|
||||
function GetLastError:DWORD; external KernelDLL name 'GetLastError';
|
||||
function GetProcessHeap:HANDLE; external KernelDLL name 'GetProcessHeap';
|
||||
function GetThreadPriority(hThread:HANDLE):Integer; external KernelDLL name 'GetThreadPriority';
|
||||
function GetThreadTimes(hThread:HANDLE; lpCreationTime:LPFILETIME; lpExitTime:LPFILETIME; lpKernelTime:LPFILETIME; lpUserTime:LPFILETIME):WINBOOL; external KernelDLL name 'GetThreadTimes';
|
||||
function GetWindow(hWnd:HWND; uCmd:UINT):HWND; external UserDLL name 'GetWindow';
|
||||
function GlobalDiscard(hglbMem:HGLOBAL):HGLOBAL;
|
||||
procedure GlobalMemoryStatus(lpBuffer:LPMEMORYSTATUS); external KernelDLL name 'GlobalMemoryStatus';
|
||||
function HeapAlloc(hHeap:HANDLE; dwFlags:DWORD; dwBytes:DWORD):LPVOID; external KernelDLL name 'HeapAlloc';
|
||||
function HeapAllocTrace(hHeap:HANDLE; dwFlags:DWORD; dwBytes:DWORD; dwLineNum:DWORD; szFileName:PCHAR):LPVOID; external KernelDLL name 'HeapAllocTrace'; //+winbase
|
||||
function HeapCreate(flOptions:DWORD; dwInitialSize:DWORD; dwMaximumSize:DWORD):HANDLE; external KernelDLL name 'HeapCreate';
|
||||
function HeapDestroy(hHeap:HANDLE):WINBOOL; external KernelDLL name 'HeapDestroy';
|
||||
function HeapFree(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPVOID):WINBOOL; external KernelDLL name 'HeapFree';
|
||||
function HeapReAlloc(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPVOID; dwBytes:DWORD):LPVOID; external KernelDLL name 'HeapReAlloc';
|
||||
function HeapSize(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPCVOID):DWORD; external KernelDLL name 'HeapSize';
|
||||
function HeapValidate(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPCVOID):WINBOOL; external KernelDLL name 'HeapValidate';
|
||||
function InterlockedIncrement(lpAddend:LPLONG):LONG; external KernelDLL name 'InterlockedIncrement';
|
||||
function InterlockedDecrement(lpAddend:LPLONG):LONG; external KernelDLL name 'InterlockedDecrement';
|
||||
function InterlockedCompareExchange( var Destination:LPLONG; Exchange:LONG; Comperand:LONG):LONG; external KernelDLL name 'InterlockedCompareExchange';
|
||||
function InterlockedExchange(Target:LPLONG; Value:LONG):LONG; external KernelDLL name 'InterlockedExchange';
|
||||
function InterlockedExchangeAdd( Addend:LPLONG; Value:LONG):LONG; external KernelDLL name 'InterlockedExchangeAdd';
|
||||
function InterlockedTestExchange( Target:LPLONG; oldValue:LONG; newValue:LONG):LONG; external KernelDLL name 'InterlockedTestExchange';
|
||||
function LocalAlloc(uFlags:UINT; uBytes:UINT):HLOCAL; external KernelDLL name 'LocalAlloc';
|
||||
function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
|
||||
function LocalFree(hMem:HLOCAL):HLOCAL; external KernelDLL name 'LocalFree';
|
||||
function LocalReAlloc(hMem:HLOCAL; uBytes:UINT; uFlags:UINT):HLOCAL; external KernelDLL name 'LocalReAlloc';
|
||||
function LocalSize(hMem:HLOCAL):UINT; external KernelDLL name 'LocalSize';
|
||||
function OpenProcess(dwDesiredAccess:DWORD; bInheritHandle:WINBOOL; dwProcessId:DWORD):HANDLE; external KernelDLL name 'OpenProcess';
|
||||
procedure RaiseException(dwExceptionCode:DWORD; dwExceptionFlags:DWORD; nNumberOfArguments:DWORD; lpArguments:LPDWORD); external KernelDLL name 'RaiseException';
|
||||
procedure SetLastError(dwErrCode:DWORD); external KernelDLL name 'SetLastError';
|
||||
function SetThreadPriority(hThread:HANDLE; nPriority:Integer):WINBOOL; external KernelDLL name 'SetThreadPriority';
|
||||
function TerminateProcess(hProcess:HANDLE; uExitCode:UINT):WINBOOL; external KernelDLL name 'TerminateProcess';
|
||||
function TerminateThread(hThread:HANDLE; dwExitCode:DWORD):WINBOOL; external KernelDLL name 'TerminateThread';
|
||||
function VirtualAlloc(lpAddress:LPVOID; dwSize:DWORD; flAllocationType:DWORD; flProtect:DWORD):LPVOID; external KernelDLL name 'VirtualAlloc';
|
||||
function VirtualProtect(lpAddress:LPVOID; dwSize:DWORD; flNewProtect:DWORD; lpflOldProtect:PDWORD):WINBOOL; external KernelDLL name 'VirtualProtect';
|
||||
function VirtualQuery(lpAddress:LPCVOID; lpBuffer:PMEMORY_BASIC_INFORMATION; dwLength:DWORD):DWORD; external KernelDLL name 'VirtualQuery';
|
||||
function VirtualFree(lpAddress:LPVOID; dwSize:DWORD; dwFreeType:DWORD):WINBOOL; external KernelDLL name 'VirtualFree';
|
||||
//end common win32 & wince
|
||||
|
||||
{$ifdef WINCE}
|
||||
//begin wince only
|
||||
//calculated value
|
||||
function GetCurrentProcess:HANDLE;
|
||||
//calculated value
|
||||
function GetCurrentProcessId:DWORD;
|
||||
//calculated value
|
||||
function GetCurrentThread:HANDLE;
|
||||
//calculated value
|
||||
function GetCurrentThreadId:DWORD;
|
||||
//redirected to LocalAlloc
|
||||
function GlobalAlloc(uFlags:UINT; dwBytes:DWORD):HGLOBAL;
|
||||
//redirected to LocalFree
|
||||
function GlobalFree(hMem:HGLOBAL):HGLOBAL;
|
||||
//redirected to LocalRealloc
|
||||
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL;
|
||||
//redirected to LocalSize
|
||||
function GlobalSize(hMem:HGLOBAL):DWORD;
|
||||
//redirected to TerminateProcess
|
||||
procedure ExitProcess(uExitCode:UINT);
|
||||
|
||||
//end wince only
|
||||
{$endif WINCE}
|
||||
@ -72,96 +124,64 @@ function InterlockedTestExchange( Target:LPLONG; oldValue:LONG; newValue:LONG):L
|
||||
//begin win32 only
|
||||
function AccessCheck(pSecurityDescriptor:PSECURITY_DESCRIPTOR; ClientToken:HANDLE; DesiredAccess:DWORD; GenericMapping:PGENERIC_MAPPING; PrivilegeSet:PPRIVILEGE_SET;PrivilegeSetLength:LPDWORD;
|
||||
GrantedAccess:LPDWORD; AccessStatus:LPBOOL):WINBOOL; external 'advapi32' name 'AccessCheck';
|
||||
//end win32 only
|
||||
|
||||
|
||||
//begin win32 or wince not checked
|
||||
function LockResource(hResData:HGLOBAL):LPVOID; external 'kernel32' name 'LockResource';
|
||||
function CreateIoCompletionPort(FileHandle:HANDLE; ExistingCompletionPort:HANDLE; CompletionKey:DWORD; NumberOfConcurrentThreads:DWORD):HANDLE; external 'kernel32' name 'CreateIoCompletionPort';
|
||||
function CreateRemoteThread(hProcess:HANDLE; lpThreadAttributes:LPSECURITY_ATTRIBUTES; dwStackSize:DWORD; lpStartAddress:LPTHREAD_START_ROUTINE; lpParameter:LPVOID;
|
||||
dwCreationFlags:DWORD; lpThreadId:LPDWORD):HANDLE; external 'kernel32' name 'CreateRemoteThread';
|
||||
procedure ExitProcess(uExitCode:UINT);external 'kernel32' name 'ExitProcess';
|
||||
procedure FatalExit(ExitCode:longint); external 'kernel32' name 'FatalExit';
|
||||
function FreeResource(hResData:HGLOBAL):WINBOOL; external 'kernel32' name 'FreeResource';
|
||||
function GetCurrentProcess:HANDLE; external 'kernel32' name 'GetCurrentProcess';
|
||||
function GetCurrentProcessId:DWORD; external 'kernel32' name 'GetCurrentProcessId';
|
||||
function GetCurrentThread:HANDLE; external 'kernel32' name 'GetCurrentThread';
|
||||
function GetCurrentThreadId:DWORD; external 'kernel32' name 'GetCurrentThreadId';
|
||||
function GetProcAddress(hModule:HINST; lpProcName:LPCSTR):FARPROC; external 'kernel32' name 'GetProcAddress';
|
||||
function GetProcessAffinityMask(hProcess:HANDLE; lpProcessAffinityMask:LPDWORD; lpSystemAffinityMask:LPDWORD):WINBOOL; external 'kernel32' name 'GetProcessAffinityMask';
|
||||
function GetProcessHeaps(NumberOfHeaps:DWORD; ProcessHeaps:PHANDLE):DWORD; external 'kernel32' name 'GetProcessHeaps';
|
||||
function GetProcessTimes(hProcess:HANDLE; lpCreationTime:LPFILETIME; lpExitTime:LPFILETIME; lpKernelTime:LPFILETIME; lpUserTime:LPFILETIME):WINBOOL; external 'kernel32' name 'GetProcessTimes';
|
||||
function GetProcessWorkingSetSize(hProcess:HANDLE; lpMinimumWorkingSetSize:LPDWORD; lpMaximumWorkingSetSize:LPDWORD):WINBOOL; external 'kernel32' name 'GetProcessWorkingSetSize';
|
||||
{$ifdef LPLDT_ENTRY}
|
||||
function GetThreadSelectorEntry(hThread:HANDLE; dwSelector:DWORD; lpSelectorEntry:LPLDT_ENTRY):WINBOOL; external 'kernel32' name 'GetThreadSelectorEntry';
|
||||
{$endif LPLDT_ENTRY}
|
||||
function GetVersion:DWORD; external 'kernel32' name 'GetVersion';
|
||||
function GlobalAlloc(uFlags:UINT; dwBytes:DWORD):HGLOBAL; external 'kernel32' name 'GlobalAlloc';
|
||||
function GlobalCompact(dwMinFree:DWORD):UINT; external 'kernel32' name 'GlobalCompact';
|
||||
procedure GlobalFix(hMem:HGLOBAL); external 'kernel32' name 'GlobalFix';
|
||||
function GlobalFlags(hMem:HGLOBAL):UINT; external 'kernel32' name 'GlobalFlags';
|
||||
function GlobalFree(hMem:HGLOBAL):HGLOBAL; external 'kernel32' name 'GlobalFree';
|
||||
function GlobalHandle(pMem:LPCVOID):HGLOBAL; external 'kernel32' name 'GlobalHandle';
|
||||
function GlobalLock(hMem:HGLOBAL):LPVOID; external 'kernel32' name 'GlobalLock';
|
||||
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL; external 'kernel32' name 'GlobalReAlloc';
|
||||
function GlobalSize(hMem:HGLOBAL):DWORD; external 'kernel32' name 'GlobalSize';
|
||||
procedure GlobalUnfix(hMem:HGLOBAL); external 'kernel32' name 'GlobalUnfix';
|
||||
function GlobalUnlock(hMem:HGLOBAL):WINBOOL; external 'kernel32' name 'GlobalUnlock';
|
||||
function GlobalUnWire(hMem:HGLOBAL):WINBOOL; external 'kernel32' name 'GlobalUnWire';
|
||||
function GlobalWire(hMem:HGLOBAL):LPVOID; external 'kernel32' name 'GlobalWire';
|
||||
function HeapCompact(hHeap:HANDLE; dwFlags:DWORD):UINT; external 'kernel32' name 'HeapCompact';
|
||||
function HeapLock(hHeap:HANDLE):WINBOOL; external 'kernel32' name 'HeapLock';
|
||||
function HeapUnlock(hHeap:HANDLE):WINBOOL; external 'kernel32' name 'HeapUnlock';
|
||||
function HeapWalk(hHeap:HANDLE; lpEntry:LPPROCESS_HEAP_ENTRY):WINBOOL; external 'kernel32' name 'HeapWalk';
|
||||
function LocalCompact(uMinFree:UINT):UINT; external 'kernel32' name 'LocalCompact';
|
||||
function LocalFlags(hMem:HLOCAL):UINT; external 'kernel32' name 'LocalFlags';
|
||||
function LocalHandle(pMem:LPCVOID):HLOCAL; external 'kernel32' name 'LocalHandle';
|
||||
function LocalLock(hMem:HLOCAL):LPVOID; external 'kernel32' name 'LocalLock';
|
||||
function LocalShrink(hMem:HLOCAL; cbNewSize:UINT):UINT; external 'kernel32' name 'LocalShrink';
|
||||
function LocalUnlock(hMem:HLOCAL):WINBOOL; external 'kernel32' name 'LocalUnlock';
|
||||
function LockResource(hResData:HGLOBAL):LPVOID; external 'kernel32' name 'LockResource';
|
||||
function SetErrorMode(uMode:UINT):UINT; external 'kernel32' name 'SetErrorMode';
|
||||
function SetProcessWorkingSetSize(hProcess:HANDLE; dwMinimumWorkingSetSize:DWORD; dwMaximumWorkingSetSize:DWORD):WINBOOL; external 'kernel32' name 'SetProcessWorkingSetSize';
|
||||
function SetThreadAffinityMask(hThread:HANDLE; dwThreadAffinityMask:DWORD):DWORD; external 'kernel32' name 'SetThreadAffinityMask';
|
||||
function UnhandledExceptionFilter(ExceptionInfo:lpemptyrecord):LONG; external 'kernel32' name 'UnhandledExceptionFilter';
|
||||
function VirtualProtectEx(hProcess:HANDLE; lpAddress:LPVOID; dwSize:DWORD; flNewProtect:DWORD; lpflOldProtect:PDWORD):WINBOOL; external 'kernel32' name 'VirtualProtectEx';
|
||||
function VirtualQueryEx(hProcess:HANDLE; lpAddress:LPCVOID; lpBuffer:PMEMORY_BASIC_INFORMATION; dwLength:DWORD):DWORD; external 'kernel32' name 'VirtualQueryEx';
|
||||
|
||||
{$ifdef Unknown_functions}
|
||||
{ WARNING: function not found !!}
|
||||
function WinMain(hInstance:HINST; hPrevInstance:HINST; lpCmdLine:LPSTR; nShowCmd:longint):longint; external External_library name 'WinMain';
|
||||
{$endif Unknown_functions}
|
||||
function DisableThreadLibraryCalls(hLibModule:HMODULE):WINBOOL; external 'kernel32' name 'DisableThreadLibraryCalls';
|
||||
function GetProcAddress(hModule:HINST; lpProcName:LPCSTR):FARPROC; external 'kernel32' name 'GetProcAddress';
|
||||
function GetVersion:DWORD; external 'kernel32' name 'GetVersion';
|
||||
function GlobalAlloc(uFlags:UINT; dwBytes:DWORD):HGLOBAL; external 'kernel32' name 'GlobalAlloc';
|
||||
function GlobalDiscard(hglbMem:HGLOBAL):HGLOBAL;
|
||||
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL; external 'kernel32' name 'GlobalReAlloc';
|
||||
function GlobalSize(hMem:HGLOBAL):DWORD; external 'kernel32' name 'GlobalSize';
|
||||
function GlobalFlags(hMem:HGLOBAL):UINT; external 'kernel32' name 'GlobalFlags';
|
||||
function GlobalLock(hMem:HGLOBAL):LPVOID; external 'kernel32' name 'GlobalLock';
|
||||
function GlobalHandle(pMem:LPCVOID):HGLOBAL; external 'kernel32' name 'GlobalHandle';
|
||||
function GlobalUnlock(hMem:HGLOBAL):WINBOOL; external 'kernel32' name 'GlobalUnlock';
|
||||
function GlobalFree(hMem:HGLOBAL):HGLOBAL; external 'kernel32' name 'GlobalFree';
|
||||
function GlobalCompact(dwMinFree:DWORD):UINT; external 'kernel32' name 'GlobalCompact';
|
||||
procedure GlobalFix(hMem:HGLOBAL); external 'kernel32' name 'GlobalFix';
|
||||
procedure GlobalUnfix(hMem:HGLOBAL); external 'kernel32' name 'GlobalUnfix';
|
||||
function GlobalWire(hMem:HGLOBAL):LPVOID; external 'kernel32' name 'GlobalWire';
|
||||
function GlobalUnWire(hMem:HGLOBAL):WINBOOL; external 'kernel32' name 'GlobalUnWire';
|
||||
procedure GlobalMemoryStatus(lpBuffer:LPMEMORYSTATUS); external 'kernel32' name 'GlobalMemoryStatus';
|
||||
function LocalAlloc(uFlags:UINT; uBytes:UINT):HLOCAL; external 'kernel32' name 'LocalAlloc';
|
||||
function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
|
||||
function LocalReAlloc(hMem:HLOCAL; uBytes:UINT; uFlags:UINT):HLOCAL; external 'kernel32' name 'LocalReAlloc';
|
||||
function LocalLock(hMem:HLOCAL):LPVOID; external 'kernel32' name 'LocalLock';
|
||||
function LocalHandle(pMem:LPCVOID):HLOCAL; external 'kernel32' name 'LocalHandle';
|
||||
function LocalUnlock(hMem:HLOCAL):WINBOOL; external 'kernel32' name 'LocalUnlock';
|
||||
function LocalSize(hMem:HLOCAL):UINT; external 'kernel32' name 'LocalSize';
|
||||
function LocalFlags(hMem:HLOCAL):UINT; external 'kernel32' name 'LocalFlags';
|
||||
function LocalFree(hMem:HLOCAL):HLOCAL; external 'kernel32' name 'LocalFree';
|
||||
function LocalShrink(hMem:HLOCAL; cbNewSize:UINT):UINT; external 'kernel32' name 'LocalShrink';
|
||||
function LocalCompact(uMinFree:UINT):UINT; external 'kernel32' name 'LocalCompact';
|
||||
function FlushInstructionCache(hProcess:HANDLE; lpBaseAddress:LPCVOID; dwSize:DWORD):WINBOOL; external 'kernel32' name 'FlushInstructionCache';
|
||||
function VirtualAlloc(lpAddress:LPVOID; dwSize:DWORD; flAllocationType:DWORD; flProtect:DWORD):LPVOID; external 'kernel32' name 'VirtualAlloc';
|
||||
function VirtualFree(lpAddress:LPVOID; dwSize:DWORD; dwFreeType:DWORD):WINBOOL; external 'kernel32' name 'VirtualFree';
|
||||
function VirtualProtect(lpAddress:LPVOID; dwSize:DWORD; flNewProtect:DWORD; lpflOldProtect:PDWORD):WINBOOL; external 'kernel32' name 'VirtualProtect';
|
||||
function VirtualQuery(lpAddress:LPCVOID; lpBuffer:PMEMORY_BASIC_INFORMATION; dwLength:DWORD):DWORD; external 'kernel32' name 'VirtualQuery';
|
||||
function VirtualProtectEx(hProcess:HANDLE; lpAddress:LPVOID; dwSize:DWORD; flNewProtect:DWORD; lpflOldProtect:PDWORD):WINBOOL; external 'kernel32' name 'VirtualProtectEx';
|
||||
function VirtualQueryEx(hProcess:HANDLE; lpAddress:LPCVOID; lpBuffer:PMEMORY_BASIC_INFORMATION; dwLength:DWORD):DWORD; external 'kernel32' name 'VirtualQueryEx';
|
||||
function HeapCreate(flOptions:DWORD; dwInitialSize:DWORD; dwMaximumSize:DWORD):HANDLE; external 'kernel32' name 'HeapCreate';
|
||||
function HeapDestroy(hHeap:HANDLE):WINBOOL; external 'kernel32' name 'HeapDestroy';
|
||||
function HeapAlloc(hHeap:HANDLE; dwFlags:DWORD; dwBytes:DWORD):LPVOID; external 'kernel32' name 'HeapAlloc';
|
||||
function HeapReAlloc(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPVOID; dwBytes:DWORD):LPVOID; external 'kernel32' name 'HeapReAlloc';
|
||||
function HeapFree(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPVOID):WINBOOL; external 'kernel32' name 'HeapFree';
|
||||
function HeapSize(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPCVOID):DWORD; external 'kernel32' name 'HeapSize';
|
||||
function HeapValidate(hHeap:HANDLE; dwFlags:DWORD; lpMem:LPCVOID):WINBOOL; external 'kernel32' name 'HeapValidate';
|
||||
function HeapCompact(hHeap:HANDLE; dwFlags:DWORD):UINT; external 'kernel32' name 'HeapCompact';
|
||||
function GetProcessHeap:HANDLE; external 'kernel32' name 'GetProcessHeap';
|
||||
function GetProcessHeaps(NumberOfHeaps:DWORD; ProcessHeaps:PHANDLE):DWORD; external 'kernel32' name 'GetProcessHeaps';
|
||||
function HeapLock(hHeap:HANDLE):WINBOOL; external 'kernel32' name 'HeapLock';
|
||||
function HeapUnlock(hHeap:HANDLE):WINBOOL; external 'kernel32' name 'HeapUnlock';
|
||||
function HeapWalk(hHeap:HANDLE; lpEntry:LPPROCESS_HEAP_ENTRY):WINBOOL; external 'kernel32' name 'HeapWalk';
|
||||
function GetProcessAffinityMask(hProcess:HANDLE; lpProcessAffinityMask:LPDWORD; lpSystemAffinityMask:LPDWORD):WINBOOL; external 'kernel32' name 'GetProcessAffinityMask';
|
||||
function GetProcessTimes(hProcess:HANDLE; lpCreationTime:LPFILETIME; lpExitTime:LPFILETIME; lpKernelTime:LPFILETIME; lpUserTime:LPFILETIME):WINBOOL; external 'kernel32' name 'GetProcessTimes';
|
||||
function GetProcessWorkingSetSize(hProcess:HANDLE; lpMinimumWorkingSetSize:LPDWORD; lpMaximumWorkingSetSize:LPDWORD):WINBOOL; external 'kernel32' name 'GetProcessWorkingSetSize';
|
||||
function SetProcessWorkingSetSize(hProcess:HANDLE; dwMinimumWorkingSetSize:DWORD; dwMaximumWorkingSetSize:DWORD):WINBOOL; external 'kernel32' name 'SetProcessWorkingSetSize';
|
||||
function OpenProcess(dwDesiredAccess:DWORD; bInheritHandle:WINBOOL; dwProcessId:DWORD):HANDLE; external 'kernel32' name 'OpenProcess';
|
||||
function GetCurrentProcess:HANDLE; external 'kernel32' name 'GetCurrentProcess';
|
||||
function GetCurrentProcessId:DWORD; external 'kernel32' name 'GetCurrentProcessId';
|
||||
procedure ExitProcess(uExitCode:UINT);external 'kernel32' name 'ExitProcess';
|
||||
function TerminateProcess(hProcess:HANDLE; uExitCode:UINT):WINBOOL; external 'kernel32' name 'TerminateProcess';
|
||||
function GetExitCodeProcess(hProcess:HANDLE; lpExitCode:LPDWORD):WINBOOL; external 'kernel32' name 'GetExitCodeProcess';
|
||||
procedure FatalExit(ExitCode:longint); external 'kernel32' name 'FatalExit';
|
||||
procedure RaiseException(dwExceptionCode:DWORD; dwExceptionFlags:DWORD; nNumberOfArguments:DWORD; lpArguments:LPDWORD); external 'kernel32' name 'RaiseException';
|
||||
function UnhandledExceptionFilter(ExceptionInfo:lpemptyrecord):LONG; external 'kernel32' name 'UnhandledExceptionFilter';
|
||||
function CreateRemoteThread(hProcess:HANDLE; lpThreadAttributes:LPSECURITY_ATTRIBUTES; dwStackSize:DWORD; lpStartAddress:LPTHREAD_START_ROUTINE; lpParameter:LPVOID;
|
||||
dwCreationFlags:DWORD; lpThreadId:LPDWORD):HANDLE; external 'kernel32' name 'CreateRemoteThread';
|
||||
function GetCurrentThread:HANDLE; external 'kernel32' name 'GetCurrentThread';
|
||||
function GetCurrentThreadId:DWORD; external 'kernel32' name 'GetCurrentThreadId';
|
||||
function SetThreadAffinityMask(hThread:HANDLE; dwThreadAffinityMask:DWORD):DWORD; external 'kernel32' name 'SetThreadAffinityMask';
|
||||
function SetThreadPriority(hThread:HANDLE; nPriority:longint):WINBOOL; external 'kernel32' name 'SetThreadPriority';
|
||||
function GetThreadPriority(hThread:HANDLE):longint; external 'kernel32' name 'GetThreadPriority';
|
||||
function GetThreadTimes(hThread:HANDLE; lpCreationTime:LPFILETIME; lpExitTime:LPFILETIME; lpKernelTime:LPFILETIME; lpUserTime:LPFILETIME):WINBOOL; external 'kernel32' name 'GetThreadTimes';
|
||||
procedure ExitThread(dwExitCode:DWORD); external 'kernel32' name 'ExitThread';
|
||||
function TerminateThread(hThread:HANDLE; dwExitCode:DWORD):WINBOOL; external 'kernel32' name 'TerminateThread';
|
||||
function GetExitCodeThread(hThread:HANDLE; lpExitCode:LPDWORD):WINBOOL; external 'kernel32' name 'GetExitCodeThread';
|
||||
{$ifdef LPLDT_ENTRY}
|
||||
function GetThreadSelectorEntry(hThread:HANDLE; dwSelector:DWORD; lpSelectorEntry:LPLDT_ENTRY):WINBOOL; external 'kernel32' name 'GetThreadSelectorEntry';
|
||||
{$endif LPLDT_ENTRY}
|
||||
function GetLastError:DWORD; external 'kernel32' name 'GetLastError';
|
||||
procedure SetLastError(dwErrCode:DWORD); external 'kernel32' name 'SetLastError';
|
||||
function CreateIoCompletionPort(FileHandle:HANDLE; ExistingCompletionPort:HANDLE; CompletionKey:DWORD; NumberOfConcurrentThreads:DWORD):HANDLE; external 'kernel32' name 'CreateIoCompletionPort';
|
||||
function SetErrorMode(uMode:UINT):UINT; external 'kernel32' name 'SetErrorMode';
|
||||
//end win32 only
|
||||
|
||||
|
||||
//begin win32 or wince not checked
|
||||
function ReadProcessMemory(hProcess:HANDLE; lpBaseAddress:LPCVOID; lpBuffer:LPVOID; nSize:DWORD; lpNumberOfBytesRead:LPDWORD):WINBOOL; external 'kernel32' name 'ReadProcessMemory';
|
||||
function WriteProcessMemory(hProcess:HANDLE; lpBaseAddress:LPVOID; lpBuffer:LPVOID; nSize:DWORD; lpNumberOfBytesWritten:LPDWORD):WINBOOL; external 'kernel32' name 'WriteProcessMemory';
|
||||
function GetThreadContext(hThread:HANDLE; lpContext:LPCONTEXT):WINBOOL; external 'kernel32' name 'GetThreadContext';
|
||||
@ -1286,17 +1306,73 @@ function SetLayeredWindowAttributes(HWND:hwnd;crKey :COLORREF;bAlpha : byte;dwFl
|
||||
|
||||
//begin common win32 & wince
|
||||
|
||||
function GlobalDiscard(hglbMem:HGLOBAL):HGLOBAL;
|
||||
begin
|
||||
GlobalDiscard:=GlobalReAlloc(hglbMem,0,GMEM_MOVEABLE);
|
||||
end;
|
||||
|
||||
function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
|
||||
begin
|
||||
LocalDiscard := LocalReAlloc(hlocMem,0,LMEM_MOVEABLE);
|
||||
end;
|
||||
|
||||
//end common win32 & wince
|
||||
|
||||
{$ifdef WINCE}
|
||||
//begin wince only
|
||||
function GetCurrentThread:HANDLE;
|
||||
begin
|
||||
GetCurrentThread:=SH_CURTHREAD+SYS_HANDLE_BASE;
|
||||
end;
|
||||
|
||||
function GetCurrentThreadId:DWORD;
|
||||
begin
|
||||
GetCurrentThreadId:=Phandle(PUserKData+SYSHANDLE_OFFSET+SH_CURTHREAD*SizeOf(THandle))^;
|
||||
end;
|
||||
|
||||
function GetCurrentProcess:HANDLE;
|
||||
begin
|
||||
GetCurrentProcess:=SH_CURPROC+SYS_HANDLE_BASE;
|
||||
end;
|
||||
|
||||
function GetCurrentProcessId:DWORD;
|
||||
begin
|
||||
GetCurrentProcessId:=Phandle(PUserKData+SYSHANDLE_OFFSET+SH_CURPROC*SizeOf(THandle))^;
|
||||
end;
|
||||
|
||||
function GlobalAlloc(uFlags:UINT; dwBytes:DWORD):HGLOBAL;
|
||||
begin
|
||||
GlobalAlloc:=LocalAlloc(uFlags,dwBytes);
|
||||
end;
|
||||
|
||||
function GlobalFree(hMem:HGLOBAL):HGLOBAL;
|
||||
begin
|
||||
GlobalFree:=LocalFree(hMem);
|
||||
end;
|
||||
|
||||
function GlobalReAlloc(hMem:HGLOBAL; dwBytes:DWORD; uFlags:UINT):HGLOBAL;
|
||||
begin
|
||||
GlobalReAlloc:=LocalReAlloc(hMem, dwBytes, LMEM_MOVEABLE);
|
||||
end;
|
||||
|
||||
function GlobalSize(hMem:HGLOBAL):DWORD;
|
||||
begin
|
||||
GlobalSize:=LocalSize(hMem);
|
||||
end;
|
||||
|
||||
procedure ExitProcess(uExitCode:UINT);
|
||||
begin
|
||||
TerminateProcess (GetCurrentProcess, uExitCode);
|
||||
end;
|
||||
|
||||
//end wince only
|
||||
{$endif WINCE}
|
||||
|
||||
|
||||
{$ifdef WIN32}
|
||||
|
||||
//begin win32 only
|
||||
|
||||
//end win32 only
|
||||
|
||||
//begin win32 or wince not checked
|
||||
@ -1356,18 +1432,6 @@ end;
|
||||
|
||||
{ End of bug fixes for bug report 1807. PM }
|
||||
|
||||
function GlobalDiscard(hglbMem:HGLOBAL):HGLOBAL;
|
||||
begin
|
||||
GlobalDiscard:=GlobalReAlloc(hglbMem,0,GMEM_MOVEABLE);
|
||||
end;
|
||||
|
||||
|
||||
function LocalDiscard(hlocMem:HLOCAL):HLOCAL;
|
||||
begin
|
||||
LocalDiscard := LocalReAlloc(hlocMem,0,LMEM_MOVEABLE);
|
||||
end;
|
||||
|
||||
|
||||
procedure MoveMemory(Destination:PVOID; Source:pointer; Length:DWORD);
|
||||
begin
|
||||
Move(Source^,Destination^,Length);
|
||||
|
@ -193,7 +193,6 @@ function SendDlgItemMessage(hDlg:HWND; nIDDlgItem:Integer; Msg:UINT; wParam:WPAR
|
||||
function SendMessage(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):LRESULT; external UserDLL name 'SendMessageW';
|
||||
function SendNotifyMessage(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external UserDLL name 'SendNotifyMessageW';
|
||||
function SetClassLong(hWnd:HWND; nIndex:Integer; dwNewLong:LONG):DWORD; external UserDLL name 'SetClassLongW';
|
||||
|
||||
function SetDlgItemText(hDlg:HWND; nIDDlgItem:Integer; lpString:LPCWSTR):WINBOOL; external UserDLL name 'SetDlgItemTextW';
|
||||
function SetFileAttributes(lpFileName:LPCWSTR; dwFileAttributes:DWORD):WINBOOL; external KernelDLL name 'SetFileAttributesW';
|
||||
function SetLocaleInfo(Locale:LCID; LCType:LCTYPE; lpLCData:LPCWSTR):WINBOOL; external KernelDLL name 'SetLocaleInfoW';
|
||||
@ -201,7 +200,6 @@ function SetMenuItemInfo(_para1:HMENU; _para2:UINT; _para3:WINBOOL; _para4:LPCME
|
||||
function SetWindowsHookEx(idHook:longint; lpfn:HOOKPROC; hmod:HINST; dwThreadId:DWORD):HHOOK; external UserDLL name 'SetWindowsHookExW';
|
||||
function SetWindowText(hWnd:HWND; lpString:LPCWSTR):WINBOOL; external UserDLL name 'SetWindowTextW';
|
||||
function SetWindowLong(hWnd:HWND; nIndex:Integer; dwNewLong:LONG):LONG; external UserDLL name 'SetWindowLongW'; //~winuser nIndex is int
|
||||
|
||||
function ShellExecuteEx(lpExecInfo:LPSHELLEXECUTEINFO):WINBOOL; external ShellDLLCore name 'ShellExecuteEx'; //+shellapi
|
||||
function SystemParametersInfo(uiAction:UINT; uiParam:UINT; pvParam:PVOID; fWinIni:UINT):WINBOOL; external UserDLL name 'SystemParametersInfoW';
|
||||
function StartDoc(_para1:HDC; _para2:PDOCINFOW):Integer; external GdiDLL name 'StartDocW';
|
||||
@ -235,6 +233,8 @@ function EnumPropsEx(hWnd:HWND; lpEnumFunc:PROPENUMPROCEX; lParam:LPARAM):Intege
|
||||
//'...W' not exported but '...' is
|
||||
function GetCharABCWidths(_para1:HDC; _para2:UINT; _para3:UINT; _para4:LPABC):WINBOOL; external GdiDLL name 'GetCharABCWidths';
|
||||
function GetCharWidth32(_para1:HDC; _para2:UINT; _para3:UINT; _para4:LPINT):WINBOOL; external GdiDLL name 'GetCharWidth32';
|
||||
//wince has W
|
||||
function GetProcAddress(hModule:HINST; lpProcName:LPCWSTR):FARPROC; external KernelDLL name 'GetProcAddressW';
|
||||
//'GetPropW', not exported but 'GetProp' with widechar header are
|
||||
function GetProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external UserDLL name 'GetProp';
|
||||
//!header specific to CE, not in comctl32(win32)/commctl(wince) but in coredll
|
||||
@ -377,6 +377,8 @@ function GetOutlineTextMetrics(_para1:HDC; _para2:UINT; _para3:LPOUTLINETEXTMETR
|
||||
function GetProfileInt(lpAppName:LPCWSTR; lpKeyName:LPCWSTR; nDefault:WINT):UINT; external 'kernel32' name 'GetProfileIntW';
|
||||
function GetProfileString(lpAppName:LPCWSTR; lpKeyName:LPCWSTR; lpDefault:LPCWSTR; lpReturnedString:LPWSTR; nSize:DWORD):DWORD; external 'kernel32' name 'GetProfileStringW';
|
||||
function GetProfileSection(lpAppName:LPCWSTR; lpReturnedString:LPWSTR; nSize:DWORD):DWORD; external 'kernel32' name 'GetProfileSectionW';
|
||||
//was in func.inc, wince has W
|
||||
function GetProcAddress(hModule:HINST; lpProcName:LPCSTR):FARPROC; external 'kernel32' name 'GetProcAddress';
|
||||
function GetProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external 'user32' name 'GetPropW';
|
||||
function GetPrivateProfileInt(lpAppName:LPCWSTR; lpKeyName:LPCWSTR; nDefault:WINT; lpFileName:LPCWSTR):UINT; external 'kernel32' name 'GetPrivateProfileIntW';
|
||||
function GetPrivateProfileString(lpAppName:LPCWSTR; lpKeyName:LPCWSTR; lpDefault:LPCWSTR; lpReturnedString:LPWSTR; nSize:DWORD;lpFileName:LPCWSTR):DWORD; external 'kernel32' name 'GetPrivateProfileStringW';
|
||||
|
Loading…
Reference in New Issue
Block a user