win16.mh
来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 2,221 行 · 第 1/5 页
MH
2,221 行
#define GMEM_DISCARDED 0x4000
#define GMEM_LOCKCOUNT 0x00FF
BOOL WINAPI GlobalUnlock(HGLOBAL);
DWORD WINAPI GlobalSize(HGLOBAL);
DWORD WINAPI GlobalHandle(UINT);
UINT WINAPI GlobalFlags(HGLOBAL);
#ifdef STRICT
void FAR* WINAPI GlobalWire(HGLOBAL);
#else
char FAR* WINAPI GlobalWire(HGLOBAL);
#endif
BOOL WINAPI GlobalUnWire(HGLOBAL);
UINT WINAPI GlobalPageLock(HGLOBAL);
UINT WINAPI GlobalPageUnlock(HGLOBAL);
void WINAPI GlobalFix(HGLOBAL);
void WINAPI GlobalUnfix(HGLOBAL);
HGLOBAL WINAPI GlobalLRUNewest(HGLOBAL);
HGLOBAL WINAPI GlobalLRUOldest(HGLOBAL);
DWORD WINAPI GlobalCompact(DWORD);
#ifdef STRICT
typedef BOOL (CALLBACK *GNOTIFYPROC)(HGLOBAL);
#else
typedef FARPROC GNOTIFYPROC;
#endif
#define LockData(dummy) LockSegment((UINT)-1)
#define UnlockData(dummy) UnlockSegment((UINT)-1)
void WINAPI GlobalNotify(GNOTIFYPROC);
HGLOBAL WINAPI LockSegment(UINT);
void WINAPI UnlockSegment(UINT);
UINT WINAPI AllocSelector(UINT);
UINT WINAPI FreeSelector(UINT);
UINT WINAPI AllocDStoCSAlias(UINT);
UINT WINAPI PrestoChangoSelector(UINT sourceSel, UINT destSel);
DWORD WINAPI GetSelectorBase(UINT);
UINT WINAPI SetSelectorBase(UINT, DWORD);
DWORD WINAPI GetSelectorLimit(UINT);
UINT WINAPI SetSelectorLimit(UINT, DWORD);
void WINAPI LimitEmsPages(DWORD);
void WINAPI ValidateFreeSpaces(void);
#define WM_COMPACTING 0x0041
#define LMEM_FIXED 0x0000
#define LMEM_MOVEABLE 0x0002
#define LMEM_NOCOMPACT 0x0010
#define LMEM_NODISCARD 0x0020
#define LMEM_ZEROINIT 0x0040
#define LMEM_MODIFY 0x0080
#define LMEM_DISCARDABLE 0x0F00
#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
#define NONZEROLHND (LMEM_MOVEABLE)
#define NONZEROLPTR (LMEM_FIXED)
#define LocalDiscard(h) LocalReAlloc(h, 0, LMEM_MOVEABLE)
#define LMEM_DISCARDED 0x4000
#define LMEM_LOCKCOUNT 0x00FF
HLOCAL WINAPI LocalAlloc(UINT, UINT);
HLOCAL WINAPI LocalReAlloc(HLOCAL, UINT, UINT);
HLOCAL WINAPI LocalFree(HLOCAL);
BOOL WINAPI LocalUnlock(HLOCAL);
UINT WINAPI LocalSize(HLOCAL);
UINT WINAPI LocalFlags(HLOCAL);
BOOL WINAPI LocalInit(UINT, UINT, UINT);
UINT WINAPI LocalCompact(UINT);
UINT WINAPI LocalShrink(HLOCAL, UINT);
#ifdef STRICT
void NEAR * WINAPI LocalLock(HLOCAL);
#else
char NEAR * WINAPI LocalLock(HLOCAL);
#endif
#if defined(STRICT) && !defined(__WINDOWS_386__)
HLOCAL WINAPI LocalHandle(void NEAR*);
#else
HLOCAL WINAPI LocalHandle(UINT);
#endif
#endif
#ifndef NOLFILEIO
typedef int HFILE;
#define HFILE_ERROR ((HFILE)-1)
#ifndef NOOPENFILE
typedef struct tagOFSTRUCT {
BYTE cBytes;
BYTE fFixedDisk;
UINT nErrCode;
BYTE reserved[4];
char szPathName[128];
} OFSTRUCT, *POFSTRUCT, NEAR *NPOFSTRUCT, FAR *LPOFSTRUCT;
#define OF_READ 0x0000
#define OF_WRITE 0x0001
#define OF_READWRITE 0x0002
#define OF_SHARE_COMPAT 0x0000
#define OF_SHARE_EXCLUSIVE 0x0010
#define OF_SHARE_DENY_WRITE 0x0020
#define OF_SHARE_DENY_READ 0x0030
#define OF_SHARE_DENY_NONE 0x0040
#define OF_PARSE 0x0100
#define OF_DELETE 0x0200
#define OF_VERIFY 0x0400
#define OF_SEARCH 0x0400
#define OF_CANCEL 0x0800
#define OF_CREATE 0x1000
#define OF_PROMPT 0x2000
#define OF_EXIST 0x4000
#define OF_REOPEN 0x8000
HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT FAR*,UINT);
#endif
#define READ 0
#define WRITE 1
#define READ_WRITE 2
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
HFILE WINAPI _lopen(LPCSTR,int);
HFILE WINAPI _lcreat(LPCSTR,int);
HFILE WINAPI _lclose(HFILE);
LONG WINAPI _llseek(HFILE,LONG,int);
UINT WINAPI _lread(HFILE,void __huge*,UINT);
UINT WINAPI _lwrite(HFILE,const void __huge*,UINT);
#if (WINVER >= 0x030a)
long WINAPI _hread(HFILE,void __huge*,long);
long WINAPI _hwrite(HFILE,const void __huge*,long);
#endif
#endif
#define TF_FORCEDRIVE (BYTE)0x80
#define DRIVE_REMOVABLE 2
#define DRIVE_FIXED 3
#define DRIVE_REMOTE 4
int WINAPI GetTempFileName(BYTE,LPCSTR,UINT,LPSTR);
BYTE WINAPI GetTempDrive(char);
UINT WINAPI GetDriveType(int);
UINT WINAPI SetHandleCount(UINT);
UINT WINAPI WNetAddConnection(LPSTR,LPSTR,LPSTR);
UINT WINAPI WNetGetConnection(LPSTR,LPSTR,UINT FAR*);
UINT WINAPI WNetCancelConnection(LPSTR,BOOL);
#define WN_SUCCESS 0x0000
#define WN_NOT_SUPPORTED 0x0001
#define WN_NET_ERROR 0x0002
#define WN_MORE_DATA 0x0003
#define WN_BAD_POINTER 0x0004
#define WN_BAD_VALUE 0x0005
#define WN_BAD_PASSWORD 0x0006
#define WN_ACCESS_DENIED 0x0007
#define WN_FUNCTION_BUSY 0x0008
#define WN_WINDOWS_ERROR 0x0009
#define WN_BAD_USER 0x000A
#define WN_OUT_OF_MEMORY 0x000B
#define WN_CANCEL 0x000C
#define WN_CONTINUE 0x000D
#define WN_NOT_CONNECTED 0x0030
#define WN_OPEN_FILES 0x0031
#define WN_BAD_NETNAME 0x0032
#define WN_BAD_LOCALNAME 0x0033
#define WN_ALREADY_CONNECTED 0x0034
#define WN_DEVICE_ERROR 0x0035
#define WN_CONNECTION_CLOSED 0x0036
#define UnlockResource(h) GlobalUnlock(h)
#define MAKEINTRESOURCE(i) ((LPCSTR)MAKELP(0, (i)))
DECLARE_HANDLE(HRSRC);
HRSRC WINAPI FindResource(HINSTANCE,LPCSTR,LPCSTR);
HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC);
BOOL WINAPI FreeResource(HGLOBAL);
DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
int WINAPI AccessResource(HINSTANCE,HRSRC);
HGLOBAL WINAPI AllocResource(HINSTANCE,HRSRC,DWORD);
#ifdef STRICT
void FAR * WINAPI LockResource(HGLOBAL);
typedef HGLOBAL (CALLBACK* RSRCHDLRPROC)(HGLOBAL,HINSTANCE,HRSRC);
#else
char FAR * WINAPI LockResource(HGLOBAL);
typedef FARPROC RSRCHDLRPROC;
#endif
RSRCHDLRPROC WINAPI SetResourceHandler(HINSTANCE,LPCSTR,RSRCHDLRPROC);
#ifndef NORESOURCE
#define RT_CURSOR MAKEINTRESOURCE(1)
#define RT_BITMAP MAKEINTRESOURCE(2)
#define RT_ICON MAKEINTRESOURCE(3)
#define RT_MENU MAKEINTRESOURCE(4)
#define RT_DIALOG MAKEINTRESOURCE(5)
#define RT_STRING MAKEINTRESOURCE(6)
#define RT_FONTDIR MAKEINTRESOURCE(7)
#define RT_FONT MAKEINTRESOURCE(8)
#define RT_ACCELERATOR MAKEINTRESOURCE(9)
#define RT_RCDATA MAKEINTRESOURCE(10)
#define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
#define RT_GROUP_ICON MAKEINTRESOURCE(14)
#endif
#ifdef OEMRESOURCE
#define OBM_CLOSE 32754
#define OBM_UPARROW 32753
#define OBM_DNARROW 32752
#define OBM_RGARROW 32751
#define OBM_LFARROW 32750
#define OBM_REDUCE 32749
#define OBM_ZOOM 32748
#define OBM_RESTORE 32747
#define OBM_REDUCED 32746
#define OBM_ZOOMD 32745
#define OBM_RESTORED 32744
#define OBM_UPARROWD 32743
#define OBM_DNARROWD 32742
#define OBM_RGARROWD 32741
#define OBM_LFARROWD 32740
#define OBM_MNARROW 32739
#define OBM_COMBO 32738
#if (WINVER >= 0x030a)
#define OBM_UPARROWI 32737
#define OBM_DNARROWI 32736
#define OBM_RGARROWI 32735
#define OBM_LFARROWI 32734
#endif
#define OBM_OLD_CLOSE 32767
#define OBM_SIZE 32766
#define OBM_OLD_UPARROW 32765
#define OBM_OLD_DNARROW 32764
#define OBM_OLD_RGARROW 32763
#define OBM_OLD_LFARROW 32762
#define OBM_BTSIZE 32761
#define OBM_CHECK 32760
#define OBM_CHECKBOXES 32759
#define OBM_BTNCORNERS 32758
#define OBM_OLD_REDUCE 32757
#define OBM_OLD_ZOOM 32756
#define OBM_OLD_RESTORE 32755
#define OCR_NORMAL 32512
#define OCR_IBEAM 32513
#define OCR_WAIT 32514
#define OCR_CROSS 32515
#define OCR_UP 32516
#define OCR_SIZE 32640
#define OCR_ICON 32641
#define OCR_SIZENWSE 32642
#define OCR_SIZENESW 32643
#define OCR_SIZEWE 32644
#define OCR_SIZENS 32645
#define OCR_SIZEALL 32646
#define OCR_ICOCUR 32647
#define OIC_SAMPLE 32512
#define OIC_HAND 32513
#define OIC_QUES 32514
#define OIC_BANG 32515
#define OIC_NOTE 32516
#endif
#define MAKEINTATOM(i) ((LPCSTR)MAKELP(0, (i)))
#ifndef NOATOM
BOOL WINAPI InitAtomTable(int);
ATOM WINAPI AddAtom(LPCSTR);
ATOM WINAPI DeleteAtom(ATOM);
ATOM WINAPI FindAtom(LPCSTR);
UINT WINAPI GetAtomName(ATOM,LPSTR,int);
ATOM WINAPI GlobalAddAtom(LPCSTR);
ATOM WINAPI GlobalDeleteAtom(ATOM);
ATOM WINAPI GlobalFindAtom(LPCSTR);
UINT WINAPI GlobalGetAtomName(ATOM,LPSTR,int);
HLOCAL WINAPI GetAtomHandle(ATOM);
#endif
UINT WINAPI GetProfileInt(LPCSTR,LPCSTR,int);
int WINAPI GetProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int);
BOOL WINAPI WriteProfileString(LPCSTR,LPCSTR,LPCSTR);
UINT WINAPI GetPrivateProfileInt(LPCSTR,LPCSTR,int,LPCSTR);
int WINAPI GetPrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int,LPCSTR);
BOOL WINAPI WritePrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
#define WM_WININICHANGE 0x001A
void WINAPI AnsiToOem(const char __huge*,char __huge*);
void WINAPI OemToAnsi(const char __huge*,char __huge*);
void WINAPI AnsiToOemBuff(LPCSTR,LPSTR,UINT);
void WINAPI OemToAnsiBuff(LPCSTR,LPSTR,UINT);
LPSTR WINAPI AnsiNext(LPCSTR);
LPSTR WINAPI AnsiPrev(LPCSTR,LPCSTR);
LPSTR WINAPI AnsiUpper(LPSTR);
LPSTR WINAPI AnsiLower(LPSTR);
UINT WINAPI AnsiUpperBuff(LPSTR,UINT);
UINT WINAPI AnsiLowerBuff(LPSTR,UINT);
#ifndef NOLANGUAGE
BOOL WINAPI IsCharAlpha(char);
BOOL WINAPI IsCharAlphaNumeric(char);
BOOL WINAPI IsCharUpper(char);
BOOL WINAPI IsCharLower(char);
#endif
#ifndef NOLSTRING
int WINAPI lstrcmp(LPCSTR,LPCSTR);
int WINAPI lstrcmpi(LPCSTR,LPCSTR);
LPSTR WINAPI lstrcpy(LPSTR,LPCSTR);
LPSTR WINAPI lstrcat(LPSTR,LPCSTR);
int WINAPI lstrlen(LPCSTR);
#if (WINVER >= 0x030a)
LPSTR WINAPI lstrcpyn(LPSTR, LPCSTR, int);
void WINAPI hmemcpy(void __huge*,const void __huge*,long);
#endif
#endif
#if (WINVER >= 0x030a)
#ifndef NODBCS
BOOL WINAPI IsDBCSLeadByte(BYTE);
#endif
#endif
int WINAPI LoadString(HINSTANCE, UINT, LPSTR, int);
#ifndef NOKEYBOARDINFO
DWORD WINAPI OemKeyScan(UINT);
UINT WINAPI VkKeyScan(UINT);
int WINAPI GetKeyboardType(int);
UINT WINAPI MapVirtualKey(UINT,UINT);
int WINAPI GetKBCodePage(void);
int WINAPI GetKeyNameText(LONG,LPSTR,int);
int WINAPI ToAscii(UINT,UINT,BYTE FAR*,DWORD FAR*,UINT);
#endif
#endif
DECLARE_HANDLE(HDC);
#ifndef NOGDI
#if defined(STRICT) && !defined(__WINDOWS_386__)
typedef const void NEAR *HGDIOBJ;
#else
DECLARE_HANDLE(HGDIOBJ);
#endif
#endif
DECLARE_HANDLE(HBITMAP);
DECLARE_HANDLE(HPEN);
DECLARE_HANDLE(HBRUSH);
DECLARE_HANDLE(HRGN);
DECLARE_HANDLE(HPALETTE);
DECLARE_HANDLE(HFONT);
typedef struct tagRECT {
int left;
int top;
int right;
int bottom;
} RECT, *PRECT, NEAR* NPRECT, FAR *LPRECT;
typedef struct tagPOINT {
int x;
int y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
#if (WINVER >= 0x030a)
typedef struct tagSIZE {
int cx;
int cy;
} SIZE, *PSIZE, NEAR *NPSIZE, FAR *LPSIZE;
#endif
#define MAKEPOINT(l) (*((POINT FAR*)&(l)))
#ifndef NOGDI
HDC WINAPI CreateDC(LPCSTR,LPCSTR,LPCSTR,const void FAR*);
HDC WINAPI CreateIC(LPCSTR,LPCSTR,LPCSTR,const void FAR*);
HDC WINAPI CreateCompatibleDC(HDC);
BOOL WINAPI DeleteDC(HDC);
DWORD WINAPI GetDCOrg(HDC);
int WINAPI SaveDC(HDC);
BOOL WINAPI RestoreDC(HDC,int);
int WINAPI SetEnvironment(LPCSTR,const void FAR*,UINT);
int WINAPI GetEnvironment(LPCSTR,void FAR*,UINT);
int WINAPI MulDiv(int,int,int);
#if (WINVER >= 0x030a)
UINT WINAPI SetBoundsRect(HDC,const RECT FAR*,UINT);
UINT WINAPI GetBoundsRect(HDC,RECT FAR*,UINT);
#define DCB_RESET 0x0001
#define DCB_ACCUMULATE 0x0002
#define DCB_DIRTY DCB_ACCUMULATE
#define DCB_SET (DCB_RESET | DCB_ACCUMULATE)
#define DCB_ENABLE 0x0004
#define DCB_DISABLE 0x0008
#endif
int WINAPI GetDeviceCaps(HDC,int);
#define DRIVERVERSION 0
#define TECHNOLOGY 2
#define HORZSIZE 4
#define VERTSIZE 6
#define HORZRES 8
#define VERTRES 10
#define BITSPIXEL 12
#define PLANES 14
#define NUMBRUSHES 16
#define NUMPENS 18
#define NUMMARKERS 20
#define NUMFONTS 22
#define NUMCOLORS 24
#define PDEVICESIZE 26
#define CURVECAPS 28
#define LINECAPS 30
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?