source: trunk/include/win32api.h@ 21594

Last change on this file since 21594 was 21594, checked in by dmik, 14 years ago

win32api.h: Added InterlockedCompareExchange() and InterlockedExchangeAdd() declarations.

File size: 11.5 KB
Line 
1/*
2 *
3 * Win32 api include file for sources that include OS/2 headers
4 *
5 * Project Odin Software License can be found in LICENSE.TXT
6 *
7 */
8#ifndef __WIN32API_H__
9#define __WIN32API_H__
10
11#include <win32type.h>
12#include <winconst.h>
13
14void WIN32API SetLastError(DWORD dwError);
15DWORD WIN32API GetLastError(void);
16
17LONG WIN32API RegCloseKey(HKEY);
18LONG WIN32API RegFlushKey(HKEY);
19LONG WIN32API RegCreateKeyA(HKEY,LPCSTR,LPHKEY);
20LONG WIN32API RegCreateKeyW(HKEY,LPCWSTR,LPHKEY);
21LONG WIN32API RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
22 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
23LONG WIN32API RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
24 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
25LONG WIN32API RegDeleteKeyA(HKEY,LPCSTR);
26LONG WIN32API RegDeleteKeyW(HKEY,LPWSTR);
27LONG WIN32API RegDeleteValueA(HKEY,LPSTR);
28LONG WIN32API RegDeleteValueW(HKEY,LPWSTR);
29LONG WIN32API RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
30LONG WIN32API RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
31LONG WIN32API RegEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
32LONG WIN32API RegEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
33LONG WIN32API RegOpenKeyA(HKEY,LPCSTR,LPHKEY);
34LONG WIN32API RegOpenKeyW(HKEY,LPCWSTR,LPHKEY);
35LONG WIN32API RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
36LONG WIN32API RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
37LONG WIN32API RegQueryValueA(HKEY,LPCSTR,LPSTR,LPLONG);
38LONG WIN32API RegQueryValueW(HKEY,LPCWSTR,LPWSTR,LPLONG);
39LONG WIN32API RegQueryValueExA(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
40LONG WIN32API RegQueryValueExW(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
41LONG WIN32API RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
42LONG WIN32API RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
43LONG WIN32API RegSetValueExA(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
44LONG WIN32API RegSetValueExW(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
45
46DWORD WIN32API GetModuleFileNameA(HMODULE,LPSTR,DWORD);
47
48VOID WIN32API ExitProcess(DWORD exitcode);
49
50BOOL WIN32API PostMessageA(HWND,UINT,WPARAM,LPARAM);
51BOOL WIN32API PostMessageW(HWND,UINT,WPARAM,LPARAM);
52LRESULT WIN32API SendMessageA(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
53LRESULT WIN32API SendMessageW(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
54
55BOOL WIN32API IsWindow(HWND);
56
57DWORD WIN32API GetTickCount(void);
58
59HWND WIN32API WindowFromDC(HDC hdc);
60BOOL WIN32API UnmapViewOfFile(LPVOID addr);
61LPVOID WIN32API MapViewOfFile(HANDLE mapping, DWORD access, DWORD offset_high,
62 DWORD offset_low, DWORD count);
63
64HANDLE WIN32API GetCurrentProcess(void);
65DWORD WIN32API GetCurrentProcessId(void);
66HANDLE WIN32API GetCurrentThread(void);
67DWORD WIN32API GetCurrentThreadId(void);
68HANDLE WIN32API GetProcessHeap(void);
69
70LPVOID WIN32API HeapAlloc(HANDLE,DWORD,DWORD);
71DWORD WIN32API HeapCompact(HANDLE,DWORD);
72HANDLE WIN32API HeapCreate(DWORD,DWORD,DWORD);
73BOOL WIN32API HeapDestroy(HANDLE);
74BOOL WIN32API HeapFree(HANDLE,DWORD,LPVOID);
75BOOL WIN32API HeapLock(HANDLE);
76LPVOID WIN32API HeapReAlloc(HANDLE,DWORD,LPVOID,DWORD);
77DWORD WIN32API HeapSize(HANDLE,DWORD,LPVOID);
78BOOL WIN32API HeapUnlock(HANDLE);
79BOOL WIN32API HeapValidate(HANDLE,DWORD,LPCVOID);
80
81BOOL WIN32API DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
82BOOL WIN32API LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
83BOOL WIN32API FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
84BOOL WIN32API FileTimeToLocalFileTime(FILETIME*,LPFILETIME);
85
86HWND WIN32API GetDesktopWindow(void);
87INT WIN32API GetUpdateRgn(HWND, HRGN, BOOL);
88BOOL WIN32API HideCaret(HWND hwnd);
89BOOL WIN32API ShowCaret(HWND hwnd);
90HDC WIN32API GetDCEx(HWND hwnd, HRGN hrgn, ULONG flags);
91int WIN32API ReleaseDC(HWND hwnd, HDC hdc);
92int WIN32API ExtSelectClipRgn(HDC hdc, HRGN hrgn, int fnMode);
93int WIN32API SelectClipRgn( HDC hdc, HRGN hRgn);
94BOOL WIN32API GetWindowRect( HWND hwnd, RECT *pRect);
95BOOL WIN32API GetClientRect( HWND hwnd, RECT *pRect);
96int WIN32API GetStretchBltMode( HDC hdc);
97
98HRSRC WIN32API FindResourceA(HINSTANCE hModule, LPCSTR lpszName, LPCSTR lpszType);
99HRSRC WIN32API FindResourceW(HINSTANCE hModule, LPCSTR lpszName, LPCSTR lpszType);
100HGLOBAL WIN32API LoadResource(HINSTANCE hModule, HRSRC hRes);
101DWORD WIN32API SizeofResource(HINSTANCE hModule, HRSRC hRes);
102PVOID WIN32API LockResource(HGLOBAL hRes);
103
104BOOL WIN32API SetWindowOrgEx(HDC hdc, int X, int Y, LPPOINT lpPoint);
105BOOL WIN32API SetWindowExtEx(HDC hdc, int nXExtent, int nYExtent, LPSIZE lpSize);
106int WIN32API GetDeviceCaps(HDC hdc, int nIndex);
107int WIN32API GetMapMode(HDC hdc);
108BOOL WIN32API DPtoLP(HDC,LPPOINT,INT);
109BOOL WIN32API LPtoDP(HDC,LPPOINT,INT);
110BOOL WIN32API RedrawWindow(HWND,const RECT*,HRGN, DWORD);
111HGDIOBJ WIN32API SelectObject(HDC,HGDIOBJ);
112BOOL WIN32API DeleteObject(HANDLE hObj);
113DWORD WIN32API GetRegionData(HRGN,DWORD,LPRGNDATA);
114BOOL WIN32API SetRectRgn(HRGN,INT,INT,INT,INT);
115HRGN WIN32API CreateRectRgn(INT,INT,INT,INT);
116HRGN WIN32API CreateRectRgnIndirect(const RECT*);
117HRGN WIN32API CreateRoundRectRgn(INT,INT,INT,INT,INT,INT);
118INT WIN32API CombineRgn(HRGN,HRGN,HRGN,INT);
119BOOL WIN32API SetRectRgn(HRGN,INT,INT,INT,INT);
120BOOL WIN32API EnumChildWindows(HWND hwnd, WNDENUMPROC lpfn, LPARAM lParam);
121BOOL WIN32API UpdateWindow (HWND hwnd);
122BOOL WIN32API GetViewportOrgEx(HDC hdc, LPPOINT pPoint);
123BOOL WIN32API SetViewportOrgEx(HDC hdc, int xOrg, int yOrg, LPPOINT pPoint);
124BOOL WIN32API GetWindowOrgEx(HDC,LPPOINT);
125
126LPCSTR WIN32API GetCommandLineA(VOID);
127LPCWSTR WIN32API GetCommandLineW(VOID);
128
129BOOL WIN32API SetCurrentDirectoryA(LPCSTR lpstrDirectory);
130UINT WIN32API GetCurrentDirectoryA(UINT nBufferLength, LPSTR lpBuffer);
131
132HANDLE WIN32API GetStdHandle(DWORD a);
133DWORD WIN32API GetFileType(HANDLE hFile);
134
135BOOL WIN32API SetWindowPos(HWND,HWND,INT,INT,INT,INT,UINT);
136HWND WIN32API GetWindow(HWND hwnd, UINT uCmd);
137BOOL WIN32API IntersectRect( PRECT lprcDst, const RECT * lprcSrc1, const RECT * lprcSrc2);
138BOOL WIN32API OffsetRect( PRECT lprc, int x, int y);
139
140DWORD WIN32API GetTickCount(void);
141DWORD WIN32API GetCurrentThreadId();
142
143INT WIN32API ShowCursor(BOOL);
144
145BOOL WIN32API PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
146BOOL WIN32API PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
147
148DWORD WIN32API GetWindowThreadProcessId(HWND,LPDWORD);
149int WIN32API GetWindowTextA( HWND hwnd, LPSTR lpsz, int cch);
150
151BOOL WIN32API ResetEvent(HANDLE);
152BOOL WIN32API SetEvent(HANDLE);
153BOOL WIN32API PulseEvent (HANDLE hEvent);
154
155HANDLE WIN32API CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
156BOOL WIN32API SetThreadPriority(HANDLE,INT);
157INT WIN32API GetThreadPriority(HANDLE);
158VOID WIN32API ExitThread(DWORD dwExitCode);
159BOOL WIN32API TerminateThread(HANDLE hThread, DWORD dwExitCode);
160
161HWND WIN32API WindowFromPoint(POINT);
162INT WIN32API MapWindowPoints(HWND,HWND,LPPOINT,UINT);
163HWND WIN32API GetCapture(void);
164HWND WIN32API SetCapture(HWND);
165BOOL WIN32API IsWindowEnabled(HWND);
166HWND WIN32API SetActiveWindow( HWND hwnd);
167BOOL WIN32API IsWindowVisible(HWND);
168HWND WIN32API GetParent(HWND);
169BOOL WIN32API ShowWindow(HWND hwnd, INT nCmdShow);
170
171HMODULE WIN32API LoadLibraryA(LPCSTR);
172BOOL WIN32API FreeLibrary(HMODULE);
173FARPROC WIN32API GetProcAddress(HMODULE,LPCSTR);
174VOID WIN32API DeleteCriticalSection(CRITICAL_SECTION *);
175VOID WIN32API EnterCriticalSection(CRITICAL_SECTION *);
176VOID WIN32API InitializeCriticalSection(CRITICAL_SECTION *);
177VOID WIN32API LeaveCriticalSection(CRITICAL_SECTION *);
178VOID WIN32API MakeCriticalSectionGlobal(CRITICAL_SECTION *);
179LONG WIN32API InterlockedCompareExchange(PLONG dest, LONG xchg, LONG compare);
180LONG WIN32API InterlockedDecrement(LPLONG);
181LONG WIN32API InterlockedExchange(LPLONG,LONG);
182LONG WIN32API InterlockedExchangeAdd(PLONG dest, LONG incr);
183LONG WIN32API InterlockedIncrement(LPLONG);
184
185UINT WIN32API GetSystemDirectoryA(LPSTR,UINT);
186UINT WIN32API GetWindowsDirectoryA(LPSTR,UINT);
187
188BOOL WIN32API IsIconic( HWND hwnd);
189INT WIN32API GetSystemMetrics(INT);
190UINT WIN32API GetDoubleClickTime(void);
191
192UINT WIN32API SetErrorMode(UINT);
193
194UINT WIN32API GetDriveTypeA(LPCSTR);
195
196BOOL WIN32API SetProcessAffinityMask( HANDLE hProcess, DWORD affmask );
197BOOL WIN32API GetProcessAffinityMask(HANDLE hProcess,
198 LPDWORD lpProcessAffinityMask,
199 LPDWORD lpSystemAffinityMask);
200
201HANDLE WIN32API CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
202BOOL WIN32API CloseHandle(HANDLE);
203
204BOOL WIN32API OemToCharA(LPCSTR s, LPSTR d);
205BOOL WIN32API OemToCharBuffA(LPCSTR s, LPSTR d, DWORD len);
206BOOL WIN32API CharToOemA(LPCSTR s, LPSTR d);
207BOOL WIN32API CharToOemBuffA(LPCSTR s, LPSTR d, DWORD len);
208LPSTR WIN32API CharPrevA(LPCSTR start, LPCSTR ptr);
209
210LONG WIN32API GetWindowLongA(HWND,INT);
211LONG WIN32API GetWindowLongW(HWND,INT);
212
213INT WIN32API MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
214INT WIN32API MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
215
216UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
217UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
218INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
219INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
220DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
221DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
222INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
223INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
224BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
225BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
226BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
227BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
228BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
229BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
230BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
231BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
232BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
233BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
234BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
235BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
236
237BOOL WINAPI GenerateConsoleCtrlEvent( DWORD dwCtrlEvent, DWORD dwProcessGroupID);
238
239BOOL WINAPI IsWindowUnicode(HWND);
240INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,BOOL*);
241INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
242
243HDC WIN32API CreateCompatibleDC( HDC hdc);
244BOOL WIN32API DeleteDC(HDC hdc);
245
246HANDLE WINAPI GetCurrentObject(HDC,UINT);
247BOOL WIN32API ValidateRgn( HWND hwnd, HRGN hrgn);
248BOOL WIN32API ValidateRect( HWND hwnd, const RECT * lprc);
249int WIN32API GetRgnBox( HRGN hrgn, PRECT pRect);
250DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,INT,LPWORD,DWORD);
251BOOL WINAPI GetTextExtentPoint32W(HDC,LPCWSTR,INT,LPSIZE);
252BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
253
254BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
255BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
256
257DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
258BOOL WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
259
260BOOL WINAPI IsDBCSLeadByte(BYTE);
261
262#endif
Note: See TracBrowser for help on using the repository browser.