newlib-cygwin/winsup/w32api/include/windef.h

338 lines
7.5 KiB
C
Raw Normal View History

2000-02-18 03:38:33 +08:00
#ifndef _WINDEF_H
#define _WINDEF_H
* include/accctrl.h, aclapi.h, basetsd.h, basetyps.h, cderr.h, cguid.h, commctrl.h, commdlg.h, cpl.h, cplext.h, custcntl.h, dbt.h, dde.h, ddeml.h, dlgs.h, excpt.h, httpext.h, imagehlp.h, imm.h, initguid.h, intshcut.h, ipexport.h, iphlpapi.h, ipifcons.h, iprtrmib.h, iptypes.h, isguids.h, largeint.h, lm.h, lmaccess.h, lmalert.h, lmapibuf.h, lmat.h, lmaudit.h, lmbrowsr.h, lmchdev.h, lmconfig.h, lmcons.h, lmerr.h, lmerrlog.h, lmmsg.h, lmremutl.h, lmrepl.h, lmserver.h, lmshare.h, lmsname.h, lmstats.h, lmsvc.h, lmuse.h, lmuseflg.h, lmwksta.h, lzexpand.h, mapi.h, mciavi.h, mcx.h, mmsystem.h, mswsock.h, nb30.h, nddeapi.h, nspapi.h, ntdef.h, ntsecapi.h, ntsecpkg.h, oaidl.h, objbase.h, objfwd.h, objidl.h, odbcinst.h, ole.h, ole2.h, ole2ver.h, oleauto.h, olectl.h, olectlid.h, oledlg.h, oleidl.h, pbt.h, prsht.h, psapi.h, rapi.h, ras.h, raserror.h, rassapi.h, regstr.h, richedit.h, richole.h, rpc.h, rpcdce.h, rpcdce2.h, rpcdcep.h, rpcndr.h, rpcnsi.h, rpcnsip.h, rpcnterr.h, rpcproxy.h, schannel.h, schnlsp.h, scrnsave.h, security.h, setupapi.h, shellapi.h, shlguid.h, shlobj.h, sql.h, sqlext.h, sqltypes.h, sqlucode.h, sspi.h, subauth.h, tlhelp32.h, unknwn.h, userenv.h, w32api.h, winbase.h, wincon.h, wincrypt.h, windef.h, windows.h, windowsx.h, winerror.h, wingdi.h, wininet.h, winioctl.h, winnetwk.h, winnls.h, winnt.h, winperf.h, winreg.h, winresrc.h, winsock.h, winsock2.h, winspool.h, winsvc.h, winuser.h, winver.h, ws2tcpip.h, wsnetbs.h, wtypes.h, zmouse.h: Add #pragma GCC system_header if __GNUC__ >= 3. * include/mapi.h: Change header guard name to _MAPI_H for consistency.
2002-03-09 17:04:10 +08:00
#if __GNUC__ >=3
#pragma GCC system_header
#endif
2000-02-18 03:38:33 +08:00
#ifdef __cplusplus
extern "C" {
#endif
#ifndef WINVER
#define WINVER 0x0400
/*
* If you need Win32 API features newer the Win95 and WinNT then you must
* define WINVER before including windows.h or any other method of including
* the windef.h header.
*/
2000-02-18 03:38:33 +08:00
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT WINVER
/*
* There may be the need to define _WIN32_WINNT to a value different from
* the value of WINVER. I don't have any example of why you would do that.
* However, if you must then define _WIN32_WINNT to the value required before
* including windows.h or any other method of including the windef.h header.
*/
2000-02-18 03:38:33 +08:00
#endif
#ifndef WIN32
#define WIN32
#endif
#ifndef _WIN32
#define _WIN32
#endif
#define FAR
#define far
#define NEAR
#define near
#ifndef CONST
#define CONST const
#endif
#undef MAX_PATH
#define MAX_PATH 260
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void*)0)
#endif
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
[mingw-Bugs-1424461] *include/imagehlp.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcdce.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/rpcnsi.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcnsip.h: Likewise. *include/windef.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/ddk/batclass.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/cfgmgr32.h: Likewise. *include/ddk/ddkmapi.h: Likewise. *include/ddk/hidclass.h: Likewise. *include/ddk/hidpi.h: Likewise. *include/ddk/kbdmou.h: Likewise. *include/ddk/mcd.h: Likewise. *include/ddk/miniport.h: Likewise. *include/ddk/minitape.h: Likewise. *include/ddk/ndis.h: Likewise. *include/ddk/ndistapi.h: Likewise. *include/ddk/ndiswan.h: Likewise. *include/ddk/ntapi.h: Likewise. *include/ddk/ntdd8042.h: Likewise. *include/ddk/ntddpcm.h: Likewise. *include/ddk/ntifs.h: Likewise. *include/ddk/ntpoapi.h: Likewise. *include/ddk/parallel.h: Likewise. *include/ddk/pfhook.h: Likewise. *include/ddk/scsiwmi.h: Likewise. *include/ddk/smbus.h: Likewise. *include/ddk/srb.h: Likewise. *include/ddk/storport.h: Likewise. *include/ddk/tdikrnl.h: Likewise. *include/ddk/upssvc.h: Likewise. *include/ddk/usbcamdi.h: Likewise. *include/ddk/usbscan.h: Likewise. *include/ddk/video.h: Likewise. *include/ddk/videoagp.h: Likewise. *include/ddk/win2k.h: Likewise. *include/ddk/winddi.h: Likewise. *include/ddk/winddk.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/winnt4.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/ws2san.h: Likewise.
2006-06-12 08:55:06 +08:00
/* Pseudo modifiers for parameters
We don't use these unnecessary defines in the w32api headers. Define
them by default since that is what people expect, but allow users
to avoid the pollution. */
#ifndef _NO_W32_PSEUDO_MODIFIERS
2000-02-18 03:38:33 +08:00
#define IN
#define OUT
#ifndef OPTIONAL
2000-02-18 03:38:33 +08:00
#define OPTIONAL
#endif
[mingw-Bugs-1424461] *include/imagehlp.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcdce.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/rpcnsi.h: Comment out IN, OUT and OPTIONAL, throughout. *include/rpcnsip.h: Likewise. *include/windef.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. *include/ddk/batclass.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/cfgmgr32.h: Likewise. *include/ddk/ddkmapi.h: Likewise. *include/ddk/hidclass.h: Likewise. *include/ddk/hidpi.h: Likewise. *include/ddk/kbdmou.h: Likewise. *include/ddk/mcd.h: Likewise. *include/ddk/miniport.h: Likewise. *include/ddk/minitape.h: Likewise. *include/ddk/ndis.h: Likewise. *include/ddk/ndistapi.h: Likewise. *include/ddk/ndiswan.h: Likewise. *include/ddk/ntapi.h: Likewise. *include/ddk/ntdd8042.h: Likewise. *include/ddk/ntddpcm.h: Likewise. *include/ddk/ntifs.h: Likewise. *include/ddk/ntpoapi.h: Likewise. *include/ddk/parallel.h: Likewise. *include/ddk/pfhook.h: Likewise. *include/ddk/scsiwmi.h: Likewise. *include/ddk/smbus.h: Likewise. *include/ddk/srb.h: Likewise. *include/ddk/storport.h: Likewise. *include/ddk/tdikrnl.h: Likewise. *include/ddk/upssvc.h: Likewise. *include/ddk/usbcamdi.h: Likewise. *include/ddk/usbscan.h: Likewise. *include/ddk/video.h: Likewise. *include/ddk/videoagp.h: Likewise. *include/ddk/win2k.h: Likewise. *include/ddk/winddi.h: Likewise. *include/ddk/winddk.h: Don't define IN, OUT or OPTIONAL if _NO_W32_PSEUDO_MODIFIERS. Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/winnt4.h: Comment out IN, OUT and OPTIONAL, throughout. *include/ddk/ws2san.h: Likewise.
2006-06-12 08:55:06 +08:00
#endif
2000-02-18 03:38:33 +08:00
#ifdef __GNUC__
#define PACKED __attribute__((packed))
#ifndef _fastcall
#define _fastcall __attribute__((fastcall))
#endif
#ifndef __fastcall
#define __fastcall __attribute__((fastcall))
#endif
2000-02-18 03:38:33 +08:00
#ifndef _stdcall
#define _stdcall __attribute__((stdcall))
#endif
#ifndef __stdcall
#define __stdcall __attribute__((stdcall))
#endif
#ifndef _cdecl
#define _cdecl __attribute__((cdecl))
#endif
#ifndef __cdecl
#define __cdecl __attribute__((cdecl))
#endif
#ifndef __declspec
#define __declspec(e) __attribute__((e))
#endif
#ifndef _declspec
#define _declspec(e) __attribute__((e))
#endif
#elif defined(__WATCOMC__)
#define PACKED
2000-02-18 03:38:33 +08:00
#else
#define PACKED
#define _cdecl
#define __cdecl
#endif
#undef pascal
#undef _pascal
#undef __pascal
#define pascal __stdcall
#define _pascal __stdcall
#define __pascal __stdcall
#define PASCAL _pascal
#define CDECL _cdecl
#define STDCALL __stdcall
#define FASTCALL __fastcall
2000-02-18 03:38:33 +08:00
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY __stdcall
#define CALLBACK __stdcall
#define APIPRIVATE __stdcall
#define DECLSPEC_IMPORT __declspec(dllimport)
#define DECLSPEC_EXPORT __declspec(dllexport)
2001-12-03 Earnie Boyd <earnie@users.sf.net> * include/accctrl.h: Change \r\n to \n. 2001-11-30 Danny Smith <dannysmith@users.sourceforge.net> * include/ipexport.h (IP_UNIDIRECTIONAL_ADAPTER_ADDRESS): Add structure definition. * include/iptypes.h (IP_PER_ADAPTER_INFO): Ditto. * include/iphlpapi.h (AddIPAddress,CreateProxyArpEntry, DeleteIPAddress,DeleteProxyArpEntry,EnableRouter, FlushIpNetTable,GetAdapterIndex,GetPerAdapterInfo, GetUniDirectionalAdapterInfo,SendARP,SetAdapterIpAddress, UnenableRouter) Declare functions. * lib/iphlpapi.def: Add function names to import lib. 2001-11-24 Danny Smith <dannysmith@users.sourceforge.net> * include/winnt.h (PACCESS_MASK): Add typedef. * include/aclapi.h: New file. * include/acctrl.h: New file. * lib/advapi32.def: Add missing symbols. * lib/test.c: Add #include <aclapi.h>. 2001-11-23 Danny Smith <dannysmith@users.sourceforge.net> * include/winbase.h (OSVERSIONINFO[AW],VER_PLATFORM_WIN32s, VER_PLATFORM_WIN32_WINDOWS,VER_PLATFORM_WIN32_NT): Move from here ... * include/winnt.h: ... to here. * include/winbase.h (VerifyVersionInfo[AW]): Add declaration. * include/winnt.h (OSVERSIONINFOEX[AW]): Add structure definitions and typedefs. (VER_NT_WORKSTATION,VER_NT_DOMAIN_CONTROLLER,VER_NT_SERVER): Add defines. 2001-11-19 Pierre Muller <muller@ics.u-strasbg.fr> * w32api/include/winnt.h: prepare SSE register support. (CONTEXT_EXTENDED_REGISTERS): Add new define. (MAXIMUM_SUPPORTED_EXTENSION): New define. (struct CONTEXT): ExtendedRegisters field added. 2001-11-16 Danny Smith <dannysmith@users.sourceforge.net> * include/winuser.h (tagALTTABINFO, tagCOMBOBOXINFO, tagCURSORINFO, tagMENUBARINFO, tagMENUINFO, tagMONITORINFO tagSCROLLBARINFO, tagTITLEBARINFO. tagWINDOWINFO, tagLASTINPUTINFO ): Define new structures. (EndMenu, GetAltTabInfo[AW],GetComboBoxInfo,GetCursorInfo, GetLastInputInfo, GetListBoxInfo, GetMenuBarInfo, GetMonitorInfo[AW], GetScrollBarInfo, GetTitleBarInfo, GetWindowInfo, GetWindowModuleFileName[AW],GetMenuInfo SetMenuInfo): Add new prototypes. * lib/user32.def: Add import stubs for above functions. * include/winuser.h (IDC_STATIC): Protect against prior definition. 2001-11-12 Corinna Vinschen <corinna@vinschen.de> * include/winbase.h (OSVERSIONINFOEX): Add definition. * include/winnt.h: Add VER_NT_* and VER_SUITE_* defines. 2001-11-10 Robert Collins <rbtcollins@hotmail.com> * include/winnt.h: Add Danny Smith's text comment about gcc compiler warnings with _AUTHORITY #defines. 2001-11-09 Robert Collins <rbtcollins@hotmail.com> * include/winnt.h (GetCurrentFiber): Create a prototype before the implementation; (GetFiberData): Ditto. 2001-11-09 Robert Collins <rbtcollins@hotmail.com> * include/winnt.h: Backout last change.
2001-12-04 03:59:34 +08:00
#ifdef __GNUC__
2000-02-18 03:38:33 +08:00
#define DECLSPEC_NORETURN __declspec(noreturn)
2001-12-03 Earnie Boyd <earnie@users.sf.net> * include/accctrl.h: Change \r\n to \n. 2001-11-30 Danny Smith <dannysmith@users.sourceforge.net> * include/ipexport.h (IP_UNIDIRECTIONAL_ADAPTER_ADDRESS): Add structure definition. * include/iptypes.h (IP_PER_ADAPTER_INFO): Ditto. * include/iphlpapi.h (AddIPAddress,CreateProxyArpEntry, DeleteIPAddress,DeleteProxyArpEntry,EnableRouter, FlushIpNetTable,GetAdapterIndex,GetPerAdapterInfo, GetUniDirectionalAdapterInfo,SendARP,SetAdapterIpAddress, UnenableRouter) Declare functions. * lib/iphlpapi.def: Add function names to import lib. 2001-11-24 Danny Smith <dannysmith@users.sourceforge.net> * include/winnt.h (PACCESS_MASK): Add typedef. * include/aclapi.h: New file. * include/acctrl.h: New file. * lib/advapi32.def: Add missing symbols. * lib/test.c: Add #include <aclapi.h>. 2001-11-23 Danny Smith <dannysmith@users.sourceforge.net> * include/winbase.h (OSVERSIONINFO[AW],VER_PLATFORM_WIN32s, VER_PLATFORM_WIN32_WINDOWS,VER_PLATFORM_WIN32_NT): Move from here ... * include/winnt.h: ... to here. * include/winbase.h (VerifyVersionInfo[AW]): Add declaration. * include/winnt.h (OSVERSIONINFOEX[AW]): Add structure definitions and typedefs. (VER_NT_WORKSTATION,VER_NT_DOMAIN_CONTROLLER,VER_NT_SERVER): Add defines. 2001-11-19 Pierre Muller <muller@ics.u-strasbg.fr> * w32api/include/winnt.h: prepare SSE register support. (CONTEXT_EXTENDED_REGISTERS): Add new define. (MAXIMUM_SUPPORTED_EXTENSION): New define. (struct CONTEXT): ExtendedRegisters field added. 2001-11-16 Danny Smith <dannysmith@users.sourceforge.net> * include/winuser.h (tagALTTABINFO, tagCOMBOBOXINFO, tagCURSORINFO, tagMENUBARINFO, tagMENUINFO, tagMONITORINFO tagSCROLLBARINFO, tagTITLEBARINFO. tagWINDOWINFO, tagLASTINPUTINFO ): Define new structures. (EndMenu, GetAltTabInfo[AW],GetComboBoxInfo,GetCursorInfo, GetLastInputInfo, GetListBoxInfo, GetMenuBarInfo, GetMonitorInfo[AW], GetScrollBarInfo, GetTitleBarInfo, GetWindowInfo, GetWindowModuleFileName[AW],GetMenuInfo SetMenuInfo): Add new prototypes. * lib/user32.def: Add import stubs for above functions. * include/winuser.h (IDC_STATIC): Protect against prior definition. 2001-11-12 Corinna Vinschen <corinna@vinschen.de> * include/winbase.h (OSVERSIONINFOEX): Add definition. * include/winnt.h: Add VER_NT_* and VER_SUITE_* defines. 2001-11-10 Robert Collins <rbtcollins@hotmail.com> * include/winnt.h: Add Danny Smith's text comment about gcc compiler warnings with _AUTHORITY #defines. 2001-11-09 Robert Collins <rbtcollins@hotmail.com> * include/winnt.h (GetCurrentFiber): Create a prototype before the implementation; (GetFiberData): Ditto. 2001-11-09 Robert Collins <rbtcollins@hotmail.com> * include/winnt.h: Backout last change.
2001-12-04 03:59:34 +08:00
#define DECLARE_STDCALL_P( type ) __stdcall type
#elif defined(__WATCOMC__)
#define DECLSPEC_NORETURN
#define DECLARE_STDCALL_P( type ) type __stdcall
#endif /* __GNUC__/__WATCOMC__ */
2000-02-18 03:38:33 +08:00
#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
#define LOWORD(l) ((WORD)((DWORD)(l)))
#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF))
#define LOBYTE(w) ((BYTE)(w))
#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF))
#ifndef __WATCOMC__
2000-02-18 03:38:33 +08:00
#ifndef _export
#define _export
#endif
#ifndef __export
#define __export
#endif
#endif
2000-02-18 03:38:33 +08:00
#ifndef NOMINMAX
#ifndef max
#define max(a,b) ((a)>(b)?(a):(b))
#endif
#ifndef min
#define min(a,b) ((a)<(b)?(a):(b))
#endif
#endif
#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
#define DBG_UNREFERENCED_PARAMETER(P)
#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
#ifndef NONAMELESSUNION
#ifdef __GNUC__
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
#define _ANONYMOUS_UNION __extension__
#define _ANONYMOUS_STRUCT __extension__
#else
#if defined(__cplusplus)
#define _ANONYMOUS_UNION __extension__
#endif /* __cplusplus */
#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
#elif defined(__WATCOMC__)
#define _ANONYMOUS_UNION
#define _ANONYMOUS_STRUCT
#endif /* __GNUC__/__WATCOMC__ */
#endif /* NONAMELESSUNION */
#ifndef _ANONYMOUS_UNION
#define _ANONYMOUS_UNION
#define _UNION_NAME(x) x
#define DUMMYUNIONNAME u
#define DUMMYUNIONNAME2 u2
#define DUMMYUNIONNAME3 u3
#define DUMMYUNIONNAME4 u4
#define DUMMYUNIONNAME5 u5
#define DUMMYUNIONNAME6 u6
#define DUMMYUNIONNAME7 u7
#define DUMMYUNIONNAME8 u8
#else
#define _UNION_NAME(x)
#define DUMMYUNIONNAME
#define DUMMYUNIONNAME2
#define DUMMYUNIONNAME3
#define DUMMYUNIONNAME4
#define DUMMYUNIONNAME5
#define DUMMYUNIONNAME6
#define DUMMYUNIONNAME7
#define DUMMYUNIONNAME8
#endif
#ifndef _ANONYMOUS_STRUCT
#define _ANONYMOUS_STRUCT
#define _STRUCT_NAME(x) x
#define DUMMYSTRUCTNAME s
#define DUMMYSTRUCTNAME2 s2
#define DUMMYSTRUCTNAME3 s3
#else
#define _STRUCT_NAME(x)
#define DUMMYSTRUCTNAME
#define DUMMYSTRUCTNAME2
#define DUMMYSTRUCTNAME3
#endif
#ifndef NO_STRICT
#ifndef STRICT
#define STRICT 1
#endif
#endif
/* FIXME: This will make some code compile. The programs will most
likely crash when an exception is raised, but at least they will
compile. */
#if defined (__GNUC__) && defined (__SEH_NOOP)
#define __try
#define __except(x) if (0) /* don't execute handler */
#define __finally
#define _try __try
#define _except __except
#define _finally __finally
#endif
2000-02-18 03:38:33 +08:00
typedef unsigned long DWORD;
typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
/* FIXME: Is there a good solution to this? */
#ifndef XFree86Server
2000-02-18 03:38:33 +08:00
#ifndef __OBJC__
typedef WINBOOL BOOL;
#else
#define BOOL WINBOOL
#endif
typedef unsigned char BYTE;
#endif /* ndef XFree86Server */
typedef BOOL *PBOOL,*LPBOOL;
2000-02-18 03:38:33 +08:00
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BYTE *PBYTE,*LPBYTE;
typedef int *PINT,*LPINT;
typedef WORD *PWORD,*LPWORD;
typedef long *LPLONG;
typedef DWORD *PDWORD,*LPDWORD;
typedef CONST void *PCVOID,*LPCVOID;
typedef int INT;
typedef unsigned int UINT,*PUINT,*LPUINT;
#include <winnt.h>
typedef UINT_PTR WPARAM;
typedef LONG_PTR LPARAM;
typedef LONG_PTR LRESULT;
2000-02-18 03:38:33 +08:00
#ifndef _HRESULT_DEFINED
typedef LONG HRESULT;
#define _HRESULT_DEFINED
#endif
#ifndef XFree86Server
2000-02-18 03:38:33 +08:00
typedef WORD ATOM;
#endif /* XFree86Server */
2000-02-18 03:38:33 +08:00
typedef HANDLE HGLOBAL;
typedef HANDLE HLOCAL;
typedef HANDLE GLOBALHANDLE;
typedef HANDLE LOCALHANDLE;
typedef void *HGDIOBJ;
DECLARE_HANDLE(HACCEL);
DECLARE_HANDLE(HBITMAP);
DECLARE_HANDLE(HBRUSH);
DECLARE_HANDLE(HCOLORSPACE);
DECLARE_HANDLE(HDC);
DECLARE_HANDLE(HGLRC);
DECLARE_HANDLE(HDESK);
DECLARE_HANDLE(HENHMETAFILE);
DECLARE_HANDLE(HFONT);
DECLARE_HANDLE(HICON);
DECLARE_HANDLE(HKEY);
/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */
DECLARE_HANDLE(HMONITOR);
#define HMONITOR_DECLARED 1
2000-02-18 03:38:33 +08:00
DECLARE_HANDLE(HTERMINAL);
DECLARE_HANDLE(HWINEVENTHOOK);
2000-02-18 03:38:33 +08:00
typedef HKEY *PHKEY;
DECLARE_HANDLE(HMENU);
DECLARE_HANDLE(HMETAFILE);
DECLARE_HANDLE(HINSTANCE);
typedef HINSTANCE HMODULE;
DECLARE_HANDLE(HPALETTE);
DECLARE_HANDLE(HPEN);
DECLARE_HANDLE(HRGN);
DECLARE_HANDLE(HRSRC);
DECLARE_HANDLE(HSTR);
DECLARE_HANDLE(HTASK);
DECLARE_HANDLE(HWND);
DECLARE_HANDLE(HWINSTA);
DECLARE_HANDLE(HKL);
typedef int HFILE;
typedef HICON HCURSOR;
typedef DWORD COLORREF;
typedef int (WINAPI *FARPROC)();
typedef int (WINAPI *NEARPROC)();
typedef int (WINAPI *PROC)();
2000-02-18 03:38:33 +08:00
typedef struct tagRECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT,*PRECT,*LPRECT;
typedef const RECT *LPCRECT;
typedef struct tagRECTL {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECTL,*PRECTL,*LPRECTL;
typedef const RECTL *LPCRECTL;
typedef struct tagPOINT {
LONG x;
LONG y;
} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
typedef struct tagSIZE {
LONG cx;
LONG cy;
} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
typedef struct tagPOINTS {
SHORT x;
SHORT y;
} POINTS,*PPOINTS,*LPPOINTS;
#ifdef __cplusplus
}
#endif
#endif