From: Chris Hanson Date: Sat, 9 Jan 1999 03:37:25 +0000 (+0000) Subject: Add copyright statement. X-Git-Tag: 20090517-FFI~4694 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=bb9e85e11cbf3a83c5eebe23f0f0b0746b6af8bb;p=mit-scheme.git Add copyright statement. --- diff --git a/v7/src/win32/wingdi.scm b/v7/src/win32/wingdi.scm index 074417f69..9599d612e 100644 --- a/v7/src/win32/wingdi.scm +++ b/v7/src/win32/wingdi.scm @@ -1,77 +1,71 @@ -;;/*++ BUILD Version: 0004 // Increment this if a change has global effects -;; -;;Copyright (c) 1985-91, Microsoft Corporation -;; -;;Module Name: -;; -;; wingdi.h -;; -;;Abstract: -;; -;; Procedure declarations, constant definitions and macros for the GDI -;; component. -;; -;;--*/ -;; -;;#ifndef _WINGDI_ -;;#define _WINGDI_ -;; -;;#ifdef __cplusplus -;;extern "C" { -;;#endif -;; -;;#ifndef NOGDI -;; -;;#ifndef NORASTEROPS -;; -;;/* Binary raster ops */ -(define-integrable R2_BLACK 1 ) ; /* 0 */ -(define-integrable R2_NOTMERGEPEN 2 ) ; /* DPon */ -(define-integrable R2_MASKNOTPEN 3 ) ; /* DPna */ -(define-integrable R2_NOTCOPYPEN 4 ) ; /* PN */ -(define-integrable R2_MASKPENNOT 5 ) ; /* PDna */ -(define-integrable R2_NOT 6 ) ; /* Dn */ -(define-integrable R2_XORPEN 7 ) ; /* DPx */ -(define-integrable R2_NOTMASKPEN 8 ) ; /* DPan */ -(define-integrable R2_MASKPEN 9 ) ; /* DPa */ -(define-integrable R2_NOTXORPEN 10) ; /* DPxn */ -(define-integrable R2_NOP 11) ; /* D */ -(define-integrable R2_MERGENOTPEN 12) ; /* DPno */ -(define-integrable R2_COPYPEN 13) ; /* P */ -(define-integrable R2_MERGEPENNOT 14) ; /* PDno */ -(define-integrable R2_MERGEPEN 15) ; /* DPo */ -(define-integrable R2_WHITE 16) ; /* 1 */ +#| -*-Scheme-*- + +$Id: wingdi.scm,v 1.2 1999/01/09 03:37:18 cph Exp $ + +Copyright (c) 1993, 1999 Massachusetts Institute of Technology + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +|# + +;;Binary raster ops +(define-integrable R2_BLACK 1 ) ;0 +(define-integrable R2_NOTMERGEPEN 2 ) ;DPon +(define-integrable R2_MASKNOTPEN 3 ) ;DPna +(define-integrable R2_NOTCOPYPEN 4 ) ;PN +(define-integrable R2_MASKPENNOT 5 ) ;PDna +(define-integrable R2_NOT 6 ) ;Dn +(define-integrable R2_XORPEN 7 ) ;DPx +(define-integrable R2_NOTMASKPEN 8 ) ;DPan +(define-integrable R2_MASKPEN 9 ) ;DPa +(define-integrable R2_NOTXORPEN 10) ;DPxn +(define-integrable R2_NOP 11) ;D +(define-integrable R2_MERGENOTPEN 12) ;DPno +(define-integrable R2_COPYPEN 13) ;P +(define-integrable R2_MERGEPENNOT 14) ;PDno +(define-integrable R2_MERGEPEN 15) ;DPo +(define-integrable R2_WHITE 16) ;1 (define-integrable R2_LAST 16) -;;/* Ternary raster operations */ -(define-integrable SRCCOPY #x00CC0020) ;/* dest = source */ -(define-integrable SRCPAINT #x00EE0086) ;/* dest = source OR dest */ -(define-integrable SRCAND #x008800C6) ;/* dest = source AND dest */ -(define-integrable SRCINVERT #x00660046) ;/* dest = source XOR dest */ -(define-integrable SRCERASE #x00440328) ;/* dest = source AND (NOT dest ) */ -(define-integrable NOTSRCCOPY #x00330008) ;/* dest = (NOT source) */ -(define-integrable NOTSRCERASE #x001100A6) ;/* dest = (NOT src) AND (NOT dest) */ -(define-integrable MERGECOPY #x00C000CA) ;/* dest = (source AND pattern) */ -(define-integrable MERGEPAINT #x00BB0226) ;/* dest = (NOT source) OR dest */ -(define-integrable PATCOPY #x00F00021) ;/* dest = pattern */ -(define-integrable PATPAINT #x00FB0A09) ;/* dest = DPSnoo */ -(define-integrable PATINVERT #x005A0049) ;/* dest = pattern XOR dest */ -(define-integrable DSTINVERT #x00550009) ;/* dest = (NOT dest) */ -(define-integrable BLACKNESS #x00000042) ;/* dest = BLACK */ -(define-integrable WHITENESS #x00FF0062) ;/* dest = WHITE */ -;;#endif /* NORASTEROPS */ -;; +;; Ternary raster operations +(define-integrable SRCCOPY #x00CC0020) ;dest = source +(define-integrable SRCPAINT #x00EE0086) ;dest = source OR dest +(define-integrable SRCAND #x008800C6) ;dest = source AND dest +(define-integrable SRCINVERT #x00660046) ;dest = source XOR dest +(define-integrable SRCERASE #x00440328) ;dest = source AND (NOT dest ) +(define-integrable NOTSRCCOPY #x00330008) ;dest = (NOT source) +(define-integrable NOTSRCERASE #x001100A6) ;dest = (NOT src) AND (NOT dest) +(define-integrable MERGECOPY #x00C000CA) ;dest = (source AND pattern) +(define-integrable MERGEPAINT #x00BB0226) ;dest = (NOT source) OR dest +(define-integrable PATCOPY #x00F00021) ;dest = pattern +(define-integrable PATPAINT #x00FB0A09) ;dest = DPSnoo +(define-integrable PATINVERT #x005A0049) ;dest = pattern XOR dest +(define-integrable DSTINVERT #x00550009) ;dest = (NOT dest) +(define-integrable BLACKNESS #x00000042) ;dest = BLACK +(define-integrable WHITENESS #x00FF0062) ;dest = WHITE + (define-integrable GDI_ERROR #xFFFFFFFF) -(define-integrable HGDI_ERROR #xFFFFFFFF) ;#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL)) +(define-integrable HGDI_ERROR #xFFFFFFFF) -;;/* Region Flags */ +;;Region Flags (define-integrable ERROR 0) (define-integrable NULLREGION 1) (define-integrable SIMPLEREGION 2) (define-integrable COMPLEXREGION 3) (define-integrable RGN_ERROR ERROR) -;;/* CombineRgn() Styles */ +;;CombineRgn() Styles (define-integrable RGN_AND 1) (define-integrable RGN_OR 2) (define-integrable RGN_XOR 3) @@ -80,19 +74,19 @@ (define-integrable RGN_MIN RGN_AND) (define-integrable RGN_MAX RGN_COPY) -;;/* StretchBlt() Modes */ +;;StretchBlt() Modes (define-integrable BLACKONWHITE 1) (define-integrable WHITEONBLACK 2) (define-integrable COLORONCOLOR 3) (define-integrable HALFTONE 4) (define-integrable MAXSTRETCHBLTMODE 4) -;;/* PolyFill() Modes */ +;;PolyFill() Modes (define-integrable ALTERNATE 1) (define-integrable WINDING 2) (define-integrable POLYFILL_LAST 2) -;;/* Text Alignment Options */ +;;Text Alignment Options (define-integrable TA_NOUPDATECP 0) (define-integrable TA_UPDATECP 1) @@ -119,7 +113,7 @@ (define-integrable ASPECT_FILTERING #x0001) -;;/* Bounds Accumulation APIs */ +;;Bounds Accumulation APIs (define-integrable DCB_RESET #x0001) (define-integrable DCB_ACCUMULATE #x0002) @@ -128,9 +122,7 @@ (define-integrable DCB_ENABLE #x0004) (define-integrable DCB_DISABLE #x0008) -;;#ifndef NOMETAFILE -;; -;;/* Metafile Functions */ +;;Metafile Functions (define-integrable META_SETBKCOLOR #x0201) (define-integrable META_SETBKMODE #x0102) (define-integrable META_SETMAPMODE #x0103) @@ -200,9 +192,7 @@ (define-integrable META_CREATEBRUSHINDIRECT #x02FC) (define-integrable META_CREATEREGION #x06FF) -;;#endif /* NOMETAFILE */ -;; -;;/* GDI Escapes */ +;;GDI Escapes (define-integrable NEWFRAME 1) (define-integrable ABORTDOC 2) (define-integrable NEXTBAND 3) @@ -273,7 +263,7 @@ (define-integrable SET_BOUNDS 4109) (define-integrable SET_MIRROR_MODE 4110) -;;/* Spooler Error Codes */ +;;Spooler Error Codes (define-integrable SP_NOTREPORTED #x4000) (define-integrable SP_ERROR -1) (define-integrable SP_APPABORT -2) @@ -283,7 +273,7 @@ (define-integrable PR_JOBSTATUS #x0000) -;;/* Object Definitions for EnumObjects() */ +;;Object Definitions for EnumObjects (define-integrable OBJ_PEN 1) (define-integrable OBJ_BRUSH 2) (define-integrable OBJ_DC 3) @@ -298,7 +288,7 @@ (define-integrable OBJ_ENHMETADC 12) (define-integrable OBJ_ENHMETAFILE 13) -;;/* xform stuff */ +;;xform stuff (define-integrable MWT_IDENTITY 1) (define-integrable MWT_LEFTMULTIPLY 2) (define-integrable MWT_RIGHTMULTIPLY 3) @@ -306,437 +296,25 @@ (define-integrable MWT_MIN MWT_IDENTITY) (define-integrable MWT_MAX MWT_RIGHTMULTIPLY) -;;#define _XFORM_ -;;typedef struct tagXFORM -;; { -;; FLOAT eM11; -;; FLOAT eM12; -;; FLOAT eM21; -;; FLOAT eM22; -;; FLOAT eDx; -;; FLOAT eDy; -;; } XFORM, *PXFORM, FAR *LPXFORM; -;; -;;/* Bitmap Header Definition */ -;;typedef struct tagBITMAP -;; { -;; LONG bmType; -;; LONG bmWidth; -;; LONG bmHeight; -;; LONG bmWidthBytes; -;; WORD bmPlanes; -;; WORD bmBitsPixel; -;; LPVOID bmBits; -;; } BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP; -;; -;;typedef struct tagRGBTRIPLE { -;; BYTE rgbtBlue; -;; BYTE rgbtGreen; -;; BYTE rgbtRed; -;;} RGBTRIPLE; -;; -;;typedef struct tagRGBQUAD { -;; BYTE rgbBlue; -;; BYTE rgbGreen; -;; BYTE rgbRed; -;; BYTE rgbReserved; -;;} RGBQUAD; -;; -;;/* structures for defining DIBs */ -;;typedef struct tagBITMAPCOREHEADER { -;; DWORD bcSize; /* used to get to color table */ -;; WORD bcWidth; -;; WORD bcHeight; -;; WORD bcPlanes; -;; WORD bcBitCount; -;;} BITMAPCOREHEADER, FAR *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER; -;; -;; -;;typedef struct tagBITMAPINFOHEADER{ -;; DWORD biSize; -;; LONG biWidth; -;; LONG biHeight; -;; WORD biPlanes; -;; WORD biBitCount; -;; DWORD biCompression; -;; DWORD biSizeImage; -;; LONG biXPelsPerMeter; -;; LONG biYPelsPerMeter; -;; DWORD biClrUsed; -;; DWORD biClrImportant; -;;} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER; -;; -;;/* constants for the biCompression field */ +;;constants for the biCompression field (define-integrable BI_RGB 0) (define-integrable BI_RLE8 1) (define-integrable BI_RLE4 2) (define-integrable BI_BITFIELDS 3) -;;typedef struct tagBITMAPINFO { -;; BITMAPINFOHEADER bmiHeader; -;; RGBQUAD bmiColors[1]; -;;} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO; -;; -;;typedef struct tagBITMAPCOREINFO { -;; BITMAPCOREHEADER bmciHeader; -;; RGBTRIPLE bmciColors[1]; -;;} BITMAPCOREINFO, FAR *LPBITMAPCOREINFO, *PBITMAPCOREINFO; -;; -;;#pragma pack(2) -;;typedef struct tagBITMAPFILEHEADER { -;; WORD bfType; -;; DWORD bfSize; -;; WORD bfReserved1; -;; WORD bfReserved2; -;; DWORD bfOffBits; -;;} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; -;;#pragma pack() -;; -;;#define MAKEPOINTS(l) (*((POINTS FAR *)&(l))) -;; -;;#ifndef NOMETAFILE -;; -;;/* Clipboard Metafile Picture Structure */ -;;typedef struct tagHANDLETABLE -;; { -;; HGDIOBJ objectHandle[1]; -;; } HANDLETABLE, *PHANDLETABLE, FAR *LPHANDLETABLE; -;; -;;typedef struct tagMETARECORD -;; { -;; DWORD rdSize; -;; WORD rdFunction; -;; WORD rdParm[1]; -;; } METARECORD; -;;typedef struct tagMETARECORD UNALIGNED *PMETARECORD; -;;typedef struct tagMETARECORD UNALIGNED FAR *LPMETARECORD; -;; -;;typedef struct tagMETAFILEPICT -;; { -;; LONG mm; -;; LONG xExt; -;; LONG yExt; -;; HMETAFILE hMF; -;; } METAFILEPICT, FAR *LPMETAFILEPICT; -;; -;;#pragma pack(2) -;;typedef struct tagMETAHEADER -;;{ -;; WORD mtType; -;; WORD mtHeaderSize; -;; WORD mtVersion; -;; DWORD mtSize; -;; WORD mtNoObjects; -;; DWORD mtMaxRecord; -;; WORD mtNoParameters; -;;} METAHEADER; -;;typedef struct tagMETAHEADER UNALIGNED *PMETAHEADER; -;;typedef struct tagMETAHEADER UNALIGNED FAR *LPMETAHEADER; -;; -;;#pragma pack() -;; -;;/* Enhanced Metafile structures */ -;;typedef struct tagENHMETARECORD -;;{ -;; DWORD iType; // Record type MR_XXX -;; DWORD nSize; // Record size in bytes -;; DWORD dParm[1]; // Parameters -;;} ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD; -;; -;;typedef struct tagENHMETAHEADER -;;{ -;; DWORD iType; // Record type MR_METAFILE -;; DWORD nSize; // Record size in bytes. This may be greater -;; // than the sizeof(ENHMETAHEADER). -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; RECTL rclFrame; // Inclusive-inclusive Picture Frame of metafile in .01 mm units -;; DWORD dSignature; // Signature. Must be ENHMETA_SIGNATURE. -;; DWORD nVersion; // Version number -;; DWORD nBytes; // Size of the metafile in bytes -;; DWORD nRecords; // Number of records in the metafile -;; WORD nHandles; // Number of handles in the handle table -;; // Handle index zero is reserved. -;; WORD sReserved; // Reserved. Must be zero. -;; DWORD nDescription; // Number of chars in the unicode description string -;; // This is 0 if there is no description string -;; DWORD offDescription; // Offset to the metafile description record. -;; // This is 0 if there is no description string -;; DWORD nPalEntries; // Number of entries in the metafile palette. -;; SIZEL szlDevice; // Size of the reference device in pels -;; SIZEL szlMillimeters; // Size of the reference device in millimeters -;;} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER; -;; -;;#endif /* NOMETAFILE */ -;; -;;#ifndef NOTEXTMETRIC -;; -;;/* tmPitchAntFamily flags */ +;;tmPitchAntFamily flags (define-integrable TMPF_FIXED_PITCH #x01) (define-integrable TMPF_VECTOR #x02) (define-integrable TMPF_DEVICE #x08) (define-integrable TMPF_TRUETYPE #x04) -;;typedef struct tagTEXTMETRICA -;;{ -;; LONG tmHeight; -;; LONG tmAscent; -;; LONG tmDescent; -;; LONG tmInternalLeading; -;; LONG tmExternalLeading; -;; LONG tmAveCharWidth; -;; LONG tmMaxCharWidth; -;; LONG tmWeight; -;; LONG tmOverhang; -;; LONG tmDigitizedAspectX; -;; LONG tmDigitizedAspectY; -;; BYTE tmFirstChar; -;; BYTE tmLastChar; -;; BYTE tmDefaultChar; -;; BYTE tmBreakChar; -;; BYTE tmItalic; -;; BYTE tmUnderlined; -;; BYTE tmStruckOut; -;; BYTE tmPitchAndFamily; -;; BYTE tmCharSet; -;;} TEXTMETRICA, *PTEXTMETRICA, NEAR *NPTEXTMETRICA, FAR *LPTEXTMETRICA; -;;typedef struct tagTEXTMETRICW -;;{ -;; LONG tmHeight; -;; LONG tmAscent; -;; LONG tmDescent; -;; LONG tmInternalLeading; -;; LONG tmExternalLeading; -;; LONG tmAveCharWidth; -;; LONG tmMaxCharWidth; -;; LONG tmWeight; -;; LONG tmOverhang; -;; LONG tmDigitizedAspectX; -;; LONG tmDigitizedAspectY; -;; WCHAR tmFirstChar; -;; WCHAR tmLastChar; -;; WCHAR tmDefaultChar; -;; WCHAR tmBreakChar; -;; BYTE tmItalic; -;; BYTE tmUnderlined; -;; BYTE tmStruckOut; -;; BYTE tmPitchAndFamily; -;; BYTE tmCharSet; -;;} TEXTMETRICW, *PTEXTMETRICW, NEAR *NPTEXTMETRICW, FAR *LPTEXTMETRICW; -;;#ifdef UNICODE -;;typedef TEXTMETRICW TEXTMETRIC; -;;typedef PTEXTMETRICW PTEXTMETRIC; -;;typedef NPTEXTMETRICW NPTEXTMETRIC; -;;typedef LPTEXTMETRICW LPTEXTMETRIC; -;;#else -;;typedef TEXTMETRICA TEXTMETRIC; -;;typedef PTEXTMETRICA PTEXTMETRIC; -;;typedef NPTEXTMETRICA NPTEXTMETRIC; -;;typedef LPTEXTMETRICA LPTEXTMETRIC; -;;#endif // UNICODE -;; -;;/* ntmFlags field flags */ +;;ntmFlags field flags (define-integrable NTM_REGULAR #x00000040) (define-integrable NTM_BOLD #x00000020) (define-integrable NTM_ITALIC #x00000001) -;; -;;typedef struct tagNEWTEXTMETRICA -;;{ -;; LONG tmHeight; -;; LONG tmAscent; -;; LONG tmDescent; -;; LONG tmInternalLeading; -;; LONG tmExternalLeading; -;; LONG tmAveCharWidth; -;; LONG tmMaxCharWidth; -;; LONG tmWeight; -;; LONG tmOverhang; -;; LONG tmDigitizedAspectX; -;; LONG tmDigitizedAspectY; -;; BYTE tmFirstChar; -;; BYTE tmLastChar; -;; BYTE tmDefaultChar; -;; BYTE tmBreakChar; -;; BYTE tmItalic; -;; BYTE tmUnderlined; -;; BYTE tmStruckOut; -;; BYTE tmPitchAndFamily; -;; BYTE tmCharSet; -;; DWORD ntmFlags; -;; UINT ntmSizeEM; -;; UINT ntmCellHeight; -;; UINT ntmAvgWidth; -;;} NEWTEXTMETRICA, *PNEWTEXTMETRICA, NEAR *NPNEWTEXTMETRICA, FAR *LPNEWTEXTMETRICA; -;;typedef struct tagNEWTEXTMETRICW -;;{ -;; LONG tmHeight; -;; LONG tmAscent; -;; LONG tmDescent; -;; LONG tmInternalLeading; -;; LONG tmExternalLeading; -;; LONG tmAveCharWidth; -;; LONG tmMaxCharWidth; -;; LONG tmWeight; -;; LONG tmOverhang; -;; LONG tmDigitizedAspectX; -;; LONG tmDigitizedAspectY; -;; WCHAR tmFirstChar; -;; WCHAR tmLastChar; -;; WCHAR tmDefaultChar; -;; WCHAR tmBreakChar; -;; BYTE tmItalic; -;; BYTE tmUnderlined; -;; BYTE tmStruckOut; -;; BYTE tmPitchAndFamily; -;; BYTE tmCharSet; -;; DWORD ntmFlags; -;; UINT ntmSizeEM; -;; UINT ntmCellHeight; -;; UINT ntmAvgWidth; -;;} NEWTEXTMETRICW, *PNEWTEXTMETRICW, NEAR *NPNEWTEXTMETRICW, FAR *LPNEWTEXTMETRICW; -;;#ifdef UNICODE -;;typedef NEWTEXTMETRICW NEWTEXTMETRIC; -;;typedef PNEWTEXTMETRICW PNEWTEXTMETRIC; -;;typedef NPNEWTEXTMETRICW NPNEWTEXTMETRIC; -;;typedef LPNEWTEXTMETRICW LPNEWTEXTMETRIC; -;;#else -;;typedef NEWTEXTMETRICA NEWTEXTMETRIC; -;;typedef PNEWTEXTMETRICA PNEWTEXTMETRIC; -;;typedef NPNEWTEXTMETRICA NPNEWTEXTMETRIC; -;;typedef LPNEWTEXTMETRICA LPNEWTEXTMETRIC; -;;#endif // UNICODE -;; -;;#endif /* NOTEXTMETRIC */ -;;/* GDI Logical Objects: */ -;; -;;/* Pel Array */ -;;typedef struct tagPELARRAY -;; { -;; LONG paXCount; -;; LONG paYCount; -;; LONG paXExt; -;; LONG paYExt; -;; BYTE paRGBs; -;; } PELARRAY, *PPELARRAY, NEAR *NPPELARRAY, FAR *LPPELARRAY; -;; -;;/* Logical Brush (or Pattern) */ -;;typedef struct tagLOGBRUSH -;; { -;; UINT lbStyle; -;; COLORREF lbColor; -;; LONG lbHatch; -;; } LOGBRUSH, *PLOGBRUSH, NEAR *NPLOGBRUSH, FAR *LPLOGBRUSH; -;; -;;typedef LOGBRUSH PATTERN; -;;typedef PATTERN *PPATTERN; -;;typedef PATTERN NEAR *NPPATTERN; -;;typedef PATTERN FAR *LPPATTERN; -;; -;;/* Logical Pen */ -;;typedef struct tagLOGPEN -;; { -;; UINT lopnStyle; -;; POINT lopnWidth; -;; COLORREF lopnColor; -;; } LOGPEN, *PLOGPEN, NEAR *NPLOGPEN, FAR *LPLOGPEN; -;; -;;typedef struct tagEXTLOGPEN { -;; DWORD elpPenStyle; -;; DWORD elpWidth; -;; UINT elpBrushStyle; -;; COLORREF elpColor; -;; LONG elpHatch; -;; DWORD elpNumEntries; -;; DWORD elpStyleEntry[1]; -;;} EXTLOGPEN, *PEXTLOGPEN, NEAR *NPEXTLOGPEN, FAR *LPEXTLOGPEN; -;; -;;typedef struct tagPALETTEENTRY { -;; BYTE peRed; -;; BYTE peGreen; -;; BYTE peBlue; -;; BYTE peFlags; -;;} PALETTEENTRY, *PPALETTEENTRY, FAR *LPPALETTEENTRY; -;; -;;/* Logical Palette */ -;;typedef struct tagLOGPALETTE { -;; WORD palVersion; -;; WORD palNumEntries; -;; PALETTEENTRY palPalEntry[1]; -;;} LOGPALETTE, *PLOGPALETTE, NEAR *NPLOGPALETTE, FAR *LPLOGPALETTE; -;; -;; -;;/* Logical Font */ -;;#define LF_FACESIZE 32 -;; -;;typedef struct tagLOGFONTA -;;{ -;; LONG lfHeight; -;; LONG lfWidth; -;; LONG lfEscapement; -;; LONG lfOrientation; -;; LONG lfWeight; -;; BYTE lfItalic; -;; BYTE lfUnderline; -;; BYTE lfStrikeOut; -;; BYTE lfCharSet; -;; BYTE lfOutPrecision; -;; BYTE lfClipPrecision; -;; BYTE lfQuality; -;; BYTE lfPitchAndFamily; -;; CHAR lfFaceName[LF_FACESIZE]; -;;} LOGFONTA, *PLOGFONTA, NEAR *NPLOGFONTA, FAR *LPLOGFONTA; -;;typedef struct tagLOGFONTW -;;{ -;; LONG lfHeight; -;; LONG lfWidth; -;; LONG lfEscapement; -;; LONG lfOrientation; -;; LONG lfWeight; -;; BYTE lfItalic; -;; BYTE lfUnderline; -;; BYTE lfStrikeOut; -;; BYTE lfCharSet; -;; BYTE lfOutPrecision; -;; BYTE lfClipPrecision; -;; BYTE lfQuality; -;; BYTE lfPitchAndFamily; -;; WCHAR lfFaceName[LF_FACESIZE]; -;;} LOGFONTW, *PLOGFONTW, NEAR *NPLOGFONTW, FAR *LPLOGFONTW; -;;#ifdef UNICODE -;;typedef LOGFONTW LOGFONT; -;;typedef PLOGFONTW PLOGFONT; -;;typedef NPLOGFONTW NPLOGFONT; -;;typedef LPLOGFONTW LPLOGFONT; -;;#else -;;typedef LOGFONTA LOGFONT; -;;typedef PLOGFONTA PLOGFONT; -;;typedef NPLOGFONTA NPLOGFONT; -;;typedef LPLOGFONTA LPLOGFONT; -;;#endif // UNICODE -;; + (define-integrable LF_FULLFACESIZE 64) -;; -;;/* Structure passed to FONTENUMPROC */ -;;typedef struct tagENUMLOGFONTA -;;{ -;; LOGFONTA elfLogFont; -;; BYTE elfFullName[LF_FULLFACESIZE]; -;; BYTE elfStyle[LF_FACESIZE]; -;;} ENUMLOGFONTA, FAR* LPENUMLOGFONTA; -;;/* Structure passed to FONTENUMPROC */ -;;typedef struct tagENUMLOGFONTW -;;{ -;; LOGFONTW elfLogFont; -;; WCHAR elfFullName[LF_FULLFACESIZE]; -;; WCHAR elfStyle[LF_FACESIZE]; -;;} ENUMLOGFONTW, FAR* LPENUMLOGFONTW; -;;#ifdef UNICODE -;;typedef ENUMLOGFONTW ENUMLOGFONT; -;;typedef LPENUMLOGFONTW LPENUMLOGFONT; -;;#else -;;typedef ENUMLOGFONTA ENUMLOGFONT; -;;typedef LPENUMLOGFONTA LPENUMLOGFONT; -;;#endif // UNICODE -;; + (define-integrable OUT_DEFAULT_PRECIS 0) (define-integrable OUT_STRING_PRECIS 1) (define-integrable OUT_CHARACTER_PRECIS 2) @@ -770,18 +348,18 @@ (define-integrable CHINESEBIG5_CHARSET 136) (define-integrable OEM_CHARSET 255) -;;/* Font Families */ -(define-integrable FF_DONTCARE (fix:lsh 0 4)) ;/* Don't care or don't know. */ -(define-integrable FF_ROMAN (fix:lsh 1 4)) ;/* Variable stroke width, serifed. */ - ;/* Times Roman, Century Schoolbook, etc. */ -(define-integrable FF_SWISS (fix:lsh 2 4)) ;/* Variable stroke width, sans-serifed. */ - ;/* Helvetica, Swiss, etc. */ -(define-integrable FF_MODERN (fix:lsh 3 4)) ;/* Constant stroke width, serifed or sans-serifed. */ - ;/* Pica, Elite, Courier, etc. */ -(define-integrable FF_SCRIPT (fix:lsh 4 4)) ;/* Cursive, etc. */ -(define-integrable FF_DECORATIVE (fix:lsh 5 4)) ;/* Old English, etc. */ - -;;/* Font Weights */ +;;Font Families +(define-integrable FF_DONTCARE (fix:lsh 0 4)) ;Don't care or don't know. +(define-integrable FF_ROMAN (fix:lsh 1 4)) ;Variable stroke width, serifed. + ;Times Roman, Century Schoolbook, etc. +(define-integrable FF_SWISS (fix:lsh 2 4)) ;Variable stroke width, sans-serifed. + ;Helvetica, Swiss, etc. +(define-integrable FF_MODERN (fix:lsh 3 4)) ;Constant stroke width, serifed or sans-serifed. + ;Pica, Elite, Courier, etc. +(define-integrable FF_SCRIPT (fix:lsh 4 4)) ;Cursive, etc. +(define-integrable FF_DECORATIVE (fix:lsh 5 4)) ;Old English, etc. + +;;Font Weights (define-integrable FW_DONTCARE 0) (define-integrable FW_THIN 100) (define-integrable FW_EXTRALIGHT 200) @@ -813,209 +391,146 @@ (define-integrable PAN_CULTURE_LATIN 0) -;;typedef struct tagPANOSE -;;{ -;; BYTE bFamilyType; -;; BYTE bSerifStyle; -;; BYTE bWeight; -;; BYTE bProportion; -;; BYTE bContrast; -;; BYTE bStrokeVariation; -;; BYTE bArmStyle; -;; BYTE bLetterform; -;; BYTE bMidline; -;; BYTE bXHeight; -;;} PANOSE, * LPPANOSE; - -(define-integrable PAN_ANY 0);/* Any */ -(define-integrable PAN_NO_FIT 1);/* No Fit */ - -(define-integrable PAN_FAMILY_TEXT_DISPLAY 2);/* Text and Display */ -(define-integrable PAN_FAMILY_SCRIPT 3);/* Script */ -(define-integrable PAN_FAMILY_DECORATIVE 4);/* Decorative */ -(define-integrable PAN_FAMILY_PICTORIAL 5);/* Pictorial */ - -(define-integrable PAN_SERIF_COVE 2);/* Cove */ -(define-integrable PAN_SERIF_OBTUSE_COVE 3);/* Obtuse Cove */ -(define-integrable PAN_SERIF_SQUARE_COVE 4);/* Square Cove */ -(define-integrable PAN_SERIF_OBTUSE_SQUARE_COVE 5);/* Obtuse Square Cove */ -(define-integrable PAN_SERIF_SQUARE 6);/* Square */ -(define-integrable PAN_SERIF_THIN 7);/* Thin */ -(define-integrable PAN_SERIF_BONE 8);/* Bone */ -(define-integrable PAN_SERIF_EXAGGERATED 9);/* Exaggerated */ -(define-integrable PAN_SERIF_TRIANGLE 10);/* Triangle */ -(define-integrable PAN_SERIF_NORMAL_SANS 11);/* Normal Sans */ -(define-integrable PAN_SERIF_OBTUSE_SANS 12);/* Obtuse Sans */ -(define-integrable PAN_SERIF_PERP_SANS 13);/* Prep Sans */ -(define-integrable PAN_SERIF_FLARED 14);/* Flared */ -(define-integrable PAN_SERIF_ROUNDED 15);/* Rounded */ - -(define-integrable PAN_WEIGHT_VERY_LIGHT 2);/* Very Light */ -(define-integrable PAN_WEIGHT_LIGHT 3);/* Light */ -(define-integrable PAN_WEIGHT_THIN 4);/* Thin */ -(define-integrable PAN_WEIGHT_BOOK 5);/* Book */ -(define-integrable PAN_WEIGHT_MEDIUM 6);/* Medium */ -(define-integrable PAN_WEIGHT_DEMI 7);/* Demi */ -(define-integrable PAN_WEIGHT_BOLD 8);/* Bold */ -(define-integrable PAN_WEIGHT_HEAVY 9);/* Heavy */ -(define-integrable PAN_WEIGHT_BLACK 10);/* Black */ -(define-integrable PAN_WEIGHT_NORD 11);/* Nord */ - -(define-integrable PAN_PROP_OLD_STYLE 2);/* Old Style */ -(define-integrable PAN_PROP_MODERN 3);/* Modern */ -(define-integrable PAN_PROP_EVEN_WIDTH 4);/* Even Width */ -(define-integrable PAN_PROP_EXPANDED 5);/* Expanded */ -(define-integrable PAN_PROP_CONDENSED 6);/* Condensed */ -(define-integrable PAN_PROP_VERY_EXPANDED 7);/* Very Expanded */ -(define-integrable PAN_PROP_VERY_CONDENSED 8);/* Very Condensed */ -(define-integrable PAN_PROP_MONOSPACED 9);/* Monospaced */ - -(define-integrable PAN_CONTRAST_NONE 2);/* None */ -(define-integrable PAN_CONTRAST_VERY_LOW 3);/* Very Low */ -(define-integrable PAN_CONTRAST_LOW 4);/* Low */ -(define-integrable PAN_CONTRAST_MEDIUM_LOW 5);/* Medium Low */ -(define-integrable PAN_CONTRAST_MEDIUM 6);/* Medium */ -(define-integrable PAN_CONTRAST_MEDIUM_HIGH 7);/* Mediim High */ -(define-integrable PAN_CONTRAST_HIGH 8);/* High */ -(define-integrable PAN_CONTRAST_VERY_HIGH 9);/* Very High */ - -(define-integrable PAN_STROKE_GRADUAL_DIAG 2);/* Gradual/Diagonal */ -(define-integrable PAN_STROKE_GRADUAL_TRAN 3);/* Gradual/Transitional */ -(define-integrable PAN_STROKE_GRADUAL_VERT 4);/* Gradual/Vertical */ -(define-integrable PAN_STROKE_GRADUAL_HORZ 5);/* Gradual/Horizontal */ -(define-integrable PAN_STROKE_RAPID_VERT 6);/* Rapid/Vertical */ -(define-integrable PAN_STROKE_RAPID_HORZ 7);/* Rapid/Horizontal */ -(define-integrable PAN_STROKE_INSTANT_VERT 8);/* Instant/Vertical */ - -(define-integrable PAN_STRAIGHT_ARMS_HORZ 2);/* Straight Arms/Horizontal */ -(define-integrable PAN_STRAIGHT_ARMS_WEDGE 3);/* Straight Arms/Wedge */ -(define-integrable PAN_STRAIGHT_ARMS_VERT 4);/* Straight Arms/Vertical */ -(define-integrable PAN_STRAIGHT_ARMS_SINGLE_SERIF 5);/* Straight Arms/Single-Serif */ -(define-integrable PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6);/* Straight Arms/Double-Serif */ -(define-integrable PAN_BENT_ARMS_HORZ 7);/* Non-Straight Arms/Horizontal */ -(define-integrable PAN_BENT_ARMS_WEDGE 8);/* Non-Straight Arms/Wedge */ -(define-integrable PAN_BENT_ARMS_VERT 9);/* Non-Straight Arms/Vertical */ -(define-integrable PAN_BENT_ARMS_SINGLE_SERIF 10);/* Non-Straight Arms/Single-Serif */ -(define-integrable PAN_BENT_ARMS_DOUBLE_SERIF 11);/* Non-Straight Arms/Double-Serif */ - -(define-integrable PAN_LETT_NORMAL_CONTACT 2);/* Normal/Contact */ -(define-integrable PAN_LETT_NORMAL_WEIGHTED 3);/* Normal/Weighted */ -(define-integrable PAN_LETT_NORMAL_BOXED 4);/* Normal/Boxed */ -(define-integrable PAN_LETT_NORMAL_FLATTENED 5);/* Normal/Flattened */ -(define-integrable PAN_LETT_NORMAL_ROUNDED 6);/* Normal/Rounded */ -(define-integrable PAN_LETT_NORMAL_OFF_CENTER 7);/* Normal/Off Center */ -(define-integrable PAN_LETT_NORMAL_SQUARE 8);/* Normal/Square */ -(define-integrable PAN_LETT_OBLIQUE_CONTACT 9);/* Oblique/Contact */ -(define-integrable PAN_LETT_OBLIQUE_WEIGHTED 10);/* Oblique/Weighted */ -(define-integrable PAN_LETT_OBLIQUE_BOXED 11);/* Oblique/Boxed */ -(define-integrable PAN_LETT_OBLIQUE_FLATTENED 12);/* Oblique/Flattened */ -(define-integrable PAN_LETT_OBLIQUE_ROUNDED 13);/* Oblique/Rounded */ -(define-integrable PAN_LETT_OBLIQUE_OFF_CENTER 14);/* Oblique/Off Center */ -(define-integrable PAN_LETT_OBLIQUE_SQUARE 15);/* Oblique/Square */ - -(define-integrable PAN_MIDLINE_STANDARD_TRIMMED 2);/* Standard/Trimmed */ -(define-integrable PAN_MIDLINE_STANDARD_POINTED 3);/* Standard/Pointed */ -(define-integrable PAN_MIDLINE_STANDARD_SERIFED 4);/* Standard/Serifed */ -(define-integrable PAN_MIDLINE_HIGH_TRIMMED 5);/* High/Trimmed */ -(define-integrable PAN_MIDLINE_HIGH_POINTED 6);/* High/Pointed */ -(define-integrable PAN_MIDLINE_HIGH_SERIFED 7);/* High/Serifed */ -(define-integrable PAN_MIDLINE_CONSTANT_TRIMMED 8);/* Constant/Trimmed */ -(define-integrable PAN_MIDLINE_CONSTANT_POINTED 9);/* Constant/Pointed */ -(define-integrable PAN_MIDLINE_CONSTANT_SERIFED 10);/* Constant/Serifed */ -(define-integrable PAN_MIDLINE_LOW_TRIMMED 11);/* Low/Trimmed */ -(define-integrable PAN_MIDLINE_LOW_POINTED 12);/* Low/Pointed */ -(define-integrable PAN_MIDLINE_LOW_SERIFED 13);/* Low/Serifed */ - -(define-integrable PAN_XHEIGHT_CONSTANT_SMALL 2);/* Constant/Small */ -(define-integrable PAN_XHEIGHT_CONSTANT_STD 3);/* Constant/Standard */ -(define-integrable PAN_XHEIGHT_CONSTANT_LARGE 4);/* Constant/Large */ -(define-integrable PAN_XHEIGHT_DUCKING_SMALL 5);/* Ducking/Small */ -(define-integrable PAN_XHEIGHT_DUCKING_STD 6);/* Ducking/Standard */ -(define-integrable PAN_XHEIGHT_DUCKING_LARGE 7);/* Ducking/Large */ - +(define-integrable PAN_ANY 0);Any +(define-integrable PAN_NO_FIT 1);No Fit + +(define-integrable PAN_FAMILY_TEXT_DISPLAY 2);Text and Display +(define-integrable PAN_FAMILY_SCRIPT 3);Script +(define-integrable PAN_FAMILY_DECORATIVE 4);Decorative +(define-integrable PAN_FAMILY_PICTORIAL 5);Pictorial + +(define-integrable PAN_SERIF_COVE 2);Cove +(define-integrable PAN_SERIF_OBTUSE_COVE 3);Obtuse Cove +(define-integrable PAN_SERIF_SQUARE_COVE 4);Square Cove +(define-integrable PAN_SERIF_OBTUSE_SQUARE_COVE 5);Obtuse Square Cove +(define-integrable PAN_SERIF_SQUARE 6);Square +(define-integrable PAN_SERIF_THIN 7);Thin +(define-integrable PAN_SERIF_BONE 8);Bone +(define-integrable PAN_SERIF_EXAGGERATED 9);Exaggerated +(define-integrable PAN_SERIF_TRIANGLE 10);Triangle +(define-integrable PAN_SERIF_NORMAL_SANS 11);Normal Sans +(define-integrable PAN_SERIF_OBTUSE_SANS 12);Obtuse Sans +(define-integrable PAN_SERIF_PERP_SANS 13);Prep Sans +(define-integrable PAN_SERIF_FLARED 14);Flared +(define-integrable PAN_SERIF_ROUNDED 15);Rounded + +(define-integrable PAN_WEIGHT_VERY_LIGHT 2);Very Light +(define-integrable PAN_WEIGHT_LIGHT 3);Light +(define-integrable PAN_WEIGHT_THIN 4);Thin +(define-integrable PAN_WEIGHT_BOOK 5);Book +(define-integrable PAN_WEIGHT_MEDIUM 6);Medium +(define-integrable PAN_WEIGHT_DEMI 7);Demi +(define-integrable PAN_WEIGHT_BOLD 8);Bold +(define-integrable PAN_WEIGHT_HEAVY 9);Heavy +(define-integrable PAN_WEIGHT_BLACK 10);Black +(define-integrable PAN_WEIGHT_NORD 11);Nord + +(define-integrable PAN_PROP_OLD_STYLE 2);Old Style +(define-integrable PAN_PROP_MODERN 3);Modern +(define-integrable PAN_PROP_EVEN_WIDTH 4);Even Width +(define-integrable PAN_PROP_EXPANDED 5);Expanded +(define-integrable PAN_PROP_CONDENSED 6);Condensed +(define-integrable PAN_PROP_VERY_EXPANDED 7);Very Expanded +(define-integrable PAN_PROP_VERY_CONDENSED 8);Very Condensed +(define-integrable PAN_PROP_MONOSPACED 9);Monospaced + +(define-integrable PAN_CONTRAST_NONE 2);None +(define-integrable PAN_CONTRAST_VERY_LOW 3);Very Low +(define-integrable PAN_CONTRAST_LOW 4);Low +(define-integrable PAN_CONTRAST_MEDIUM_LOW 5);Medium Low +(define-integrable PAN_CONTRAST_MEDIUM 6);Medium +(define-integrable PAN_CONTRAST_MEDIUM_HIGH 7);Mediim High +(define-integrable PAN_CONTRAST_HIGH 8);High +(define-integrable PAN_CONTRAST_VERY_HIGH 9);Very High + +(define-integrable PAN_STROKE_GRADUAL_DIAG 2);Gradual/Diagonal +(define-integrable PAN_STROKE_GRADUAL_TRAN 3);Gradual/Transitional +(define-integrable PAN_STROKE_GRADUAL_VERT 4);Gradual/Vertical +(define-integrable PAN_STROKE_GRADUAL_HORZ 5);Gradual/Horizontal +(define-integrable PAN_STROKE_RAPID_VERT 6);Rapid/Vertical +(define-integrable PAN_STROKE_RAPID_HORZ 7);Rapid/Horizontal +(define-integrable PAN_STROKE_INSTANT_VERT 8);Instant/Vertical + +(define-integrable PAN_STRAIGHT_ARMS_HORZ 2);Straight Arms/Horizontal +(define-integrable PAN_STRAIGHT_ARMS_WEDGE 3);Straight Arms/Wedge +(define-integrable PAN_STRAIGHT_ARMS_VERT 4);Straight Arms/Vertical +(define-integrable PAN_STRAIGHT_ARMS_SINGLE_SERIF 5);Straight Arms/Single-Serif +(define-integrable PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6);Straight Arms/Double-Serif +(define-integrable PAN_BENT_ARMS_HORZ 7);Non-Straight Arms/Horizontal +(define-integrable PAN_BENT_ARMS_WEDGE 8);Non-Straight Arms/Wedge +(define-integrable PAN_BENT_ARMS_VERT 9);Non-Straight Arms/Vertical +(define-integrable PAN_BENT_ARMS_SINGLE_SERIF 10);Non-Straight Arms/Single-Serif +(define-integrable PAN_BENT_ARMS_DOUBLE_SERIF 11);Non-Straight Arms/Double-Serif + +(define-integrable PAN_LETT_NORMAL_CONTACT 2);Normal/Contact +(define-integrable PAN_LETT_NORMAL_WEIGHTED 3);Normal/Weighted +(define-integrable PAN_LETT_NORMAL_BOXED 4);Normal/Boxed +(define-integrable PAN_LETT_NORMAL_FLATTENED 5);Normal/Flattened +(define-integrable PAN_LETT_NORMAL_ROUNDED 6);Normal/Rounded +(define-integrable PAN_LETT_NORMAL_OFF_CENTER 7);Normal/Off Center +(define-integrable PAN_LETT_NORMAL_SQUARE 8);Normal/Square +(define-integrable PAN_LETT_OBLIQUE_CONTACT 9);Oblique/Contact +(define-integrable PAN_LETT_OBLIQUE_WEIGHTED 10);Oblique/Weighted +(define-integrable PAN_LETT_OBLIQUE_BOXED 11);Oblique/Boxed +(define-integrable PAN_LETT_OBLIQUE_FLATTENED 12);Oblique/Flattened +(define-integrable PAN_LETT_OBLIQUE_ROUNDED 13);Oblique/Rounded +(define-integrable PAN_LETT_OBLIQUE_OFF_CENTER 14);Oblique/Off Center +(define-integrable PAN_LETT_OBLIQUE_SQUARE 15);Oblique/Square + +(define-integrable PAN_MIDLINE_STANDARD_TRIMMED 2);Standard/Trimmed +(define-integrable PAN_MIDLINE_STANDARD_POINTED 3);Standard/Pointed +(define-integrable PAN_MIDLINE_STANDARD_SERIFED 4);Standard/Serifed +(define-integrable PAN_MIDLINE_HIGH_TRIMMED 5);High/Trimmed +(define-integrable PAN_MIDLINE_HIGH_POINTED 6);High/Pointed +(define-integrable PAN_MIDLINE_HIGH_SERIFED 7);High/Serifed +(define-integrable PAN_MIDLINE_CONSTANT_TRIMMED 8);Constant/Trimmed +(define-integrable PAN_MIDLINE_CONSTANT_POINTED 9);Constant/Pointed +(define-integrable PAN_MIDLINE_CONSTANT_SERIFED 10);Constant/Serifed +(define-integrable PAN_MIDLINE_LOW_TRIMMED 11);Low/Trimmed +(define-integrable PAN_MIDLINE_LOW_POINTED 12);Low/Pointed +(define-integrable PAN_MIDLINE_LOW_SERIFED 13);Low/Serifed + +(define-integrable PAN_XHEIGHT_CONSTANT_SMALL 2);Constant/Small +(define-integrable PAN_XHEIGHT_CONSTANT_STD 3);Constant/Standard +(define-integrable PAN_XHEIGHT_CONSTANT_LARGE 4);Constant/Large +(define-integrable PAN_XHEIGHT_DUCKING_SMALL 5);Ducking/Small +(define-integrable PAN_XHEIGHT_DUCKING_STD 6);Ducking/Standard +(define-integrable PAN_XHEIGHT_DUCKING_LARGE 7);Ducking/Large (define-integrable ELF_VENDOR_SIZE 4) -;;/* The extended logical font */ -;;/* An extension of the ENUMLOGFONT */ - -;;typedef struct tagEXTLOGFONTA { -;; LOGFONTA elfLogFont; -;; BYTE elfFullName[LF_FULLFACESIZE]; -;; BYTE elfStyle[LF_FACESIZE]; -;; DWORD elfVersion; /* 0 for the first release of NT */ -;; DWORD elfStyleSize; -;; DWORD elfMatch; -;; DWORD elfReserved; -;; BYTE elfVendorId[ELF_VENDOR_SIZE]; -;; DWORD elfCulture; /* 0 for Latin */ -;; PANOSE elfPanose; -;;} EXTLOGFONTA, *PEXTLOGFONTA, NEAR *NPEXTLOGFONTA, FAR *LPEXTLOGFONTA; -;;typedef struct tagEXTLOGFONTW { -;; LOGFONTW elfLogFont; -;; WCHAR elfFullName[LF_FULLFACESIZE]; -;; WCHAR elfStyle[LF_FACESIZE]; -;; DWORD elfVersion; /* 0 for the first release of NT */ -;; DWORD elfStyleSize; -;; DWORD elfMatch; -;; DWORD elfReserved; -;; BYTE elfVendorId[ELF_VENDOR_SIZE]; -;; DWORD elfCulture; /* 0 for Latin */ -;; PANOSE elfPanose; -;;} EXTLOGFONTW, *PEXTLOGFONTW, NEAR *NPEXTLOGFONTW, FAR *LPEXTLOGFONTW; -;;#ifdef UNICODE -;;typedef EXTLOGFONTW EXTLOGFONT; -;;typedef PEXTLOGFONTW PEXTLOGFONT; -;;typedef NPEXTLOGFONTW NPEXTLOGFONT; -;;typedef LPEXTLOGFONTW LPEXTLOGFONT; -;;#else -;;typedef EXTLOGFONTA EXTLOGFONT; -;;typedef PEXTLOGFONTA PEXTLOGFONT; -;;typedef NPEXTLOGFONTA NPEXTLOGFONT; -;;typedef LPEXTLOGFONTA LPEXTLOGFONT; -;;#endif // UNICODE -;; -;; +;;The extended logical font +;;An extension of the ENUMLOGFONT (define-integrable ELF_VERSION 0) (define-integrable ELF_CULTURE_LATIN 0) -;; -;;/* EnumFonts Masks */ -(define-integrable RASTER_FONTTYPE #x0001) + +;;EnumFonts Masks +(define-integrable RASTER_FONTTYPE #x001) (define-integrable DEVICE_FONTTYPE #x002) (define-integrable TRUETYPE_FONTTYPE #x004) -;; -;;#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16))) -;;#define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b)) -;;#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i))) -;; -;;/* palette entry flags */ -;; -(define-integrable PC_RESERVED #x01 );/* palette index used for animation */ -(define-integrable PC_EXPLICIT #x02 );/* palette index is explicit to device */ -(define-integrable PC_NOCOLLAPSE #x04 );/* do not match color to system palette */ -;;#define GetRValue(rgb) ((BYTE)(rgb)) -;;#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8)) -;;#define GetBValue(rgb) ((BYTE)((rgb)>>16)) -;; -;;/* Background Modes */ +;;palette entry flags +(define-integrable PC_RESERVED #x01 );palette index used for animation +(define-integrable PC_EXPLICIT #x02 );palette index is explicit to device +(define-integrable PC_NOCOLLAPSE #x04 );do not match color to system palette + +;;Background Modes (define-integrable TRANSPARENT 1) (define-integrable OPAQUE 2) (define-integrable BKMODE_LAST 2) -;;/* Graphics Modes */ - +;;Graphics Modes (define-integrable GM_COMPATIBLE 1) (define-integrable GM_ADVANCED 2) (define-integrable GM_LAST 2) -;;/* PolyDraw and GetPath point types */ +;;PolyDraw and GetPath point types (define-integrable PT_CLOSEFIGURE #x01) (define-integrable PT_LINETO #x02) (define-integrable PT_BEZIERTO #x04) (define-integrable PT_MOVETO #x06) -;;/* Mapping Modes */ +;;Mapping Modes (define-integrable MM_TEXT 1) (define-integrable MM_LOMETRIC 2) (define-integrable MM_HIMETRIC 3) @@ -1025,16 +540,16 @@ (define-integrable MM_ISOTROPIC 7) (define-integrable MM_ANISOTROPIC 8) -;;/* Min and Max Mapping Mode values */ +;;Min and Max Mapping Mode values (define-integrable MM_MIN MM_TEXT) (define-integrable MM_MAX MM_ANISOTROPIC) (define-integrable MM_MAX_FIXEDSCALE MM_TWIPS) -;;/* Coordinate Modes */ +;;Coordinate Modes (define-integrable ABSOLUTE 1) (define-integrable RELATIVE 2) -;;/* Stock Logical Objects */ +;;Stock Logical Objects (define-integrable WHITE_BRUSH 0) (define-integrable LTGRAY_BRUSH 1) (define-integrable GRAY_BRUSH 2) @@ -1056,7 +571,7 @@ (define-integrable CLR_INVALID #xFFFFFFFF) -;;/* Brush Styles */ +;;Brush Styles (define-integrable BS_SOLID 0) (define-integrable BS_NULL 1) (define-integrable BS_HOLLOW BS_NULL) @@ -1067,13 +582,13 @@ (define-integrable BS_DIBPATTERNPT 6) (define-integrable BS_PATTERN8X8 7) -;;/* Hatch Styles */ -(define-integrable HS_HORIZONTAL 0) ;/* ----- */ -(define-integrable HS_VERTICAL 1) ;/* ||||| */ -(define-integrable HS_FDIAGONAL 2) ;/* \\\\\ */ -(define-integrable HS_BDIAGONAL 3) ;/* ///// */ -(define-integrable HS_CROSS 4) ;/* +++++ */ -(define-integrable HS_DIAGCROSS 5) ;/* xxxxx */ +;;Hatch Styles +(define-integrable HS_HORIZONTAL 0) ;----- +(define-integrable HS_VERTICAL 1) ;||||| +(define-integrable HS_FDIAGONAL 2) ;\\\\\ +(define-integrable HS_BDIAGONAL 3) ;///// +(define-integrable HS_CROSS 4) ;+++++ +(define-integrable HS_DIAGCROSS 5) ;xxxxx (define-integrable HS_FDIAGONAL1 6) (define-integrable HS_BDIAGONAL1 7) (define-integrable HS_SOLID 8) @@ -1087,20 +602,20 @@ (define-integrable HS_DENSE8 16) (define-integrable HS_NOSHADE 17) (define-integrable HS_HALFTONE 18) -(define-integrable HS_SOLIDCLR 19) -(define-integrable HS_DITHEREDCLR 20) +(define-integrable HS_SOLIDCLR 19) +(define-integrable HS_DITHEREDCLR 20) (define-integrable HS_SOLIDTEXTCLR 21) (define-integrable HS_DITHEREDTEXTCLR 22) -(define-integrable HS_SOLIDBKCLR 23) +(define-integrable HS_SOLIDBKCLR 23) (define-integrable HS_DITHEREDBKCLR 24) -(define-integrable HS_API_MAX 25) +(define-integrable HS_API_MAX 25) -;;/* Pen Styles */ +;;Pen Styles (define-integrable PS_SOLID 0) -(define-integrable PS_DASH 1) ;/* ------- */ -(define-integrable PS_DOT 2) ;/* ....... */ -(define-integrable PS_DASHDOT 3) ;/* _._._._ */ -(define-integrable PS_DASHDOTDOT 4) ;/* _.._.._ */ +(define-integrable PS_DASH 1) ;------- +(define-integrable PS_DOT 2) ;....... +(define-integrable PS_DASHDOT 3) ;_._._._ +(define-integrable PS_DASHDOTDOT 4) ;_.._.._ (define-integrable PS_NULL 5) (define-integrable PS_INSIDEFRAME 6) (define-integrable PS_USERSTYLE 7) @@ -1124,41 +639,39 @@ (define-integrable AD_COUNTERCLOCKWISE 1) (define-integrable AD_CLOCKWISE 2) -;;/* Device Parameters for GetDeviceCaps() */ -(define-integrable DRIVERVERSION 0) ;/* Device driver version */ -(define-integrable TECHNOLOGY 2) ;/* Device classification */ -(define-integrable HORZSIZE 4) ;/* Horizontal size in millimeters */ -(define-integrable VERTSIZE 6) ;/* Vertical size in millimeters */ -(define-integrable HORZRES 8) ;/* Horizontal width in pixels */ -(define-integrable VERTRES 10) ;/* Vertical width in pixels */ -(define-integrable BITSPIXEL 12) ;/* Number of bits per pixel */ -(define-integrable PLANES 14) ;/* Number of planes */ -(define-integrable NUMBRUSHES 16) ;/* Number of brushes the device has */ -(define-integrable NUMPENS 18) ;/* Number of pens the device has */ -(define-integrable NUMMARKERS 20) ;/* Number of markers the device has */ -(define-integrable NUMFONTS 22) ;/* Number of fonts the device has */ -(define-integrable NUMCOLORS 24) ;/* Number of colors the device supports */ -(define-integrable PDEVICESIZE 26) ;/* Size required for device descriptor */ -(define-integrable CURVECAPS 28) ;/* Curve capabilities */ -(define-integrable LINECAPS 30) ;/* Line capabilities */ -(define-integrable POLYGONALCAPS 32) ;/* Polygonal capabilities */ -(define-integrable TEXTCAPS 34) ;/* Text capabilities */ -(define-integrable CLIPCAPS 36) ;/* Clipping capabilities */ -(define-integrable RASTERCAPS 38) ;/* Bitblt capabilities */ -(define-integrable ASPECTX 40) ;/* Length of the X leg */ -(define-integrable ASPECTY 42) ;/* Length of the Y leg */ -(define-integrable ASPECTXY 44) ;/* Length of the hypotenuse */ - -(define-integrable LOGPIXELSX 88) ;/* Logical pixels/inch in X */ -(define-integrable LOGPIXELSY 90) ;/* Logical pixels/inch in Y */ - -(define-integrable SIZEPALETTE 104) ;/* Number of entries in physical palette */ -(define-integrable NUMRESERVED 106) ;/* Number of reserved entries in palette */ -(define-integrable COLORRES 108) ;/* Actual color resolution */ - - -;;// Printing related DeviceCaps. These replace the appropriate Escapes - +;;Device Parameters for GetDeviceCaps +(define-integrable DRIVERVERSION 0) ;Device driver version +(define-integrable TECHNOLOGY 2) ;Device classification +(define-integrable HORZSIZE 4) ;Horizontal size in millimeters +(define-integrable VERTSIZE 6) ;Vertical size in millimeters +(define-integrable HORZRES 8) ;Horizontal width in pixels +(define-integrable VERTRES 10) ;Vertical width in pixels +(define-integrable BITSPIXEL 12) ;Number of bits per pixel +(define-integrable PLANES 14) ;Number of planes +(define-integrable NUMBRUSHES 16) ;Number of brushes the device has +(define-integrable NUMPENS 18) ;Number of pens the device has +(define-integrable NUMMARKERS 20) ;Number of markers the device has +(define-integrable NUMFONTS 22) ;Number of fonts the device has +(define-integrable NUMCOLORS 24) ;Number of colors the device supports +(define-integrable PDEVICESIZE 26) ;Size required for device descriptor +(define-integrable CURVECAPS 28) ;Curve capabilities +(define-integrable LINECAPS 30) ;Line capabilities +(define-integrable POLYGONALCAPS 32) ;Polygonal capabilities +(define-integrable TEXTCAPS 34) ;Text capabilities +(define-integrable CLIPCAPS 36) ;Clipping capabilities +(define-integrable RASTERCAPS 38) ;Bitblt capabilities +(define-integrable ASPECTX 40) ;Length of the X leg +(define-integrable ASPECTY 42) ;Length of the Y leg +(define-integrable ASPECTXY 44) ;Length of the hypotenuse + +(define-integrable LOGPIXELSX 88) ;Logical pixels/inch in X +(define-integrable LOGPIXELSY 90) ;Logical pixels/inch in Y + +(define-integrable SIZEPALETTE 104) ;Number of entries in physical palette +(define-integrable NUMRESERVED 106) ;Number of reserved entries in palette +(define-integrable COLORRES 108) ;Actual color resolution + +;; Printing related DeviceCaps. These replace the appropriate Escapes (define-integrable PHYSICALWIDTH 110) ;// Physical Width in device units (define-integrable PHYSICALHEIGHT 111) ;// Physical Height in device units (define-integrable PHYSICALOFFSETX 112) ;// Physical Printable Area x margin @@ -1166,198 +679,123 @@ (define-integrable SCALINGFACTORX 114) ;// Scaling factor x (define-integrable SCALINGFACTORY 115) ;// Scaling factor y -;;#ifndef NOGDICAPMASKS -;; -;;;/* Device Capability Masks: */ -;; -;;/* Device Technologies */ -(define-integrable DT_PLOTTER 0) ;/* Vector plotter */ -(define-integrable DT_RASDISPLAY 1) ;/* Raster display */ -(define-integrable DT_RASPRINTER 2) ;/* Raster printer */ -(define-integrable DT_RASCAMERA 3) ;/* Raster camera */ -(define-integrable DT_CHARSTREAM 4) ;/* Character-stream, PLP */ -(define-integrable DT_METAFILE 5) ;/* Metafile, VDM */ -(define-integrable DT_DISPFILE 6) ;/* Display-file */ -;; -;;/* Curve Capabilities */ -(define-integrable CC_NONE 0) ;/* Curves not supported */ -(define-integrable CC_CIRCLES 1) ;/* Can do circles */ -(define-integrable CC_PIE 2) ;/* Can do pie wedges */ -(define-integrable CC_CHORD 4) ;/* Can do chord arcs */ -(define-integrable CC_ELLIPSES 8) ;/* Can do ellipese */ -(define-integrable CC_WIDE 16) ;/* Can do wide lines */ -(define-integrable CC_STYLED 32) ;/* Can do styled lines */ -(define-integrable CC_WIDESTYLED 64) ;/* Can do wide styled lines */ -(define-integrable CC_INTERIORS 128) ;/* Can do interiors */ -(define-integrable CC_ROUNDRECT 256) ;/* */ -;; -;;/* Line Capabilities */ -(define-integrable LC_NONE 0) ;/* Lines not supported */ -(define-integrable LC_POLYLINE 2) ;/* Can do polylines */ -(define-integrable LC_MARKER 4) ;/* Can do markers */ -(define-integrable LC_POLYMARKER 8) ;/* Can do polymarkers */ -(define-integrable LC_WIDE 16) ;/* Can do wide lines */ -(define-integrable LC_STYLED 32) ;/* Can do styled lines */ -(define-integrable LC_WIDESTYLED 64) ;/* Can do wide styled lines */ -(define-integrable LC_INTERIORS 128) ;/* Can do interiors */ -;; -;;/* Polygonal Capabilities */ -(define-integrable PC_NONE 0) ;/* Polygonals not supported */ -(define-integrable PC_POLYGON 1) ;/* Can do polygons */ -(define-integrable PC_RECTANGLE 2) ;/* Can do rectangles */ -(define-integrable PC_WINDPOLYGON 4) ;/* Can do winding polygons */ -(define-integrable PC_TRAPEZOID 4) ;/* Can do trapezoids */ -(define-integrable PC_SCANLINE 8) ;/* Can do scanlines */ -(define-integrable PC_WIDE 16) ;/* Can do wide borders */ -(define-integrable PC_STYLED 32) ;/* Can do styled borders */ -(define-integrable PC_WIDESTYLED 64) ;/* Can do wide styled borders */ -(define-integrable PC_INTERIORS 128) ;/* Can do interiors */ -;; -;;/* Polygonal Capabilities */ -(define-integrable CP_NONE 0) ;/* No clipping of output */ -(define-integrable CP_RECTANGLE 1) ;/* Output clipped to rects */ -(define-integrable CP_REGION 2) ;/* */ - -;;/* Text Capabilities */ -(define-integrable TC_OP_CHARACTER #x00000001) ;/* Can do OutputPrecision CHARACTER */ -(define-integrable TC_OP_STROKE #x00000002) ;/* Can do OutputPrecision STROKE */ -(define-integrable TC_CP_STROKE #x00000004) ;/* Can do ClipPrecision STROKE */ -(define-integrable TC_CR_90 #x00000008) ;/* Can do CharRotAbility 90 */ -(define-integrable TC_CR_ANY #x00000010) ;/* Can do CharRotAbility ANY */ -(define-integrable TC_SF_X_YINDEP #x00000020) ;/* Can do ScaleFreedom X_YINDEPENDENT */ -(define-integrable TC_SA_DOUBLE #x00000040) ;/* Can do ScaleAbility DOUBLE */ -(define-integrable TC_SA_INTEGER #x00000080) ;/* Can do ScaleAbility INTEGER */ -(define-integrable TC_SA_CONTIN #x00000100) ;/* Can do ScaleAbility CONTINUOUS */ -(define-integrable TC_EA_DOUBLE #x00000200) ;/* Can do EmboldenAbility DOUBLE */ -(define-integrable TC_IA_ABLE #x00000400) ;/* Can do ItalisizeAbility ABLE */ -(define-integrable TC_UA_ABLE #x00000800) ;/* Can do UnderlineAbility ABLE */ -(define-integrable TC_SO_ABLE #x00001000) ;/* Can do StrikeOutAbility ABLE */ -(define-integrable TC_RA_ABLE #x00002000) ;/* Can do RasterFontAble ABLE */ -(define-integrable TC_VA_ABLE #x00004000) ;/* Can do VectorFontAble ABLE */ +;;;Device Capability Masks: + +;;Device Technologies +(define-integrable DT_PLOTTER 0) ;Vector plotter +(define-integrable DT_RASDISPLAY 1) ;Raster display +(define-integrable DT_RASPRINTER 2) ;Raster printer +(define-integrable DT_RASCAMERA 3) ;Raster camera +(define-integrable DT_CHARSTREAM 4) ;Character-stream, PLP +(define-integrable DT_METAFILE 5) ;Metafile, VDM +(define-integrable DT_DISPFILE 6) ;Display-file + +;;Curve Capabilities +(define-integrable CC_NONE 0) ;Curves not supported +(define-integrable CC_CIRCLES 1) ;Can do circles +(define-integrable CC_PIE 2) ;Can do pie wedges +(define-integrable CC_CHORD 4) ;Can do chord arcs +(define-integrable CC_ELLIPSES 8) ;Can do ellipese +(define-integrable CC_WIDE 16) ;Can do wide lines +(define-integrable CC_STYLED 32) ;Can do styled lines +(define-integrable CC_WIDESTYLED 64) ;Can do wide styled lines +(define-integrable CC_INTERIORS 128) ;Can do interiors +(define-integrable CC_ROUNDRECT 256) ; + +;;Line Capabilities +(define-integrable LC_NONE 0) ;Lines not supported +(define-integrable LC_POLYLINE 2) ;Can do polylines +(define-integrable LC_MARKER 4) ;Can do markers +(define-integrable LC_POLYMARKER 8) ;Can do polymarkers +(define-integrable LC_WIDE 16) ;Can do wide lines +(define-integrable LC_STYLED 32) ;Can do styled lines +(define-integrable LC_WIDESTYLED 64) ;Can do wide styled lines +(define-integrable LC_INTERIORS 128) ;Can do interiors + +;;Polygonal Capabilities +(define-integrable PC_NONE 0) ;Polygonals not supported +(define-integrable PC_POLYGON 1) ;Can do polygons +(define-integrable PC_RECTANGLE 2) ;Can do rectangles +(define-integrable PC_WINDPOLYGON 4) ;Can do winding polygons +(define-integrable PC_TRAPEZOID 4) ;Can do trapezoids +(define-integrable PC_SCANLINE 8) ;Can do scanlines +(define-integrable PC_WIDE 16) ;Can do wide borders +(define-integrable PC_STYLED 32) ;Can do styled borders +(define-integrable PC_WIDESTYLED 64) ;Can do wide styled borders +(define-integrable PC_INTERIORS 128) ;Can do interiors + +;;Polygonal Capabilities +(define-integrable CP_NONE 0) ;No clipping of output +(define-integrable CP_RECTANGLE 1) ;Output clipped to rects +(define-integrable CP_REGION 2) ; + +;;Text Capabilities +(define-integrable TC_OP_CHARACTER #x00000001) ;Can do OutputPrecision CHARACTER +(define-integrable TC_OP_STROKE #x00000002) ;Can do OutputPrecision STROKE +(define-integrable TC_CP_STROKE #x00000004) ;Can do ClipPrecision STROKE +(define-integrable TC_CR_90 #x00000008) ;Can do CharRotAbility 90 +(define-integrable TC_CR_ANY #x00000010) ;Can do CharRotAbility ANY +(define-integrable TC_SF_X_YINDEP #x00000020) ;Can do ScaleFreedom X_YINDEPENDENT +(define-integrable TC_SA_DOUBLE #x00000040) ;Can do ScaleAbility DOUBLE +(define-integrable TC_SA_INTEGER #x00000080) ;Can do ScaleAbility INTEGER +(define-integrable TC_SA_CONTIN #x00000100) ;Can do ScaleAbility CONTINUOUS +(define-integrable TC_EA_DOUBLE #x00000200) ;Can do EmboldenAbility DOUBLE +(define-integrable TC_IA_ABLE #x00000400) ;Can do ItalisizeAbility ABLE +(define-integrable TC_UA_ABLE #x00000800) ;Can do UnderlineAbility ABLE +(define-integrable TC_SO_ABLE #x00001000) ;Can do StrikeOutAbility ABLE +(define-integrable TC_RA_ABLE #x00002000) ;Can do RasterFontAble ABLE +(define-integrable TC_VA_ABLE #x00004000) ;Can do VectorFontAble ABLE (define-integrable TC_RESERVED #x00008000) -(define-integrable TC_SCROLLBLT #x00010000) ;/* do text scroll with blt */ -;; -;;#endif /* NOGDICAPMASKS */ -;; -;;/* Raster Capabilities */ -;;#define RC_NONE -(define-integrable RC_BITBLT 1) ;/* Can do standard BLT. */ -(define-integrable RC_BANDING 2) ;/* Device requires banding support */ -(define-integrable RC_SCALING 4) ;/* Device requires scaling support */ -(define-integrable RC_BITMAP64 8) ;/* Device can support >64K bitmap */ -(define-integrable RC_GDI20_OUTPUT #x0010) ;/* has 2.0 output calls */ +(define-integrable TC_SCROLLBLT #x00010000) ;do text scroll with blt + +;;Raster Capabilities +(define-integrable RC_BITBLT 1) ;Can do standard BLT. +(define-integrable RC_BANDING 2) ;Device requires banding support +(define-integrable RC_SCALING 4) ;Device requires scaling support +(define-integrable RC_BITMAP64 8) ;Device can support >64K bitmap +(define-integrable RC_GDI20_OUTPUT #x0010) ;has 2.0 output calls (define-integrable RC_GDI20_STATE #x0020) (define-integrable RC_SAVEBITMAP #x0040) -(define-integrable RC_DI_BITMAP #x0080) ;/* supports DIB to memory */ -(define-integrable RC_PALETTE #x0100) ;/* supports a palette */ -(define-integrable RC_DIBTODEV #x0200) ;/* supports DIBitsToDevice */ -(define-integrable RC_BIGFONT #x0400) ;/* supports >64K fonts */ -(define-integrable RC_STRETCHBLT #x0800) ;/* supports StretchBlt */ -(define-integrable RC_FLOODFILL #x1000) ;/* supports FloodFill */ -(define-integrable RC_STRETCHDIB #x2000) ;/* supports StretchDIBits */ +(define-integrable RC_DI_BITMAP #x0080) ;supports DIB to memory +(define-integrable RC_PALETTE #x0100) ;supports a palette +(define-integrable RC_DIBTODEV #x0200) ;supports DIBitsToDevice +(define-integrable RC_BIGFONT #x0400) ;supports >64K fonts +(define-integrable RC_STRETCHBLT #x0800) ;supports StretchBlt +(define-integrable RC_FLOODFILL #x1000) ;supports FloodFill +(define-integrable RC_STRETCHDIB #x2000) ;supports StretchDIBits (define-integrable RC_OP_DX_OUTPUT #x4000) (define-integrable RC_DEVBITS #x8000) -;; -;;/* DIB color table identifiers */ -;; -(define-integrable DIB_RGB_COLORS 0) ;/* color table in RGBs */ -(define-integrable DIB_PAL_COLORS 1) ;/* color table in palette indices */ -(define-integrable DIB_PAL_INDICES 2) ;/* No color table indices into surf palette */ -(define-integrable DIB_PAL_PHYSINDICES 2) ;/* No color table indices into surf palette */ -(define-integrable DIB_PAL_LOGINDICES 4) ;/* No color table indices into DC palette */ -;; -;;/* constants for Get/SetSystemPaletteUse() */ -;; + +;;DIB color table identifiers +(define-integrable DIB_RGB_COLORS 0) ;color table in RGBs +(define-integrable DIB_PAL_COLORS 1) ;color table in palette indices +(define-integrable DIB_PAL_INDICES 2) ;No color table indices into surf palette +(define-integrable DIB_PAL_PHYSINDICES 2) ;No color table indices into surf palette +(define-integrable DIB_PAL_LOGINDICES 4) ;No color table indices into DC palette + +;;constants for Get/SetSystemPaletteUse() (define-integrable SYSPAL_ERROR 0) (define-integrable SYSPAL_STATIC 1) (define-integrable SYSPAL_NOSTATIC 2) -;; -;;/* constants for CreateDIBitmap */ -(define-integrable CBM_CREATEDIB #x02) ;/* create DIB bitmap */ -(define-integrable CBM_INIT #x04) ;/* initialize bitmap */ -;; -;;/* ExtFloodFill style flags */ + +;;constants for CreateDIBitmap +(define-integrable CBM_CREATEDIB #x02) ;create DIB bitmap +(define-integrable CBM_INIT #x04) ;initialize bitmap + +;;ExtFloodFill style flags (define-integrable FLOODFILLBORDER 0) (define-integrable FLOODFILLSURFACE 1) -;; -;;/* size of a device name string */ + +;;size of a device name string (define-integrable CCHDEVICENAME 32) -;; -;;/* size of a form name string */ + +;;size of a form name string (define-integrable CCHFORMNAME 32) -;; -;;typedef struct _devicemodeA { -;; BYTE dmDeviceName[CCHDEVICENAME]; -;; WORD dmSpecVersion; -;; WORD dmDriverVersion; -;; WORD dmSize; -;; WORD dmDriverExtra; -;; DWORD dmFields; -;; short dmOrientation; -;; short dmPaperSize; -;; short dmPaperLength; -;; short dmPaperWidth; -;; short dmScale; -;; short dmCopies; -;; short dmDefaultSource; -;; short dmPrintQuality; -;; short dmColor; -;; short dmDuplex; -;; short dmYResolution; -;; short dmTTOption; -;; short dmCollate; -;; BYTE dmFormName[CCHFORMNAME]; -;; WORD dmUnusedPadding; -;; DWORD dmBitsPerPel; -;; DWORD dmPelsWidth; -;; DWORD dmPelsHeight; -;; DWORD dmDisplayFlags; -;; DWORD dmDisplayFrequency; -;;} DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA; -;;typedef struct _devicemodeW { -;; WCHAR dmDeviceName[CCHDEVICENAME]; -;; WORD dmSpecVersion; -;; WORD dmDriverVersion; -;; WORD dmSize; -;; WORD dmDriverExtra; -;; DWORD dmFields; -;; short dmOrientation; -;; short dmPaperSize; -;; short dmPaperLength; -;; short dmPaperWidth; -;; short dmScale; -;; short dmCopies; -;; short dmDefaultSource; -;; short dmPrintQuality; -;; short dmColor; -;; short dmDuplex; -;; short dmYResolution; -;; short dmTTOption; -;; short dmCollate; -;; WCHAR dmFormName[CCHFORMNAME]; -;; WORD dmUnusedPadding; -;; DWORD dmBitsPerPel; -;; DWORD dmPelsWidth; -;; DWORD dmPelsHeight; -;; DWORD dmDisplayFlags; -;; DWORD dmDisplayFrequency; -;;} DEVMODEW, *PDEVMODEW, *NPDEVMODEW, *LPDEVMODEW; -;;#ifdef UNICODE -;;typedef DEVMODEW DEVMODE; -;;typedef PDEVMODEW PDEVMODE; -;;typedef NPDEVMODEW NPDEVMODE; -;;typedef LPDEVMODEW LPDEVMODE; -;;#else -;;typedef DEVMODEA DEVMODE; -;;typedef PDEVMODEA PDEVMODE; -;;typedef NPDEVMODEA NPDEVMODE; -;;typedef LPDEVMODEA LPDEVMODE; -;;#endif // UNICODE -;; -;;/* current version of specification */ + +;;current version of specification (define-integrable DM_SPECVERSION #x320) -;; -;;/* field selection bits */ + +;;field selection bits (define-integrable DM_ORIENTATION #x0000001) (define-integrable DM_PAPERSIZE #x0000002) (define-integrable DM_PAPERLENGTH #x0000004) @@ -1372,60 +810,60 @@ (define-integrable DM_TTOPTION #x0004000) (define-integrable DM_COLLATE #x0008000) (define-integrable DM_FORMNAME #x0010000) -;; -;;/* orientation selections */ + +;;orientation selections (define-integrable DMORIENT_PORTRAIT 1) (define-integrable DMORIENT_LANDSCAPE 2) -;; -;;/* paper selections */ -(define-integrable DMPAPER_LETTER 1) ;/* Letter 8 1/2 x 11 in */ + +;;paper selections +(define-integrable DMPAPER_LETTER 1) ;Letter 8 1/2 x 11 in (define-integrable DMPAPER_FIRST DMPAPER_LETTER) -(define-integrable DMPAPER_LETTERSMALL 2) ;/* Letter Small 8 1/2 x 11 in */ -(define-integrable DMPAPER_TABLOID 3) ;/* Tabloid 11 x 17 in */ -(define-integrable DMPAPER_LEDGER 4) ;/* Ledger 17 x 11 in */ -(define-integrable DMPAPER_LEGAL 5) ;/* Legal 8 1/2 x 14 in */ -(define-integrable DMPAPER_STATEMENT 6) ;/* Statement 5 1/2 x 8 1/2 in */ -(define-integrable DMPAPER_EXECUTIVE 7) ;/* Executive 7 1/4 x 10 1/2 in */ -(define-integrable DMPAPER_A3 8) ;/* A3 297 x 420 mm */ -(define-integrable DMPAPER_A4 9) ;/* A4 210 x 297 mm */ -(define-integrable DMPAPER_A4SMALL 10) ;/* A4 Small 210 x 297 mm */ -(define-integrable DMPAPER_A5 11) ;/* A5 148 x 210 mm */ -(define-integrable DMPAPER_B4 12) ;/* B4 250 x 354 */ -(define-integrable DMPAPER_B5 13) ;/* B5 182 x 257 mm */ -(define-integrable DMPAPER_FOLIO 14) ;/* Folio 8 1/2 x 13 in */ -(define-integrable DMPAPER_QUARTO 15) ;/* Quarto 215 x 275 mm */ -(define-integrable DMPAPER_10X14 16) ;/* 10x14 in */ -(define-integrable DMPAPER_11X17 17) ;/* 11x17 in */ -(define-integrable DMPAPER_NOTE 18) ;/* Note 8 1/2 x 11 in */ -(define-integrable DMPAPER_ENV_9 19) ;/* Envelope #9 3 7/8 x 8 7/8 */ -(define-integrable DMPAPER_ENV_10 20) ;/* Envelope #10 4 1/8 x 9 1/2 */ -(define-integrable DMPAPER_ENV_11 21) ;/* Envelope #11 4 1/2 x 10 3/8 */ -(define-integrable DMPAPER_ENV_12 22) ;/* Envelope #12 4 \276 x 11 */ -(define-integrable DMPAPER_ENV_14 23) ;/* Envelope #14 5 x 11 1/2 */ -(define-integrable DMPAPER_CSHEET 24) ;/* C size sheet */ -(define-integrable DMPAPER_DSHEET 25) ;/* D size sheet */ -(define-integrable DMPAPER_ESHEET 26) ;/* E size sheet */ -(define-integrable DMPAPER_ENV_DL 27) ;/* Envelope DL 110 x 220mm */ -(define-integrable DMPAPER_ENV_C5 28) ;/* Envelope C5 162 x 229 mm */ -(define-integrable DMPAPER_ENV_C3 29) ;/* Envelope C3 324 x 458 mm */ -(define-integrable DMPAPER_ENV_C4 30) ;/* Envelope C4 229 x 324 mm */ -(define-integrable DMPAPER_ENV_C6 31) ;/* Envelope C6 114 x 162 mm */ -(define-integrable DMPAPER_ENV_C65 32) ;/* Envelope C65 114 x 229 mm */ -(define-integrable DMPAPER_ENV_B4 33) ;/* Envelope B4 250 x 353 mm */ -(define-integrable DMPAPER_ENV_B5 34) ;/* Envelope B5 176 x 250 mm */ -(define-integrable DMPAPER_ENV_B6 35) ;/* Envelope B6 176 x 125 mm */ -(define-integrable DMPAPER_ENV_ITALY 36) ;/* Envelope 110 x 230 mm */ -(define-integrable DMPAPER_ENV_MONARCH 37) ;/* Envelope Monarch 3.875 x 7.5 in */ -(define-integrable DMPAPER_ENV_PERSONAL 38) ;/* 6 3/4 Envelope 3 5/8 x 6 1/2 in */ -(define-integrable DMPAPER_FANFOLD_US 39) ;/* US Std Fanfold 14 7/8 x 11 in */ -(define-integrable DMPAPER_FANFOLD_STD_GERMAN 40) ;/* German Std Fanfold 8 1/2 x 12 in */ -(define-integrable DMPAPER_FANFOLD_LGL_GERMAN 41) ;/* German Legal Fanfold 8 1/2 x 13 in */ +(define-integrable DMPAPER_LETTERSMALL 2) ;Letter Small 8 1/2 x 11 in +(define-integrable DMPAPER_TABLOID 3) ;Tabloid 11 x 17 in +(define-integrable DMPAPER_LEDGER 4) ;Ledger 17 x 11 in +(define-integrable DMPAPER_LEGAL 5) ;Legal 8 1/2 x 14 in +(define-integrable DMPAPER_STATEMENT 6) ;Statement 5 1/2 x 8 1/2 in +(define-integrable DMPAPER_EXECUTIVE 7) ;Executive 7 1/4 x 10 1/2 in +(define-integrable DMPAPER_A3 8) ;A3 297 x 420 mm +(define-integrable DMPAPER_A4 9) ;A4 210 x 297 mm +(define-integrable DMPAPER_A4SMALL 10) ;A4 Small 210 x 297 mm +(define-integrable DMPAPER_A5 11) ;A5 148 x 210 mm +(define-integrable DMPAPER_B4 12) ;B4 250 x 354 +(define-integrable DMPAPER_B5 13) ;B5 182 x 257 mm +(define-integrable DMPAPER_FOLIO 14) ;Folio 8 1/2 x 13 in +(define-integrable DMPAPER_QUARTO 15) ;Quarto 215 x 275 mm +(define-integrable DMPAPER_10X14 16) ;10x14 in +(define-integrable DMPAPER_11X17 17) ;11x17 in +(define-integrable DMPAPER_NOTE 18) ;Note 8 1/2 x 11 in +(define-integrable DMPAPER_ENV_9 19) ;Envelope #9 3 7/8 x 8 7/8 +(define-integrable DMPAPER_ENV_10 20) ;Envelope #10 4 1/8 x 9 1/2 +(define-integrable DMPAPER_ENV_11 21) ;Envelope #11 4 1/2 x 10 3/8 +(define-integrable DMPAPER_ENV_12 22) ;Envelope #12 4 \276 x 11 +(define-integrable DMPAPER_ENV_14 23) ;Envelope #14 5 x 11 1/2 +(define-integrable DMPAPER_CSHEET 24) ;C size sheet +(define-integrable DMPAPER_DSHEET 25) ;D size sheet +(define-integrable DMPAPER_ESHEET 26) ;E size sheet +(define-integrable DMPAPER_ENV_DL 27) ;Envelope DL 110 x 220mm +(define-integrable DMPAPER_ENV_C5 28) ;Envelope C5 162 x 229 mm +(define-integrable DMPAPER_ENV_C3 29) ;Envelope C3 324 x 458 mm +(define-integrable DMPAPER_ENV_C4 30) ;Envelope C4 229 x 324 mm +(define-integrable DMPAPER_ENV_C6 31) ;Envelope C6 114 x 162 mm +(define-integrable DMPAPER_ENV_C65 32) ;Envelope C65 114 x 229 mm +(define-integrable DMPAPER_ENV_B4 33) ;Envelope B4 250 x 353 mm +(define-integrable DMPAPER_ENV_B5 34) ;Envelope B5 176 x 250 mm +(define-integrable DMPAPER_ENV_B6 35) ;Envelope B6 176 x 125 mm +(define-integrable DMPAPER_ENV_ITALY 36) ;Envelope 110 x 230 mm +(define-integrable DMPAPER_ENV_MONARCH 37) ;Envelope Monarch 3.875 x 7.5 in +(define-integrable DMPAPER_ENV_PERSONAL 38) ;6 3/4 Envelope 3 5/8 x 6 1/2 in +(define-integrable DMPAPER_FANFOLD_US 39) ;US Std Fanfold 14 7/8 x 11 in +(define-integrable DMPAPER_FANFOLD_STD_GERMAN 40) ;German Std Fanfold 8 1/2 x 12 in +(define-integrable DMPAPER_FANFOLD_LGL_GERMAN 41) ;German Legal Fanfold 8 1/2 x 13 in (define-integrable DMPAPER_LAST DMPAPER_FANFOLD_LGL_GERMAN) (define-integrable DMPAPER_USER 256) -;; -;;/* bin selections */ + +;;bin selections (define-integrable DMBIN_UPPER 1) (define-integrable DMBIN_FIRST DMBIN_UPPER) (define-integrable DMBIN_ONLYONE 1) @@ -1442,209 +880,40 @@ (define-integrable DMBIN_CASSETTE 14) (define-integrable DMBIN_LAST DMBIN_CASSETTE) -(define-integrable DMBIN_USER 256) ;/* device specific bins start here */ -;; -;;/* print qualities */ +(define-integrable DMBIN_USER 256) ;device specific bins start here + +;;print qualities (define-integrable DMRES_DRAFT -1) (define-integrable DMRES_LOW -2) (define-integrable DMRES_MEDIUM -3) (define-integrable DMRES_HIGH -4) -;; -;;/* color enable/disable for color printers */ + +;;color enable/disable for color printers (define-integrable DMCOLOR_MONOCHROME 1) (define-integrable DMCOLOR_COLOR 2) -;; -;;/* duplex enable */ + +;;duplex enable (define-integrable DMDUP_SIMPLEX 1) (define-integrable DMDUP_VERTICAL 2) (define-integrable DMDUP_HORIZONTAL 3) -;; -;;/* TrueType options */ -(define-integrable DMTT_BITMAP 1) ;/* print TT fonts as graphics */ -(define-integrable DMTT_DOWNLOAD 2) ;/* download TT fonts as soft fonts */ -(define-integrable DMTT_SUBDEV 3) ;/* substitute device fonts for TT fonts */ -;; -;;/* Collation selections */ + +;;TrueType options +(define-integrable DMTT_BITMAP 1) ;print TT fonts as graphics +(define-integrable DMTT_DOWNLOAD 2) ;download TT fonts as soft fonts +(define-integrable DMTT_SUBDEV 3) ;substitute device fonts for TT fonts + +;;Collation selections (define-integrable DMCOLLATE_FALSE 0) (define-integrable DMCOLLATE_TRUE 1) -;; -;;/* DEVMODE dmDisplayFlags flags */ -;; + +;;DEVMODE dmDisplayFlags flags (define-integrable DM_GRAYSCALE #x00000001) (define-integrable DM_INTERLACED #x00000002) -;; -;;/* GetRegionData/ExtCreateRegion */ -;; + +;;GetRegionData/ExtCreateRegion (define-integrable RDH_RECTANGLES 1) -;; -;;typedef struct _RGNDATAHEADER { -;; DWORD dwSize; -;; DWORD iType; -;; DWORD nCount; -;; DWORD nRgnSize; -;; RECT rcBound; -;;} RGNDATAHEADER, *PRGNDATAHEADER; -;; -;;typedef struct _RGNDATA { -;; RGNDATAHEADER rdh; -;; char Buffer[1]; -;;} RGNDATA, *PRGNDATA, NEAR *NPRGNDATA, FAR *LPRGNDATA; -;; -;; -;;typedef struct _ABC { -;; int abcA; -;; UINT abcB; -;; int abcC; -;;} ABC, *PABC, NEAR *NPABC, FAR *LPABC; -;; -;;typedef struct _ABCFLOAT { -;; FLOAT abcfA; -;; FLOAT abcfB; -;; FLOAT abcfC; -;;} ABCFLOAT, *PABCFLOAT, NEAR *NPABCFLOAT, FAR *LPABCFLOAT; -;; -;;#ifndef NOTEXTMETRIC -;; -;;typedef struct _OUTLINETEXTMETRICA { -;; UINT otmSize; -;; TEXTMETRICA otmTextMetrics; -;; BYTE otmFiller; -;; PANOSE otmPanoseNumber; -;; UINT otmfsSelection; -;; UINT otmfsType; -;; UINT otmsCharSlopeRise; -;; UINT otmsCharSlopeRun; -;; UINT otmItalicAngle; -;; UINT otmEMSquare; -;; UINT otmAscent; -;; int otmDescent; -;; int otmLineGap; -;; UINT otmsCapEmHeight; -;; UINT otmsXHeight; -;; RECT otmrcFontBox; -;; int otmMacAscent; -;; int otmMacDescent; -;; UINT otmMacLineGap; -;; UINT otmusMinimumPPEM; -;; POINT otmptSubscriptSize; -;; POINT otmptSubscriptOffset; -;; POINT otmptSuperscriptSize; -;; POINT otmptSuperscriptOffset; -;; UINT otmsStrikeoutSize; -;; int otmsStrikeoutPosition; -;; int otmsUnderscoreSize; -;; UINT otmsUnderscorePosition; -;; PSTR otmpFamilyName; -;; PSTR otmpFaceName; -;; PSTR otmpStyleName; -;; PSTR otmpFullName; -;;} OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, NEAR *NPOUTLINETEXTMETRICA, FAR *LPOUTLINETEXTMETRICA; -;;typedef struct _OUTLINETEXTMETRICW { -;; UINT otmSize; -;; TEXTMETRICW otmTextMetrics; -;; BYTE otmFiller; -;; PANOSE otmPanoseNumber; -;; UINT otmfsSelection; -;; UINT otmfsType; -;; UINT otmsCharSlopeRise; -;; UINT otmsCharSlopeRun; -;; UINT otmItalicAngle; -;; UINT otmEMSquare; -;; UINT otmAscent; -;; int otmDescent; -;; int otmLineGap; -;; UINT otmsCapEmHeight; -;; UINT otmsXHeight; -;; RECT otmrcFontBox; -;; int otmMacAscent; -;; int otmMacDescent; -;; UINT otmMacLineGap; -;; UINT otmusMinimumPPEM; -;; POINT otmptSubscriptSize; -;; POINT otmptSubscriptOffset; -;; POINT otmptSuperscriptSize; -;; POINT otmptSuperscriptOffset; -;; UINT otmsStrikeoutSize; -;; int otmsStrikeoutPosition; -;; int otmsUnderscoreSize; -;; UINT otmsUnderscorePosition; -;; PSTR otmpFamilyName; -;; PSTR otmpFaceName; -;; PSTR otmpStyleName; -;; PSTR otmpFullName; -;;} OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW, NEAR *NPOUTLINETEXTMETRICW, FAR *LPOUTLINETEXTMETRICW; -;;#ifdef UNICODE -;;typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC; -;;typedef POUTLINETEXTMETRICW POUTLINETEXTMETRIC; -;;typedef NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC; -;;typedef LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC; -;;#else -;;typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC; -;;typedef POUTLINETEXTMETRICA POUTLINETEXTMETRIC; -;;typedef NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC; -;;typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC; -;;#endif // UNICODE -;; -;;#endif /* NOTEXTMETRIC */ -;; -;; -;;typedef struct tagPOLYTEXTA -;;{ -;; int x; -;; int y; -;; UINT n; -;; LPCSTR lpstr; -;; UINT uiFlags; -;; RECT rcl; -;; int *pdx; -;;} POLYTEXTA, *PPOLYTEXTA, NEAR *NPPOLYTEXTA, FAR *LPPOLYTEXTA; -;;typedef struct tagPOLYTEXTW -;;{ -;; int x; -;; int y; -;; UINT n; -;; LPCWSTR lpstr; -;; UINT uiFlags; -;; RECT rcl; -;; int *pdx; -;;} POLYTEXTW, *PPOLYTEXTW, NEAR *NPPOLYTEXTW, FAR *LPPOLYTEXTW; -;;#ifdef UNICODE -;;typedef POLYTEXTW POLYTEXT; -;;typedef PPOLYTEXTW PPOLYTEXT; -;;typedef NPPOLYTEXTW NPPOLYTEXT; -;;typedef LPPOLYTEXTW LPPOLYTEXT; -;;#else -;;typedef POLYTEXTA POLYTEXT; -;;typedef PPOLYTEXTA PPOLYTEXT; -;;typedef NPPOLYTEXTA NPPOLYTEXT; -;;typedef LPPOLYTEXTA LPPOLYTEXT; -;;#endif // UNICODE -;; -;;typedef struct _FIXED { -;; WORD fract; -;; short value; -;;} FIXED; -;; -;; -;;typedef struct _MAT2 { -;; FIXED eM11; -;; FIXED eM12; -;; FIXED eM21; -;; FIXED eM22; -;;} MAT2, FAR *LPMAT2; -;; -;; -;; -;;typedef struct _GLYPHMETRICS { -;; UINT gmBlackBoxX; -;; UINT gmBlackBoxY; -;; POINT gmptGlyphOrigin; -;; short gmCellIncX; -;; short gmCellIncY; -;;} GLYPHMETRICS, FAR *LPGLYPHMETRICS; -;; -;;// GetGlyphOutline constants -;; + +;;GetGlyphOutline constants (define-integrable GGO_NONE 0) (define-integrable GGO_BITMAP 1) (define-integrable GGO_NATIVE 2) @@ -1654,160 +923,11 @@ (define-integrable TT_PRIM_LINE 1) (define-integrable TT_PRIM_QSPLINE 2) -;;typedef struct tagPOINTFX -;;{ -;; FIXED x; -;; FIXED y; -;;} POINTFX, FAR* LPPOINTFX; -;; -;;typedef struct tagTTPOLYCURVE -;;{ -;; WORD wType; -;; WORD cpfx; -;; POINTFX apfx[1]; -;;} TTPOLYCURVE, FAR* LPTTPOLYCURVE; -;; -;;typedef struct tagTTPOLYGONHEADER -;;{ -;; DWORD cb; -;; DWORD dwType; -;; POINTFX pfxStart; -;;} TTPOLYGONHEADER, FAR* LPTTPOLYGONHEADER; -;; -;; -;; -;;typedef struct _RASTERIZER_STATUS { -;; short nSize; -;; short wFlags; -;; short nLanguageID; -;;} RASTERIZER_STATUS, FAR *LPRASTERIZER_STATUS; -;; -;;/* bits defined in wFlags of RASTERIZER_STATUS */ +;;bits defined in wFlags of RASTERIZER_STATUS (define-integrable TT_AVAILABLE #x0001) (define-integrable TT_ENABLED #x0002) -;; -;;#ifdef STRICT -;;#if !defined(NOTEXTMETRIC) -;;typedef int (CALLBACK* OLDFONTENUMPROC)(CONST LOGFONT *, CONST TEXTMETRIC *, DWORD, LPARAM); -;;#else -;;typedef int (CALLBACK* OLDFONTENUMPROC)(CONST LOGFONT * ,CONST VOID *, DWORD, LPARAM); -;;#endif -;;typedef int (CALLBACK* GOBJENUMPROC)(LPVOID, LPARAM); -;;typedef VOID (CALLBACK* LINEDDAPROC)(int, int, LPARAM); -;;#else -;;typedef FARPROC OLDFONTENUMPROC; -;;typedef FARPROC GOBJENUMPROC; -;;typedef FARPROC LINEDDAPROC; -;;#endif -;; -;;typedef OLDFONTENUMPROC FONTENUMPROC; -;; -;;int WINAPI AddFontResourceA(LPCSTR); -;;int WINAPI AddFontResourceW(LPCWSTR); -;;#ifdef UNICODE -;;#define AddFontResource AddFontResourceW -;;#else -;;#define AddFontResource AddFontResourceA -;;#endif // !UNICODE -;; -;;int WINAPI AddFontModule(HMODULE); -;;BOOL WINAPI AnimatePalette(HPALETTE, UINT, UINT, CONST PALETTEENTRY *); -;;BOOL WINAPI Arc(HDC, int, int, int, int, int, int, int, int); -;;BOOL WINAPI BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD); -;;BOOL WINAPI CancelDC(HDC); -;;BOOL WINAPI Chord(HDC, int, int, int, int, int, int, int, int); -;;HMETAFILE WINAPI CloseMetaFile(HDC); -;;int WINAPI CombineRgn(HRGN, HRGN, HRGN, int); -;;HMETAFILE WINAPI CopyMetaFileA(HMETAFILE, LPSTR); -;;HMETAFILE WINAPI CopyMetaFileW(HMETAFILE, LPWSTR); -;;#ifdef UNICODE -;;#define CopyMetaFile CopyMetaFileW -;;#else -;;#define CopyMetaFile CopyMetaFileA -;;#endif // !UNICODE -;;HBITMAP WINAPI CreateBitmap(int, int, UINT, UINT, CONST VOID *); -;;HBITMAP WINAPI CreateBitmapIndirect(LPBITMAP); -;;HBRUSH WINAPI CreateBrushIndirect(LPLOGBRUSH); -;;HBITMAP WINAPI CreateCompatibleBitmap(HDC, int, int); -;;HBITMAP WINAPI CreateDiscardableBitmap(HDC, int, int); -;;HDC WINAPI CreateCompatibleDC(HDC); -;;HDC WINAPI CreateDCA(LPCSTR, LPCSTR , LPCSTR , CONST DEVMODEA FAR *); -;;HDC WINAPI CreateDCW(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW FAR *); -;;#ifdef UNICODE -;;#define CreateDC CreateDCW -;;#else -;;#define CreateDC CreateDCA -;;#endif // !UNICODE -;;HBITMAP WINAPI CreateDIBitmap(HDC, LPBITMAPINFOHEADER, DWORD, CONST BYTE *, LPBITMAPINFO, UINT); -;;HBITMAP WINAPI CreateDIBSection(HDC, LPBITMAPINFO, DWORD, DWORD); -;;HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL, UINT); -;;HBRUSH WINAPI CreateDIBPatternBrushPt(LPVOID, UINT); -;;HRGN WINAPI CreateEllipticRgn(int, int, int, int); -;;HRGN WINAPI CreateEllipticRgnIndirect(CONST RECT *); -;;HFONT WINAPI CreateFontIndirectA(CONST LOGFONTA *); -;;HFONT WINAPI CreateFontIndirectW(CONST LOGFONTW *); -;;#ifdef UNICODE -;;#define CreateFontIndirect CreateFontIndirectW -;;#else -;;#define CreateFontIndirect CreateFontIndirectA -;;#endif // !UNICODE -;;HFONT WINAPI CreateFontA(int, int, int, int, int, DWORD, -;; DWORD, DWORD, DWORD, DWORD, DWORD, -;; DWORD, DWORD, LPCSTR); -;;HFONT WINAPI CreateFontW(int, int, int, int, int, DWORD, -;; DWORD, DWORD, DWORD, DWORD, DWORD, -;; DWORD, DWORD, LPCWSTR); -;;#ifdef UNICODE -;;#define CreateFont CreateFontW -;;#else -;;#define CreateFont CreateFontA -;;#endif // !UNICODE -;; -;;HBRUSH WINAPI CreateHatchBrush(int, COLORREF); -;;HDC WINAPI CreateICA(LPCSTR, LPCSTR , LPCSTR , CONST DEVMODEA FAR *); -;;HDC WINAPI CreateICW(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW FAR *); -;;#ifdef UNICODE -;;#define CreateIC CreateICW -;;#else -;;#define CreateIC CreateICA -;;#endif // !UNICODE -;;HDC WINAPI CreateMetaFileA(LPCSTR); -;;HDC WINAPI CreateMetaFileW(LPCWSTR); -;;#ifdef UNICODE -;;#define CreateMetaFile CreateMetaFileW -;;#else -;;#define CreateMetaFile CreateMetaFileA -;;#endif // !UNICODE -;;HPALETTE WINAPI CreatePalette(CONST LOGPALETTE *); -;;HPEN WINAPI CreatePen(int, int, COLORREF); -;;HPEN WINAPI CreatePenIndirect(LPLOGPEN); -;;HRGN WINAPI CreatePolyPolygonRgn(CONST POINT *, CONST INT *, int, int); -;;HBRUSH WINAPI CreatePatternBrush(HBITMAP); -;;HRGN WINAPI CreateRectRgn(int, int, int, int); -;;HRGN WINAPI CreateRectRgnIndirect(CONST RECT *); -;;HRGN WINAPI CreateRoundRectRgn(int, int, int, int, int, int); -;;BOOL WINAPI CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPSTR); -;;BOOL WINAPI CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPWSTR); -;;#ifdef UNICODE -;;#define CreateScalableFontResource CreateScalableFontResourceW -;;#else -;;#define CreateScalableFontResource CreateScalableFontResourceA -;;#endif // !UNICODE -;;HBRUSH WINAPI CreateSolidBrush(COLORREF); -;; -;;BOOL WINAPI DeleteDC(HDC); -;;BOOL WINAPI DeleteMetaFile(HMETAFILE); -;;BOOL WINAPI DeleteObject(HGDIOBJ); -;; -;;/* define types of pointers to ExtDeviceMode() and DeviceCapabilities() -;; * functions for Win 3.1 compatibility -;; */ -;; -;;typedef UINT (CALLBACK* LPFNDEVMODE)(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT); -;; -;;typedef DWORD (CALLBACK* LPFNDEVCAPS)(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE); -;; -;;/* mode selections for the device mode function */ + +;;mode selections for the device mode function (define-integrable DM_UPDATE 1) (define-integrable DM_COPY 2) (define-integrable DM_PROMPT 4) @@ -1818,7 +938,7 @@ (define-integrable DM_OUT_BUFFER DM_COPY) (define-integrable DM_OUT_DEFAULT DM_UPDATE) -;;/* device capabilities indices */ +;;device capabilities indices (define-integrable DC_FIELDS 1) (define-integrable DC_PAPERS 2) (define-integrable DC_PAPERSIZE 3) @@ -1838,362 +958,11 @@ (define-integrable DC_ORIENTATION 17) (define-integrable DC_COPIES 18) -;;int WINAPI DeviceCapabilitiesExA(LPCSTR, LPCSTR, LPCSTR, int, -;; LPCSTR, LPDEVMODEA ); -;;int WINAPI DeviceCapabilitiesExW(LPCWSTR, LPCWSTR, LPCWSTR, int, -;; LPCWSTR, LPDEVMODEW ); -;;#ifdef UNICODE -;;#define DeviceCapabilitiesEx DeviceCapabilitiesExW -;;#else -;;#define DeviceCapabilitiesEx DeviceCapabilitiesExA -;;#endif // !UNICODE -;;BOOL WINAPI Ellipse(HDC, int, int, int, int); -;; -;;int WINAPI EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROC, LPARAM); -;;int WINAPI EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROC, LPARAM); -;;#ifdef UNICODE -;;#define EnumFontFamilies EnumFontFamiliesW -;;#else -;;#define EnumFontFamilies EnumFontFamiliesA -;;#endif // !UNICODE -;;int WINAPI EnumFontsA(HDC, LPCSTR, FONTENUMPROC, LPARAM); -;;int WINAPI EnumFontsW(HDC, LPCWSTR, FONTENUMPROC, LPARAM); -;;#ifdef UNICODE -;;#define EnumFonts EnumFontsW -;;#else -;;#define EnumFonts EnumFontsA -;;#endif // !UNICODE -;; -;;#ifdef STRICT -;;int WINAPI EnumObjects(HDC, int, GOBJENUMPROC, LPARAM); -;;#else -;;int WINAPI EnumObjects(HDC, int, GOBJENUMPROC, LPVOID); -;;#endif -;; -;;BOOL WINAPI EqualRgn(HRGN, HRGN); -;;int WINAPI Escape(HDC, int, int, LPCSTR, LPVOID); -;;int WINAPI ExtEscape(HDC, int, int, LPCSTR, int, LPSTR); -;;int WINAPI DrawEscape(HDC, int, int, LPCSTR); -;;int WINAPI ExcludeClipRect(HDC, int, int, int, int); -;;HRGN WINAPI ExtCreateRegion(LPXFORM, DWORD, LPRGNDATA); -;;BOOL WINAPI ExtFloodFill(HDC, int, int, COLORREF, UINT); -;;BOOL WINAPI FillRgn(HDC, HRGN, HBRUSH); -;;BOOL WINAPI FloodFill(HDC, int, int, COLORREF); -;;BOOL WINAPI FrameRgn(HDC, HRGN, HBRUSH, int, int); -;;int WINAPI GetROP2(HDC); -;;BOOL WINAPI GetAspectRatioFilterEx(HDC, LPSIZE); -;;COLORREF WINAPI GetBkColor(HDC); -;;int WINAPI GetBkMode(HDC); -;;LONG WINAPI GetBitmapBits(HBITMAP, LONG, LPVOID); -;;BOOL WINAPI GetBitmapDimensionEx(HBITMAP, LPSIZE); -;;UINT WINAPI GetBoundsRect(HDC, LPRECT, UINT); -;; -;;BOOL WINAPI GetBrushOrgEx(HDC, LPPOINT); -;; -;;BOOL WINAPI GetCharWidthA(HDC, UINT, UINT, LPINT); -;;BOOL WINAPI GetCharWidthW(HDC, UINT, UINT, LPINT); -;;#ifdef UNICODE -;;#define GetCharWidth GetCharWidthW -;;#else -;;#define GetCharWidth GetCharWidthA -;;#endif // !UNICODE -;;BOOL WINAPI GetCharWidth32A(HDC, UINT, UINT, LPINT); -;;BOOL WINAPI GetCharWidth32W(HDC, UINT, UINT, LPINT); -;;#ifdef UNICODE -;;#define GetCharWidth32 GetCharWidth32W -;;#else -;;#define GetCharWidth32 GetCharWidth32A -;;#endif // !UNICODE -;;BOOL APIENTRY GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT); -;;BOOL APIENTRY GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT); -;;#ifdef UNICODE -;;#define GetCharWidthFloat GetCharWidthFloatW -;;#else -;;#define GetCharWidthFloat GetCharWidthFloatA -;;#endif // !UNICODE -;; -;;BOOL APIENTRY GetCharABCWidthsA(HDC, UINT, UINT, LPABC); -;;BOOL APIENTRY GetCharABCWidthsW(HDC, UINT, UINT, LPABC); -;;#ifdef UNICODE -;;#define GetCharABCWidths GetCharABCWidthsW -;;#else -;;#define GetCharABCWidths GetCharABCWidthsA -;;#endif // !UNICODE -;;BOOL APIENTRY GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT); -;;BOOL APIENTRY GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT); -;;#ifdef UNICODE -;;#define GetCharABCWidthsFloat GetCharABCWidthsFloatW -;;#else -;;#define GetCharABCWidthsFloat GetCharABCWidthsFloatA -;;#endif // !UNICODE -;; -;;int WINAPI GetClipBox(HDC, LPRECT); -;;int WINAPI GetClipRgn(HDC, HRGN); -;;int WINAPI GetMetaRgn(HDC, HRGN); -;;HGDIOBJ WINAPI GetCurrentObject(HDC, UINT); -;;BOOL WINAPI GetCurrentPositionEx(HDC, LPPOINT); -;;int WINAPI GetDeviceCaps(HDC, int); -;;int WINAPI GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT); -;;DWORD WINAPI GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD); -;;DWORD WINAPI GetGlyphOutline(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, CONST MAT2 *); -;;int WINAPI GetGraphicsMode(HDC); -;;int WINAPI GetMapMode(HDC); -;;UINT WINAPI GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID); -;;HMETAFILE WINAPI GetMetaFileA(LPCSTR); -;;HMETAFILE WINAPI GetMetaFileW(LPCWSTR); -;;#ifdef UNICODE -;;#define GetMetaFile GetMetaFileW -;;#else -;;#define GetMetaFile GetMetaFileA -;;#endif // !UNICODE -;;COLORREF WINAPI GetNearestColor(HDC, COLORREF); -;;UINT WINAPI GetNearestPaletteIndex(HPALETTE, COLORREF); -;;DWORD WINAPI GetObjectType(HGDIOBJ h); -;; -;;#ifndef NOTEXTMETRIC -;; -;;UINT APIENTRY GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRICA); -;;UINT APIENTRY GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW); -;;#ifdef UNICODE -;;#define GetOutlineTextMetrics GetOutlineTextMetricsW -;;#else -;;#define GetOutlineTextMetrics GetOutlineTextMetricsA -;;#endif // !UNICODE -;; -;;#endif /* NOTEXTMETRIC */ -;; -;;UINT WINAPI GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY); -;;COLORREF WINAPI GetPixel(HDC, int, int); -;;int WINAPI GetPolyFillMode(HDC); -;;BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS, UINT); -;;DWORD WINAPI GetRegionData(HRGN, DWORD, LPRGNDATA); -;;int WINAPI GetRgnBox(HRGN, LPRECT); -;;HGDIOBJ WINAPI GetStockObject(int); -;;int WINAPI GetStretchBltMode(HDC); -;;UINT WINAPI GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY); -;;UINT WINAPI GetSystemPaletteUse(HDC); -;;int WINAPI GetTextCharacterExtra(HDC); -;;UINT WINAPI GetTextAlign(HDC); -;;COLORREF WINAPI GetTextColor(HDC); -;; -;;BOOL APIENTRY GetTextExtentPointA( -;; HDC, -;; LPCSTR, -;; int, -;; LPSIZE -;; ); -;;BOOL APIENTRY GetTextExtentPointW( -;; HDC, -;; LPCWSTR, -;; int, -;; LPSIZE -;; ); -;;#ifdef UNICODE -;;#define GetTextExtentPoint GetTextExtentPointW -;;#else -;;#define GetTextExtentPoint GetTextExtentPointA -;;#endif // !UNICODE -;; -;;BOOL APIENTRY GetTextExtentPoint32A( -;; HDC, -;; LPCSTR, -;; int, -;; LPSIZE -;; ); -;;BOOL APIENTRY GetTextExtentPoint32W( -;; HDC, -;; LPCWSTR, -;; int, -;; LPSIZE -;; ); -;;#ifdef UNICODE -;;#define GetTextExtentPoint32 GetTextExtentPoint32W -;;#else -;;#define GetTextExtentPoint32 GetTextExtentPoint32A -;;#endif // !UNICODE -;; -;;BOOL APIENTRY GetTextExtentExPointA( -;; HDC, -;; LPCSTR, -;; int, -;; int, -;; LPINT, -;; LPINT, -;; LPSIZE -;; ); -;;BOOL APIENTRY GetTextExtentExPointW( -;; HDC, -;; LPCWSTR, -;; int, -;; int, -;; LPINT, -;; LPINT, -;; LPSIZE -;; ); -;;#ifdef UNICODE -;;#define GetTextExtentExPoint GetTextExtentExPointW -;;#else -;;#define GetTextExtentExPoint GetTextExtentExPointA -;;#endif // !UNICODE -;; -;;BOOL WINAPI GetViewportExtEx(HDC, LPSIZE); -;;BOOL WINAPI GetViewportOrgEx(HDC, LPPOINT); -;;BOOL WINAPI GetWindowExtEx(HDC, LPSIZE); -;;BOOL WINAPI GetWindowOrgEx(HDC, LPPOINT); -;; -;;int WINAPI IntersectClipRect(HDC, int, int, int, int); -;;BOOL WINAPI InvertRgn(HDC, HRGN); -;;BOOL WINAPI LineDDA(int, int, int, int, LINEDDAPROC, LPARAM); -;;BOOL WINAPI LineTo(HDC, int, int); -;;BOOL WINAPI MaskBlt(HDC, int, int, int, int, -;; HDC, int, int, HBITMAP, int, int, DWORD); -;;BOOL WINAPI PlgBlt(HDC, LPPOINT, HDC, int, int, int, -;; int, HBITMAP, int, int); -;; -;;int WINAPI OffsetClipRgn(HDC, int, int); -;;int WINAPI OffsetRgn(HRGN, int, int); -;;BOOL WINAPI PatBlt(HDC, int, int, int, int, DWORD); -;;BOOL WINAPI Pie(HDC, int, int, int, int, int, int, int, int); -;;BOOL WINAPI PlayMetaFile(HDC, HMETAFILE); -;;BOOL WINAPI PaintRgn(HDC, HRGN); -;;BOOL WINAPI PolyPolygon(HDC, CONST POINT *, LPINT, int); -;;BOOL WINAPI PtInRegion(HRGN, int, int); -;;BOOL WINAPI PtVisible(HDC, int, int); -;;BOOL WINAPI RectInRegion(HRGN, CONST RECT *); -;;BOOL WINAPI RectVisible(HDC, CONST RECT *); -;;BOOL WINAPI Rectangle(HDC, int, int, int, int); -;;BOOL WINAPI RestoreDC(HDC, int); -;;HDC WINAPI ResetDCA(HDC, CONST DEVMODEA *); -;;HDC WINAPI ResetDCW(HDC, CONST DEVMODEW *); -;;#ifdef UNICODE -;;#define ResetDC ResetDCW -;;#else -;;#define ResetDC ResetDCA -;;#endif // !UNICODE -;;UINT WINAPI RealizePalette(HDC); -;;BOOL WINAPI RemoveFontModule(HMODULE); -;;BOOL WINAPI RemoveFontResourceA(LPSTR); -;;BOOL WINAPI RemoveFontResourceW(LPWSTR); -;;#ifdef UNICODE -;;#define RemoveFontResource RemoveFontResourceW -;;#else -;;#define RemoveFontResource RemoveFontResourceA -;;#endif // !UNICODE -;;BOOL WINAPI RoundRect(HDC, int, int, int, int, int, int); -;;BOOL WINAPI ResizePalette(HPALETTE, UINT); -;; -;;int WINAPI SaveDC(HDC); -;;int WINAPI SelectClipRgn(HDC, HRGN); -;;int WINAPI ExtSelectClipRgn(HDC, HRGN, int); -;;int WINAPI SetMetaRgn(HDC); -;;HGDIOBJ WINAPI SelectObject(HDC, HGDIOBJ); -;;HPALETTE WINAPI SelectPalette(HDC, HPALETTE, BOOL); -;;COLORREF WINAPI SetBkColor(HDC, COLORREF); -;;int WINAPI SetBkMode(HDC, int); -;;LONG WINAPI SetBitmapBits(HBITMAP, DWORD, CONST VOID *); -;; -;;UINT WINAPI SetBoundsRect(HDC, CONST RECT *, UINT); -;;int WINAPI SetDIBits(HDC, HBITMAP, UINT, UINT, CONST VOID *, LPBITMAPINFO, UINT); -;;int WINAPI SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, int, UINT, UINT, LPVOID, LPBITMAPINFO, UINT); -;;DWORD WINAPI SetMapperFlags(HDC, DWORD); -;;int WINAPI SetGraphicsMode(HDC hdc, int iMode); -;;int WINAPI SetMapMode(HDC, int); -;;HMETAFILE WINAPI SetMetaFileBitsEx(UINT, LPBYTE); -;;UINT WINAPI SetPaletteEntries(HPALETTE, UINT, UINT, CONST PALETTEENTRY *); -;;COLORREF WINAPI SetPixel(HDC, int, int, COLORREF); -;;BOOL WINAPI SetPixelV(HDC, int, int, COLORREF); -;;int WINAPI SetPolyFillMode(HDC, int); -;;BOOL WINAPI StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD); -;;BOOL WINAPI SetRectRgn(HRGN, int, int, int, int); -;;int WINAPI StretchDIBits(HDC, int, int, int, int, int, int, int, int, CONST -;; VOID *, LPBITMAPINFO, UINT, DWORD); -;;int WINAPI SetROP2(HDC, int); -;;int WINAPI SetStretchBltMode(HDC, int); -;;UINT WINAPI SetSystemPaletteUse(HDC, UINT); -;;int WINAPI SetTextCharacterExtra(HDC, int); -;;COLORREF WINAPI SetTextColor(HDC, COLORREF); -;;UINT WINAPI SetTextAlign(HDC, UINT); -;;BOOL WINAPI SetTextJustification(HDC, int, int); -;;BOOL WINAPI UpdateColors(HDC); -;; -;;#ifndef NOMETAFILE -;; -;;BOOL WINAPI PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT); -;;typedef int (CALLBACK* MFENUMPROC)(HDC, HANDLETABLE FAR*, METARECORD FAR*, int, LPARAM); -;;BOOL WINAPI EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM); -;; -;;typedef int (CALLBACK* ENHMFENUMPROC)(HDC, HANDLETABLE FAR*, ENHMETARECORD FAR*, int, LPARAM); -;; -;;// Enhanced Metafile Function Declarations -;; -;;HENHMETAFILE WINAPI CloseEnhMetaFile(HDC); -;;HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE, LPSTR); -;;HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE, LPWSTR); -;;#ifdef UNICODE -;;#define CopyEnhMetaFile CopyEnhMetaFileW -;;#else -;;#define CopyEnhMetaFile CopyEnhMetaFileA -;;#endif // !UNICODE -;;HDC WINAPI CreateEnhMetaFileA(HDC, LPSTR, LPRECT, LPSTR); -;;HDC WINAPI CreateEnhMetaFileW(HDC, LPWSTR, LPRECT, LPWSTR); -;;#ifdef UNICODE -;;#define CreateEnhMetaFile CreateEnhMetaFileW -;;#else -;;#define CreateEnhMetaFile CreateEnhMetaFileA -;;#endif // !UNICODE -;;BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE); -;;BOOL WINAPI EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC, LPVOID, LPRECT); -;;HENHMETAFILE WINAPI GetEnhMetaFileA(LPSTR); -;;HENHMETAFILE WINAPI GetEnhMetaFileW(LPWSTR); -;;#ifdef UNICODE -;;#define GetEnhMetaFile GetEnhMetaFileW -;;#else -;;#define GetEnhMetaFile GetEnhMetaFileA -;;#endif // !UNICODE -;;UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE); -;;UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR ); -;;UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR ); -;;#ifdef UNICODE -;;#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW -;;#else -;;#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA -;;#endif // !UNICODE -;;UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER ); -;;UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY ); -;;UINT WINAPI GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC); -;;BOOL WINAPI PlayEnhMetaFile(HDC, HENHMETAFILE, LPRECT); -;;BOOL WINAPI PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, LPENHMETARECORD, UINT); -;;HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT, LPBYTE); -;;HENHMETAFILE WINAPI SetWinMetaFileBits(UINT, LPBYTE, HDC, LPMETAFILEPICT); -;;BOOL WINAPI GdiComment(HDC, UINT, LPBYTE); -;; -;;#endif /* NOMETAFILE */ -;; -;;#ifndef NOTEXTMETRIC -;; -;;BOOL WINAPI GetTextMetricsA(HDC, LPTEXTMETRICA); -;;BOOL WINAPI GetTextMetricsW(HDC, LPTEXTMETRICW); -;;#ifdef UNICODE -;;#define GetTextMetrics GetTextMetricsW -;;#else -;;#define GetTextMetrics GetTextMetricsA -;;#endif // !UNICODE -;; -;;#endif -;; -;;/* new GDI */ -;;BOOL WINAPI AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT); -;;BOOL WINAPI PolyPolyline(HDC, LPPOINT, LPDWORD, DWORD); -;;BOOL WINAPI GetWorldTransform(HDC, LPXFORM); -;;BOOL WINAPI SetWorldTransform(HDC, LPXFORM); -;;BOOL WINAPI ModifyWorldTransform(HDC, LPXFORM , DWORD); -;;BOOL WINAPI CombineTransform(LPXFORM, LPXFORM, LPXFORM); -;; -;;/* Flags value for COLORADJUSTMENT */ +;;Flags value for COLORADJUSTMENT (define-integrable CA_NEGATIVE #x0001) (define-integrable CA_LOG_FILTER #x0002) -;; -;;/* IlluminantIndex values */ + +;;IlluminantIndex values (define-integrable ILLUMINANT_DEVICE_DEFAULT 0) (define-integrable ILLUMINANT_A 1) (define-integrable ILLUMINANT_B 2) @@ -2210,196 +979,21 @@ (define-integrable ILLUMINANT_FLUORESCENT ILLUMINANT_F2) (define-integrable ILLUMINANT_NTSC ILLUMINANT_C) ;; -;;/* Min and max for RedGamma, GreenGamma, BlueGamma */ +;;Min and max for RedGamma, GreenGamma, BlueGamma (define-integrable RGB_GAMMA_MIN 02500) ;(WORD)02500 (define-integrable RGB_GAMMA_MAX 65000) -;; -;;/* Min and max for ReferenceBlack and ReferenceWhite */ + +;;Min and max for ReferenceBlack and ReferenceWhite (define-integrable REFERENCE_WHITE_MIN 6000) ;(WORD)6000 (define-integrable REFERENCE_WHITE_MAX 10000) ;(WORD)10000 (define-integrable REFERENCE_BLACK_MIN 0) ;(WORD)0 (define-integrable REFERENCE_BLACK_MAX 4000) ;(WORD)4000 -;; -;;/* Min and max for Contrast, Brightness, Colorfulness, RedGreenTint */ + +;;Min and max for Contrast, Brightness, Colorfulness, RedGreenTint (define-integrable COLOR_ADJ_MIN -100) ;(SHORT)-100 (define-integrable COLOR_ADJ_MAX 100) ;(SHORT)100 -;; -;;typedef struct tagCOLORADJUSTMENT { -;; WORD caSize; -;; WORD caFlags; -;; WORD caIlluminantIndex; -;; WORD caRedGamma; -;; WORD caGreenGamma; -;; WORD caBlueGamma; -;; WORD caReferenceBlack; -;; WORD caReferenceWhite; -;; SHORT caContrast; -;; SHORT caBrightness; -;; SHORT caColorfulness; -;; SHORT caRedGreenTint; -;;} COLORADJUSTMENT, *PCOLORADJUSTMENT, FAR *LPCOLORADJUSTMENT; -;; -;;BOOL WINAPI SetColorAdjustment(HDC, LPCOLORADJUSTMENT); -;;BOOL WINAPI GetColorAdjustment(HDC, LPCOLORADJUSTMENT); -;;HPALETTE WINAPI CreateHalftonePalette(HDC); -;; -;;#ifdef STRICT -;;typedef BOOL (CALLBACK* ABORTPROC)(HDC, int); -;;#else -;;typedef FARPROC ABORTPROC; -;;#endif -;; -;;typedef struct _DOCINFOA { -;; int cbSize; -;; LPCSTR lpszDocName; -;; LPCSTR lpszOutput; -;;} DOCINFOA, *LPDOCINFOA; -;;typedef struct _DOCINFOW { -;; int cbSize; -;; LPCWSTR lpszDocName; -;; LPCWSTR lpszOutput; -;;} DOCINFOW, *LPDOCINFOW; -;;#ifdef UNICODE -;;typedef DOCINFOW DOCINFO; -;;typedef LPDOCINFOW LPDOCINFO; -;;#else -;;typedef DOCINFOA DOCINFO; -;;typedef LPDOCINFOA LPDOCINFO; -;;#endif // UNICODE -;; -;;int WINAPI StartDocA(HDC, LPDOCINFOA); -;;int WINAPI StartDocW(HDC, LPDOCINFOW); -;;#ifdef UNICODE -;;#define StartDoc StartDocW -;;#else -;;#define StartDoc StartDocA -;;#endif // !UNICODE -;;int WINAPI EndDoc(HDC); -;;int WINAPI StartPage(HDC); -;;int WINAPI EndPage(HDC); -;;int WINAPI AbortDoc(HDC); -;;int WINAPI SetAbortProc(HDC, ABORTPROC); -;; -;;BOOL WINAPI AbortPath(HDC); -;;BOOL WINAPI ArcTo(HDC, int, int, int, int, int, int,int, int); -;;BOOL WINAPI BeginPath(HDC); -;;BOOL WINAPI CloseFigure(HDC); -;;BOOL WINAPI EndPath(HDC); -;;BOOL WINAPI FillPath(HDC); -;;BOOL WINAPI FlattenPath(HDC); -;;int WINAPI GetPath(HDC, LPPOINT, LPBYTE, int); -;;HRGN WINAPI PathToRegion(HDC); -;;BOOL WINAPI PolyDraw(HDC, LPPOINT, LPBYTE, int); -;;BOOL WINAPI SelectClipPath(HDC, int); -;;int WINAPI SetArcDirection(HDC, int); -;;BOOL WINAPI SetMiterLimit(HDC, FLOAT, PFLOAT); -;;BOOL WINAPI StrokeAndFillPath(HDC); -;;BOOL WINAPI StrokePath(HDC); -;;BOOL WINAPI WidenPath(HDC); -;;HPEN WINAPI ExtCreatePen(DWORD, DWORD, LPLOGBRUSH, DWORD, LPDWORD); -;;BOOL WINAPI GetMiterLimit(HDC, PFLOAT); -;;int WINAPI GetArcDirection(HDC); -;; -;;int WINAPI GetObjectA(HGDIOBJ, int, LPVOID); -;;int WINAPI GetObjectW(HGDIOBJ, int, LPVOID); -;;#ifdef UNICODE -;;#define GetObject GetObjectW -;;#else -;;#define GetObject GetObjectA -;;#endif // !UNICODE -;;BOOL WINAPI MoveToEx(HDC, int, int, LPPOINT); -;;BOOL WINAPI TextOutA(HDC, int, int, LPCSTR, int); -;;BOOL WINAPI TextOutW(HDC, int, int, LPCWSTR, int); -;;#ifdef UNICODE -;;#define TextOut TextOutW -;;#else -;;#define TextOut TextOutA -;;#endif // !UNICODE -;;BOOL WINAPI ExtTextOutA(HDC, int, int, UINT, CONST RECT *, LPCSTR, UINT, LPINT); -;;BOOL WINAPI ExtTextOutW(HDC, int, int, UINT, CONST RECT *, LPCWSTR, UINT, LPINT); -;;#ifdef UNICODE -;;#define ExtTextOut ExtTextOutW -;;#else -;;#define ExtTextOut ExtTextOutA -;;#endif // !UNICODE -;;BOOL WINAPI PolyTextOutA(HDC, POLYTEXTA *, int); -;;BOOL WINAPI PolyTextOutW(HDC, POLYTEXTW *, int); -;;#ifdef UNICODE -;;#define PolyTextOut PolyTextOutW -;;#else -;;#define PolyTextOut PolyTextOutA -;;#endif // !UNICODE -;; -;;HRGN WINAPI CreatePolygonRgn(CONST POINT *, int, int); -;;BOOL WINAPI DPtoLP(HDC, LPPOINT, int); -;;BOOL WINAPI LPtoDP(HDC, LPPOINT, int); -;;BOOL WINAPI Polygon(HDC, CONST POINT *, int); -;;BOOL WINAPI Polyline(HDC, CONST POINT *, int); -;; -;;BOOL WINAPI PolyBezier(HDC, LPPOINT, DWORD); -;;BOOL WINAPI PolyBezierTo(HDC, LPPOINT, DWORD); -;;BOOL WINAPI PolylineTo(HDC, LPPOINT, DWORD); -;; -;;BOOL WINAPI SetViewportExtEx(HDC, int, int, LPSIZE); -;;BOOL WINAPI SetViewportOrgEx(HDC, int, int, LPPOINT); -;;BOOL WINAPI SetWindowExtEx(HDC, int, int, LPSIZE); -;;BOOL WINAPI SetWindowOrgEx(HDC, int, int, LPPOINT); -;; -;;BOOL WINAPI OffsetViewportOrgEx(HDC, int, int, LPPOINT); -;;BOOL WINAPI OffsetWindowOrgEx(HDC, int, int, LPPOINT); -;;BOOL WINAPI ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE); -;;BOOL WINAPI ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE); -;;BOOL WINAPI SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE); -;;BOOL WINAPI SetBrushOrgEx(HDC, int, int, LPPOINT); -;; -;;int WINAPI GetTextFaceA(HDC, int, LPSTR); -;;int WINAPI GetTextFaceW(HDC, int, LPWSTR); -;;#ifdef UNICODE -;;#define GetTextFace GetTextFaceW -;;#else -;;#define GetTextFace GetTextFaceA -;;#endif // !UNICODE -;; -;;#define FONTMAPPER_MAX 10 -;; -;;HFONT WINAPI ExtCreateFontIndirectA(LPEXTLOGFONTA); -;;HFONT WINAPI ExtCreateFontIndirectW(LPEXTLOGFONTW); -;;#ifdef UNICODE -;;#define ExtCreateFontIndirect ExtCreateFontIndirectW -;;#else -;;#define ExtCreateFontIndirect ExtCreateFontIndirectA -;;#endif // !UNICODE -;;typedef struct tagKERNINGPAIR { -;; WORD wFirst; -;; WORD wSecond; -;; int iKernAmount; -;;} KERNINGPAIR, *LPKERNINGPAIR; -;; -;;DWORD WINAPI GetKerningPairs(HDC, DWORD, LPKERNINGPAIR); -;; -;;DWORD WINAPI GetDCOrg(HDC); -;;BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT); -;;BOOL WINAPI UnrealizeObject(HGDIOBJ); -;; -;;BOOL WINAPI GdiFlush(); -;;DWORD WINAPI GdiSetBatchLimit(DWORD); -;;DWORD WINAPI GdiGetBatchLimit(); -;; -;;#ifndef NOMETAFILE -;; -;;// Enhanced metafile constants. -;; -;;#define ENHMETA_SIGNATURE 0x464D4520 -;; -;;// Stock object flag used in the object handle index in the enhanced -;;// metafile records. -;;// E.g. The object handle index (META_STOCK_OBJECT | BLACK_BRUSH) -;;// represents the stock object BLACK_BRUSH. -;; -;;#define ENHMETA_STOCK_OBJECT 0x80000000 -;; -;;// Enhanced metafile record types. -;; + +;;Enhanced metafile record types. (define-integrable EMR_HEADER 1) (define-integrable EMR_POLYBEZIER 2) (define-integrable EMR_POLYGON 3) @@ -2498,592 +1092,5 @@ (define-integrable EMR_POLYTEXTOUTA 96) (define-integrable EMR_POLYTEXTOUTW 97) -(define-integrable EMR_MIN 1) -(define-integrable EMR_MAX 97) - -;;// Base record type for the enhanced metafile. -;; -;;typedef struct tagEMR -;;{ -;; DWORD iType; // Enhanced metafile record type -;; DWORD nSize; // Length of the record in bytes. -;; // This must be a multiple of 4. -;;} EMR, *PEMR; -;; -;;// Base text record type for the enhanced metafile. -;; -;;typedef struct tagEMRTEXT -;;{ -;; POINTL ptlReference; -;; DWORD nChars; -;; DWORD offString; // Offset to the string -;; DWORD fOptions; -;; RECTL rcl; -;; DWORD offDx; // Offset to the inter-character spacing array. -;; // This is always given. -;;} EMRTEXT, *PEMRTEXT; -;; -;;// Record structures for the enhanced metafile. -;; -;;typedef struct tagABORTPATH -;;{ -;; EMR emr; -;;} EMRABORTPATH, *PEMRABORTPATH, -;; EMRBEGINPATH, *PEMRBEGINPATH, -;; EMRENDPATH, *PEMRENDPATH, -;; EMRCLOSEFIGURE, *PEMRCLOSEFIGURE, -;; EMRFLATTENPATH, *PEMRFLATTENPATH, -;; EMRWIDENPATH, *PEMRWIDENPATH, -;; EMRSETMETARGN, *PEMRSETMETARGN, -;; EMRSAVEDC, *PEMRSAVEDC, -;; EMRREALIZEPALETTE, *PEMRREALIZEPALETTE; -;; -;;typedef struct tagEMRSELECTCLIPPATH -;;{ -;; EMR emr; -;; DWORD iMode; -;;} EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH, -;; EMRSETBKMODE, *PEMRSETBKMODE, -;; EMRSETMAPMODE, *PEMRSETMAPMODE, -;; EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE, -;; EMRSETROP2, *PEMRSETROP2, -;; EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE, -;; EMRSETTEXTALIGN, *PEMRSETTEXTALIGN; -;; -;;typedef struct tagEMRSETMITERLIMIT -;;{ -;; EMR emr; -;; FLOAT eMiterLimit; -;;} EMRSETMITERLIMIT, *PEMRSETMITERLIMIT; -;; -;;typedef struct tagEMRRESTOREDC -;;{ -;; EMR emr; -;; LONG iRelative; // Specifies a relative instance -;;} EMRRESTOREDC, *PEMRRESTOREDC; -;; -;;typedef struct tagEMRSETARCDIRECTION -;;{ -;; EMR emr; -;; DWORD iArcDirection; // Specifies the arc direction in the -;; // advanced graphics mode. -;;} EMRSETARCDIRECTION, *PEMRSETARCDIRECTION; -;; -;;typedef struct tagEMRSETMAPPERFLAGS -;;{ -;; EMR emr; -;; DWORD dwFlags; -;;} EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS; -;; -;;typedef struct tagEMRSETTEXTCOLOR -;;{ -;; EMR emr; -;; COLORREF crColor; -;;} EMRSETBKCOLOR, *PEMRSETBKCOLOR, -;; EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR; -;; -;;typedef struct tagEMRSELECTOBJECT -;;{ -;; EMR emr; -;; DWORD ihObject; // Object handle index -;;} EMRSELECTOBJECT, *PEMRSELECTOBJECT, -;; EMRDELETEOBJECT, *PEMRDELETEOBJECT; -;; -;;typedef struct tagEMRSELECTPALETTE -;;{ -;; EMR emr; -;; DWORD ihPal; // Palette handle index, background mode only -;;} EMRSELECTPALETTE, *PEMRSELECTPALETTE; -;; -;;typedef struct tagEMRRESIZEPALETTE -;;{ -;; EMR emr; -;; DWORD ihPal; // Palette handle index -;; DWORD cEntries; -;;} EMRRESIZEPALETTE, *PEMRRESIZEPALETTE; -;; -;;typedef struct tagEMRSETPALETTEENTRIES -;;{ -;; EMR emr; -;; DWORD ihPal; // Palette handle index -;; DWORD iStart; -;; DWORD cEntries; -;; PALETTEENTRY aPalEntries[1];// The peFlags fields do not contain any flags -;;} EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES; -;; -;;typedef struct tagEMRSETCOLORADJUSTMENT -;;{ -;; EMR emr; -;; COLORADJUSTMENT ColorAdjustment; -;;} EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT; -;; -;;typedef struct tagEMRGDICOMMENT -;;{ -;; EMR emr; -;; DWORD cbData; // Size of data in bytes -;; BYTE Data[1]; -;;} EMRGDICOMMENT, *PEMRGDICOMMENT; -;; -;;typedef struct tagEMREOF -;;{ -;; EMR emr; -;; DWORD nPalEntries; // Number of palette entries -;; DWORD offPalEntries; // Offset to the palette entries -;; DWORD nSizeLast; // Same as nSize and must be the last DWORD -;; // of the record. The palette entries, -;; // if exist, precede this field. -;;} EMREOF, *PEMREOF; -;; -;;typedef struct tagEMRLINETO -;;{ -;; EMR emr; -;; POINTL ptl; -;;} EMRLINETO, *PEMRLINETO, -;; EMRMOVETOEX, *PEMRMOVETOEX; -;; -;;typedef struct tagEMROFFSETCLIPRGN -;;{ -;; EMR emr; -;; POINTL ptlOffset; -;;} EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN; -;; -;;typedef struct tagEMRFILLPATH -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;;} EMRFILLPATH, *PEMRFILLPATH, -;; EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH, -;; EMRSTROKEPATH, *PEMRSTROKEPATH; -;; -;;typedef struct tagEMREXCLUDECLIPRECT -;;{ -;; EMR emr; -;; RECTL rclClip; -;;} EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT, -;; EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT; -;; -;;typedef struct tagEMRSETVIEWPORTORGEX -;;{ -;; EMR emr; -;; POINTL ptlOrigin; -;;} EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX, -;; EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX, -;; EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX; -;; -;;typedef struct tagEMRSETVIEWPORTEXTEX -;;{ -;; EMR emr; -;; SIZEL szlExtent; -;;} EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX, -;; EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX; -;; -;;typedef struct tagEMRSCALEVIEWPORTEXTEX -;;{ -;; EMR emr; -;; LONG xNum; -;; LONG xDenom; -;; LONG yNum; -;; LONG yDenom; -;;} EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX, -;; EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX; -;; -;;typedef struct tagEMRSETWORLDTRANSFORM -;;{ -;; EMR emr; -;; XFORM xform; -;;} EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM; -;; -;;typedef struct tagEMRMODIFYWORLDTRANSFORM -;;{ -;; EMR emr; -;; XFORM xform; -;; DWORD iMode; -;;} EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM; -;; -;;typedef struct tagEMRSETPIXELV -;;{ -;; EMR emr; -;; POINTL ptlPixel; -;; COLORREF crColor; -;;} EMRSETPIXELV, *PEMRSETPIXELV; -;; -;;typedef struct tagEMREXTFLOODFILL -;;{ -;; EMR emr; -;; POINTL ptlStart; -;; COLORREF crColor; -;; DWORD iMode; -;;} EMREXTFLOODFILL, *PEMREXTFLOODFILL; -;; -;;typedef struct tagEMRELLIPSE -;;{ -;; EMR emr; -;; RECTL rclBox; // Inclusive-inclusive bounding rectangle -;;} EMRELLIPSE, *PEMRELLIPSE, -;; EMRRECTANGLE, *PEMRRECTANGLE; -;; -;;typedef struct tagEMRROUNDRECT -;;{ -;; EMR emr; -;; RECTL rclBox; // Inclusive-inclusive bounding rectangle -;; SIZEL szlCorner; -;;} EMRROUNDRECT, *PEMRROUNDRECT; -;; -;;typedef struct tagEMRARC -;;{ -;; EMR emr; -;; RECTL rclBox; // Inclusive-inclusive bounding rectangle -;; POINTL ptlStart; -;; POINTL ptlEnd; -;;} EMRARC, *PEMRARC, -;; EMRARCTO, *PEMRARCTO, -;; EMRCHORD, *PEMRCHORD, -;; EMRPIE, *PEMRPIE; -;; -;;typedef struct tagEMRANGLEARC -;;{ -;; EMR emr; -;; POINTL ptlCenter; -;; DWORD nRadius; -;; FLOAT eStartAngle; -;; FLOAT eSweepAngle; -;;} EMRANGLEARC, *PEMRANGLEARC; -;; -;;typedef struct tagEMRPOLYLINE -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cptl; -;; POINTL aptl[1]; -;;} EMRPOLYLINE, *PEMRPOLYLINE, -;; EMRPOLYBEZIER, *PEMRPOLYBEZIER, -;; EMRPOLYGON, *PEMRPOLYGON, -;; EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO, -;; EMRPOLYLINETO, *PEMRPOLYLINETO; -;; -;;typedef struct tagEMRPOLYLINE16 -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cpts; -;; POINTS apts[1]; -;;} EMRPOLYLINE16, *PEMRPOLYLINE16, -;; EMRPOLYBEZIER16, *PEMRPOLYBEZIER16, -;; EMRPOLYGON16, *PEMRPOLYGON16, -;; EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16, -;; EMRPOLYLINETO16, *PEMRPOLYLINETO16; -;; -;;typedef struct tagEMRPOLYDRAW -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cptl; // Number of points -;; POINTL aptl[1]; // Array of points -;; BYTE abTypes[1]; // Array of point types -;;} EMRPOLYDRAW, *PEMRPOLYDRAW; -;; -;;typedef struct tagEMRPOLYDRAW16 -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cpts; // Number of points -;; POINTS apts[1]; // Array of points -;; BYTE abTypes[1]; // Array of point types -;;} EMRPOLYDRAW16, *PEMRPOLYDRAW16; -;; -;;typedef struct tagEMRPOLYPOLYLINE -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD nPolys; // Number of polys -;; DWORD cptl; // Total number of points in all polys -;; DWORD aPolyCounts[1]; // Array of point counts for each poly -;; POINTL aptl[1]; // Array of points -;;} EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE, -;; EMRPOLYPOLYGON, *PEMRPOLYPOLYGON; -;; -;;typedef struct tagEMRPOLYPOLYLINE16 -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD nPolys; // Number of polys -;; DWORD cpts; // Total number of points in all polys -;; DWORD aPolyCounts[1]; // Array of point counts for each poly -;; POINTS apts[1]; // Array of points -;;} EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16, -;; EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16; -;; -;;typedef struct tagEMRINVERTRGN -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cbRgnData; // Size of region data in bytes -;; BYTE RgnData[1]; -;;} EMRINVERTRGN, *PEMRINVERTRGN, -;; EMRPAINTRGN, *PEMRPAINTRGN; -;; -;;typedef struct tagEMRFILLRGN -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cbRgnData; // Size of region data in bytes -;; DWORD ihBrush; // Brush handle index -;; BYTE RgnData[1]; -;;} EMRFILLRGN, *PEMRFILLRGN; -;; -;;typedef struct tagEMRFRAMERGN -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD cbRgnData; // Size of region data in bytes -;; DWORD ihBrush; // Brush handle index -;; SIZEL szlStroke; -;; BYTE RgnData[1]; -;;} EMRFRAMERGN, *PEMRFRAMERGN; -;; -;;typedef struct tagEMREXTSELECTCLIPRGN -;;{ -;; EMR emr; -;; DWORD cbRgnData; // Size of region data in bytes -;; DWORD iMode; -;; BYTE RgnData[1]; -;;} EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN; -;; -;;typedef struct tagEMREXTTEXTOUTA -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD iGraphicsMode; // Current graphics mode -;; FLOAT exScale; // X and Y scales from Page units to .01mm units -;; FLOAT eyScale; // if graphics mode is GM_COMPATIBLE. -;; EMRTEXT emrtext; // This is followed by the string and spacing -;; // array -;;} EMREXTTEXTOUTA, *PEMREXTTEXTOUTA, -;; EMREXTTEXTOUTW, *PEMREXTTEXTOUTW; -;; -;;typedef struct tagEMRPOLYTEXTOUTA -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; DWORD iGraphicsMode; // Current graphics mode -;; FLOAT exScale; // X and Y scales from Page units to .01mm units -;; FLOAT eyScale; // if graphics mode is GM_COMPATIBLE. -;; LONG cStrings; -;; EMRTEXT aemrtext[1]; // Array of EMRTEXT structures. This is -;; // followed by the strings and spacing arrays. -;;} EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA, -;; EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW; -;; -;;typedef struct tagEMRBITBLT -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; LONG xDest; -;; LONG yDest; -;; LONG cxDest; -;; LONG cyDest; -;; DWORD dwRop; -;; LONG xSrc; -;; LONG ySrc; -;; XFORM xformSrc; // Source DC transform -;; COLORREF crBkColorSrc; // Source DC BkColor in RGB -;; DWORD iUsageSrc; // Source bitmap info color table usage -;; // (DIB_RGB_COLORS) -;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure -;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure -;; DWORD offBitsSrc; // Offset to the source bitmap bits -;; DWORD cbBitsSrc; // Size of the source bitmap bits -;;} EMRBITBLT, *PEMRBITBLT; -;; -;;typedef struct tagEMRSTRETCHBLT -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; LONG xDest; -;; LONG yDest; -;; LONG cxDest; -;; LONG cyDest; -;; DWORD dwRop; -;; LONG xSrc; -;; LONG ySrc; -;; XFORM xformSrc; // Source DC transform -;; COLORREF crBkColorSrc; // Source DC BkColor in RGB -;; DWORD iUsageSrc; // Source bitmap info color table usage -;; // (DIB_RGB_COLORS) -;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure -;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure -;; DWORD offBitsSrc; // Offset to the source bitmap bits -;; DWORD cbBitsSrc; // Size of the source bitmap bits -;; LONG cxSrc; -;; LONG cySrc; -;;} EMRSTRETCHBLT, *PEMRSTRETCHBLT; -;; -;;typedef struct tagEMRMASKBLT -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; LONG xDest; -;; LONG yDest; -;; LONG cxDest; -;; LONG cyDest; -;; DWORD dwRop; -;; LONG xSrc; -;; LONG ySrc; -;; XFORM xformSrc; // Source DC transform -;; COLORREF crBkColorSrc; // Source DC BkColor in RGB -;; DWORD iUsageSrc; // Source bitmap info color table usage -;; // (DIB_RGB_COLORS) -;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure -;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure -;; DWORD offBitsSrc; // Offset to the source bitmap bits -;; DWORD cbBitsSrc; // Size of the source bitmap bits -;; LONG xMask; -;; LONG yMask; -;; DWORD iUsageMask; // Mask bitmap info color table usage -;; DWORD offBmiMask; // Offset to the mask BITMAPINFO structure if any -;; DWORD cbBmiMask; // Size of the mask BITMAPINFO structure if any -;; DWORD offBitsMask; // Offset to the mask bitmap bits if any -;; DWORD cbBitsMask; // Size of the mask bitmap bits if any -;;} EMRMASKBLT, *PEMRMASKBLT; -;; -;;typedef struct tagEMRPLGBLT -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; POINTL aptlDest[3]; -;; LONG xSrc; -;; LONG ySrc; -;; LONG cxSrc; -;; LONG cySrc; -;; XFORM xformSrc; // Source DC transform -;; COLORREF crBkColorSrc; // Source DC BkColor in RGB -;; DWORD iUsageSrc; // Source bitmap info color table usage -;; // (DIB_RGB_COLORS) -;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure -;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure -;; DWORD offBitsSrc; // Offset to the source bitmap bits -;; DWORD cbBitsSrc; // Size of the source bitmap bits -;; LONG xMask; -;; LONG yMask; -;; DWORD iUsageMask; // Mask bitmap info color table usage -;; DWORD offBmiMask; // Offset to the mask BITMAPINFO structure if any -;; DWORD cbBmiMask; // Size of the mask BITMAPINFO structure if any -;; DWORD offBitsMask; // Offset to the mask bitmap bits if any -;; DWORD cbBitsMask; // Size of the mask bitmap bits if any -;;} EMRPLGBLT, *PEMRPLGBLT; -;; -;;typedef struct tagEMRSETDIBITSTODEVICE -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; LONG xDest; -;; LONG yDest; -;; LONG xSrc; -;; LONG ySrc; -;; LONG cxSrc; -;; LONG cySrc; -;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure -;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure -;; DWORD offBitsSrc; // Offset to the source bitmap bits -;; DWORD cbBitsSrc; // Size of the source bitmap bits -;; DWORD iUsageSrc; // Source bitmap info color table usage -;; DWORD iStartScan; -;; DWORD cScans; -;;} EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE; -;; -;;typedef struct tagEMRSTRETCHDIBITS -;;{ -;; EMR emr; -;; RECTL rclBounds; // Inclusive-inclusive bounds in device units -;; LONG xDest; -;; LONG yDest; -;; LONG xSrc; -;; LONG ySrc; -;; LONG cxSrc; -;; LONG cySrc; -;; DWORD offBmiSrc; // Offset to the source BITMAPINFO structure -;; DWORD cbBmiSrc; // Size of the source BITMAPINFO structure -;; DWORD offBitsSrc; // Offset to the source bitmap bits -;; DWORD cbBitsSrc; // Size of the source bitmap bits -;; DWORD iUsageSrc; // Source bitmap info color table usage -;; DWORD dwRop; -;; LONG cxDest; -;; LONG cyDest; -;;} EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS; -;; -;;typedef struct tagEMREXTCREATEFONTINDIRECTW -;;{ -;; EMR emr; -;; DWORD ihFont; // Font handle index -;; EXTLOGFONTW elfw; -;;} EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW; -;; -;;typedef struct tagEMRCREATEPALETTE -;;{ -;; EMR emr; -;; DWORD ihPal; // Palette handle index -;; LOGPALETTE lgpl; // The peFlags fields in the palette entries -;; // do not contain any flags -;;} EMRCREATEPALETTE, *PEMRCREATEPALETTE; -;; -;;typedef struct tagEMRCREATEPEN -;;{ -;; EMR emr; -;; DWORD ihPen; // Pen handle index -;; LOGPEN lopn; -;;} EMRCREATEPEN, *PEMRCREATEPEN; -;; -;;typedef struct tagEMREXTCREATEPEN -;;{ -;; EMR emr; -;; DWORD ihPen; // Pen handle index -;; DWORD offBmi; // Offset to the BITMAPINFO structure if any -;; DWORD cbBmi; // Size of the BITMAPINFO structure if any -;; // The bitmap info is followed by the bitmap -;; // bits to form a packed DIB. -;; DWORD offBits; // Offset to the brush bitmap bits if any -;; DWORD cbBits; // Size of the brush bitmap bits if any -;; EXTLOGPEN elp; // The extended pen with the style array. -;;} EMREXTCREATEPEN, *PEMREXTCREATEPEN; -;; -;;typedef struct tagEMRCREATEBRUSHINDIRECT -;;{ -;; EMR emr; -;; DWORD ihBrush; // Brush handle index -;; LOGBRUSH lb; // The style must be BS_SOLID, BS_HOLLOW, -;; // BS_NULL or BS_HATCHED. -;;} EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT; -;; -;;typedef struct tagEMRCREATEMONOBRUSH -;;{ -;; EMR emr; -;; DWORD ihBrush; // Brush handle index -;; DWORD iUsage; // Bitmap info color table usage -;; DWORD offBmi; // Offset to the BITMAPINFO structure -;; DWORD cbBmi; // Size of the BITMAPINFO structure -;; DWORD offBits; // Offset to the bitmap bits -;; DWORD cbBits; // Size of the bitmap bits -;;} EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH; -;; -;;typedef struct tagEMRCREATEDIBPATTERNBRUSHPT -;;{ -;; EMR emr; -;; DWORD ihBrush; // Brush handle index -;; DWORD iUsage; // Bitmap info color table usage -;; DWORD offBmi; // Offset to the BITMAPINFO structure -;; DWORD cbBmi; // Size of the BITMAPINFO structure -;; // The bitmap info is followed by the bitmap -;; // bits to form a packed DIB. -;; DWORD offBits; // Offset to the bitmap bits -;; DWORD cbBits; // Size of the bitmap bits -;;} EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT; -;; -;;#endif /* NOMETAFILE */ -;; -;;#endif /* NOGDI */ -;; -;;#ifdef __cplusplus -;;} -;;#endif -;; -;;#endif /* _WINGDI_ */ +(define-integrable EMR_MIN 1) +(define-integrable EMR_MAX 97) \ No newline at end of file diff --git a/v7/src/win32/winnt.scm b/v7/src/win32/winnt.scm index 62fea9556..47fe80eb9 100644 --- a/v7/src/win32/winnt.scm +++ b/v7/src/win32/winnt.scm @@ -1,3930 +1,22 @@ -;;/*++ BUILD Version: 0093 Increment this if a change has global effects -;; -;;Copyright (c) 1990-1993 Microsoft Corporation -;; -;;Module Name: -;; -;; winnt.h -;; -;;Abstract: -;; -;; This module defines the 32-Bit Windows types and constants that are -;; defined by NT, but exposed through the Win32 API. -;; -;;Revision History: -;; -;;--*/ -;; -;;#ifndef _WINNT_ -;;#define _WINNT_ -;; -;;#ifdef __cplusplus -;;extern "C" { -;;#endif -;; -;;#include -;;#define ANYSIZE_ARRAY 1 -;;#if defined(_MIPS_) || defined(_ALPHA_) -;;#define UNALIGNED __unaligned -;;#else -;;#define UNALIGNED -;;#endif -;;typedef void *PVOID; -;;#if (_MSC_VER >= 800) -;;#define NTAPI __stdcall -;;#else -;;#define _cdecl -;;#define NTAPI -;;#endif -;; -;;// -;;// Basics -;;// -;; -;;#ifndef VOID -;;#define VOID void -;;typedef char CHAR; -;;typedef short SHORT; -;;typedef long LONG; -;;#endif -;; -;;// -;;// UNICODE (Wide Character) types -;;// -;; -;;typedef wchar_t WCHAR; // wc, 16-bit UNICODE character -;; -;;typedef WCHAR *PWCHAR; -;;typedef WCHAR *LPWCH, *PWCH; -;;typedef CONST WCHAR *LPCWCH, *PCWCH; -;;typedef WCHAR *NWPSTR; -;;typedef WCHAR *LPWSTR, *PWSTR; -;; -;;typedef CONST WCHAR *LPCWSTR, *PCWSTR; -;; -;;// -;;// ANSI (Multi-byte Character) types -;;// -;;typedef CHAR *PCHAR; -;;typedef CHAR *LPCH, *PCH; -;; -;;typedef CONST CHAR *LPCCH, *PCCH; -;;typedef CHAR *NPSTR; -;;typedef CHAR *LPSTR, *PSTR; -;;typedef CONST CHAR *LPCSTR, *PCSTR; -;; -;;// -;;// Neutral ANSI/UNICODE types and macros -;;// -;;#ifdef UNICODE -;; -;;#ifndef _TCHAR_DEFINED -;;typedef WCHAR TCHAR, *PTCHAR; -;;typedef WCHAR TBYTE , *PTBYTE ; -;;#define _TCHAR_DEFINED -;;#endif /* !_TCHAR_DEFINED */ -;; -;;typedef LPWSTR LPTCH, PTCH; -;;typedef LPWSTR PTSTR, LPTSTR; -;;typedef LPCWSTR LPCTSTR; -;;typedef LPWSTR LP; -;;#define __TEXT(quote) L##quote -;; -;;#else /* UNICODE */ -;; -;;#ifndef _TCHAR_DEFINED -;;typedef char TCHAR, *PTCHAR; -;;typedef unsigned char TBYTE , *PTBYTE ; -;;#define _TCHAR_DEFINED -;;#endif /* !_TCHAR_DEFINED */ -;; -;;typedef LPSTR LPTCH, PTCH; -;;typedef LPSTR PTSTR, LPTSTR; -;;typedef LPCSTR LPCTSTR; -;;#define __TEXT(quote) quote -;; -;;#endif /* UNICODE */ -;;#define TEXT(quote) __TEXT(quote) -;; -;; -;;typedef SHORT *PSHORT; -;;typedef LONG *PLONG; -;; -;;#ifdef STRICT -;;typedef void *HANDLE; -;;#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name -;;#else -;;typedef PVOID HANDLE; -;;#define DECLARE_HANDLE(name) typedef HANDLE name -;;#endif -;;typedef HANDLE *PHANDLE; -;; -;;typedef char CCHAR; -;;typedef DWORD LCID; -;;typedef PDWORD PLCID; -;;typedef WORD LANGID; -;;/*lint -e624 */ -;;/*lint +e624 */ -(define-integrable APPLICATION_ERROR_MASK #x20000000) -;;#define ERROR_SEVERITY_SUCCESS 0x00000000 -;;#define ERROR_SEVERITY_INFORMATIONAL 0x40000000 -;;#define ERROR_SEVERITY_WARNING 0x80000000 -;;#define ERROR_SEVERITY_ERROR 0xC0000000 -;; -;;#if defined(MIDL_PASS) -;;typedef double LONGLONG; -;;typedef double DWORDLONG; -;;#else -;;#if defined(_M_IX86) -;;typedef double LONGLONG; -;;typedef double DWORDLONG; -;;#else -;;typedef double LONGLONG; -;;typedef double DWORDLONG; -;;#endif -;;#endif -;; -;;typedef LONGLONG *PLONGLONG; -;;typedef DWORDLONG *PDWORDLONG; -;; -;;#if defined(MIDL_PASS) -;;typedef struct _LARGE_INTEGER { -;;#else // MIDL_PASS -;;typedef union _LARGE_INTEGER { -;;#if defined(_CFRONT_PASS_) -;; struct { -;; DWORD LowPart; -;; LONG HighPart; -;; } u; -;;#else -;; struct { -;; DWORD LowPart; -;; LONG HighPart; -;; }; -;;#endif -;;#endif //MIDL_PASS -;; LONGLONG QuadPart; -;;} LARGE_INTEGER, *PLARGE_INTEGER; -;; -;; -;;#if defined(MIDL_PASS) -;;typedef struct _ULARGE_INTEGER { -;;#else // MIDL_PASS -;;typedef union _ULARGE_INTEGER { -;;#if defined(_CFRONT_PASS_) -;; struct { -;; DWORD LowPart; -;; DWORD HighPart; -;; } u; -;;#else -;; struct { -;; DWORD LowPart; -;; DWORD HighPart; -;; }; -;;#endif -;;#endif //MIDL_PASS -;; DWORDLONG QuadPart; -;;} ULARGE_INTEGER, *PULARGE_INTEGER; -;; -;;// end_ntminiport -;; -;;// -;;// Locally Unique Identifier -;;// -;; -;;typedef LARGE_INTEGER LUID, *PLUID; -;; -;;#define UNICODE_NULL ((WCHAR)0) -;;typedef BYTE BOOLEAN; -;;typedef BOOLEAN *PBOOLEAN; -;;// -;;// Doubly linked list structure. Can be used as either a list head, or -;;// as link words. -;;// -;; -;;typedef struct _LIST_ENTRY { -;; struct _LIST_ENTRY *Flink; -;; struct _LIST_ENTRY *Blink; -;;} LIST_ENTRY; -;;typedef LIST_ENTRY *PLIST_ENTRY; -;; -;;// -;;// Singly linked list structure. Can be used as either a list head, or -;;// as link words. -;;// -;; -;;typedef struct _SINGLE_LIST_ENTRY { -;; struct _SINGLE_LIST_ENTRY *Next; -;;} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY; -;;#define MINCHAR 0x80 -;;#define MAXCHAR 0x7f -;;#define MINSHORT 0x8000 -;;#define MAXSHORT 0x7fff -;;#define MINLONG 0x80000000 -;;#define MAXLONG 0x7fffffff -;;#define MAXBYTE 0xff -;;#define MAXWORD 0xffff -;;#define MAXDWORD 0xffffffff -;;// -;;// Calculate the byte offset of a field in a structure of type type. -;;// -;; -;;#define FIELD_OFFSET(type, field) ((LONG)&(((type *)0)->field)) -;; -;; -;;// -;;// Calculate the address of the base of the structure given its type, and an -;;// address of a field within the structure. -;;// -;; -;;#define CONTAINING_RECORD(address, type, field) ((type *)( \ -;; (PCHAR)(address) - \ -;; (PCHAR)(&((type *)0)->field))) -;; -;;/* -;; * Language IDs. -;; * -;; * The following two combinations of primary language ID and -;; * sublanguage ID have special semantics: -;; * -;; * Primary Language ID Sublanguage ID Result -;; * ------------------- --------------- ------------------------ -;; * LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral -;; * LANG_NEUTRAL SUBLANG_DEFAULT User default language -;; * LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language -;; */ -;; -;;/* -;; * Primary language IDs. -;; */ -;;#define LANG_NEUTRAL 0x00 -;; -;;#define LANG_ALBANIAN 0x1c -;;#define LANG_ARABIC 0x01 -;;#define LANG_BAHASA 0x21 -;;#define LANG_BULGARIAN 0x02 -;;#define LANG_CATALAN 0x03 -;;#define LANG_CHINESE 0x04 -;;#define LANG_CZECH 0x05 -;;#define LANG_DANISH 0x06 -;;#define LANG_DUTCH 0x13 -;;#define LANG_ENGLISH 0x09 -;;#define LANG_FINNISH 0x0b -;;#define LANG_FRENCH 0x0c -;;#define LANG_GERMAN 0x07 -;;#define LANG_GREEK 0x08 -;;#define LANG_HEBREW 0x0d -;;#define LANG_HUNGARIAN 0x0e -;;#define LANG_ICELANDIC 0x0f -;;#define LANG_ITALIAN 0x10 -;;#define LANG_JAPANESE 0x11 -;;#define LANG_KOREAN 0x12 -;;#define LANG_NORWEGIAN 0x14 -;;#define LANG_POLISH 0x15 -;;#define LANG_PORTUGUESE 0x16 -;;#define LANG_RHAETO_ROMAN 0x17 -;;#define LANG_ROMANIAN 0x18 -;;#define LANG_RUSSIAN 0x19 -;;#define LANG_SERBO_CROATIAN 0x1a -;;#define LANG_SLOVAK 0x1b -;;#define LANG_SPANISH 0x0a -;;#define LANG_SWEDISH 0x1d -;;#define LANG_THAI 0x1e -;;#define LANG_TURKISH 0x1f -;;#define LANG_URDU 0x20 -;; -;;/* -;; * Sublanguage IDs. -;; * -;; * The name immediately following SUBLANG_ dictates which primary -;; * language ID that sublanguage ID can be combined with to form a -;; * valid language ID. -;; */ -;;#define SUBLANG_NEUTRAL 0x00 /* language neutral */ -;;#define SUBLANG_DEFAULT 0x01 /* user default */ -;;#define SUBLANG_SYS_DEFAULT 0x02 /* system default */ -;; -;;#define SUBLANG_CHINESE_SIMPLIFIED 0x02 /* Chinese (Simplified) */ -;;#define SUBLANG_CHINESE_TRADITIONAL 0x01 /* Chinese (Traditional) */ -;;#define SUBLANG_DUTCH 0x01 /* Dutch */ -;;#define SUBLANG_DUTCH_BELGIAN 0x02 /* Dutch (Belgian) */ -;;#define SUBLANG_ENGLISH_US 0x01 /* English (USA) */ -;;#define SUBLANG_ENGLISH_UK 0x02 /* English (UK) */ -;;#define SUBLANG_ENGLISH_AUS 0x03 /* English (Australian) */ -;;#define SUBLANG_ENGLISH_CAN 0x04 /* English (Canadian) */ -;;#define SUBLANG_ENGLISH_NZ 0x05 /* English (New Zealand) */ -;;#define SUBLANG_ENGLISH_EIRE 0x06 /* English (Irish) */ -;;#define SUBLANG_FRENCH 0x01 /* French */ -;;#define SUBLANG_FRENCH_BELGIAN 0x02 /* French (Belgian) */ -;;#define SUBLANG_FRENCH_CANADIAN 0x03 /* French (Canadian) */ -;;#define SUBLANG_FRENCH_SWISS 0x04 /* French (Swiss) */ -;;#define SUBLANG_GERMAN 0x01 /* German */ -;;#define SUBLANG_GERMAN_SWISS 0x02 /* German (Swiss) */ -;;#define SUBLANG_GERMAN_AUSTRIAN 0x03 /* German (Austrian) */ -;;#define SUBLANG_ITALIAN 0x01 /* Italian */ -;;#define SUBLANG_ITALIAN_SWISS 0x02 /* Italian (Swiss) */ -;;#define SUBLANG_NORWEGIAN_BOKMAL 0x01 /* Norwegian (Bokmal) */ -;;#define SUBLANG_NORWEGIAN_NYNORSK 0x02 /* Norwegian (Nynorsk) */ -;;#define SUBLANG_PORTUGUESE 0x02 /* Portuguese */ -;;#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 /* Portuguese (Brazilian) */ -;;#define SUBLANG_SERBO_CROATIAN_CYRILLIC 0x02 /* Serbo-Croatian (Cyrillic) */ -;;#define SUBLANG_SERBO_CROATIAN_LATIN 0x01 /* Croato-Serbian (Latin) */ -;;#define SUBLANG_SPANISH 0x01 /* Spanish (Castilian) */ -;;#define SUBLANG_SPANISH_MEXICAN 0x02 /* Spanish (Mexican) */ -;;#define SUBLANG_SPANISH_MODERN 0x03 /* Spanish (Modern) */ -;; -;;/* -;; * Sorting IDs. -;; * -;; */ -;;#define SORT_DEFAULT 0x0 /* sorting default */ -;; -;; -;;/* -;; * A language ID is a 16 bit value which is the combination of a -;; * primary language ID and a secondary language ID. The bits are -;; * allocated as follows: -;; * -;; * +-----------------------+-------------------------+ -;; * | Sublanguage ID | Primary Language ID | -;; * +-----------------------+-------------------------+ -;; * 15 10 9 0 bit -;; * -;; * -;; * Language ID creation/extraction macros: -;; * -;; * MAKELANGID - construct language id from a primary language id and -;; * a sublanguage id. -;; * PRIMARYLANGID - extract primary language id from a language id. -;; * SUBLANGID - extract sublanguage id from a language id. -;; */ -;;#define MAKELANGID(p, s) ((((WORD )(s)) << 10) | (WORD )(p)) -;;#define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff) -;;#define SUBLANGID(lgid) ((WORD )(lgid) >> 10) -;; -;; -;;/* -;; * A locale ID is a 32 bit value which is the combination of a -;; * language ID, a sort ID, and a reserved area. The bits are -;; * allocated as follows: -;; * -;; * +-------------+---------+-------------------------+ -;; * | Reserved | Sort ID | Language ID | -;; * +-------------+---------+-------------------------+ -;; * 31 20 19 16 15 0 bit -;; * -;; * -;; * Locale ID creation/extraction macros: -;; * -;; * MAKELCID - construct locale id from a language id and a sort id. -;; * LANGIDFROMLCID - extract language id from a locale id. -;; * SORTIDFROMLCID - extract sort id from a locale id. -;; */ -;;#define NLS_VALID_LOCALE_MASK 0x000fffff -;; -;;#define MAKELCID(lgid, srtid) ((DWORD)((((DWORD)((WORD )(srtid))) << 16) | \ -;; ((DWORD)((WORD )(lgid))))) -;;#define LANGIDFROMLCID(lcid) ((WORD )(lcid)) -;;#define SORTIDFROMLCID(lcid) ((WORD )((((DWORD)(lcid)) & NLS_VALID_LOCALE_MASK) >> 16)) -;; -;; -;;/* -;; * Default System and User IDs for language and locale. -;; */ -;;#define LANG_SYSTEM_DEFAULT (MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT)) -;;#define LANG_USER_DEFAULT (MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)) -;; -;;#define LOCALE_SYSTEM_DEFAULT (MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT)) -;;#define LOCALE_USER_DEFAULT (MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT)) -;; -;; -;; -;;// begin_ntminiport -;; -;;// -;;// Macros used to eliminate compiler warning generated when formal -;;// parameters or local variables are not declared. -;;// -;;// Use DBG_UNREFERENCED_PARAMETER() when a parameter is not yet -;;// referenced but will be once the module is completely developed. -;;// -;;// Use DBG_UNREFERENCED_LOCAL_VARIABLE() when a local variable is not yet -;;// referenced but will be once the module is completely developed. -;;// -;;// Use UNREFERENCED_PARAMETER() if a parameter will never be referenced. -;;// -;;// DBG_UNREFERENCED_PARAMETER and DBG_UNREFERENCED_LOCAL_VARIABLE will -;;// eventually be made into a null macro to help determine whether there -;;// is unfinished work. -;;// -;; -;;#if ! (defined(lint) || defined(_lint)) -;;#define UNREFERENCED_PARAMETER(P) (P) -;;#define DBG_UNREFERENCED_PARAMETER(P) (P) -;;#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) (V) -;; -;;#else // lint or _lint -;; -;;// Note: lint -e530 says don't complain about uninitialized variables for -;;// this. line +e530 turns that checking back on. Error 527 has to do with -;;// unreachable code. -;; -;;#define UNREFERENCED_PARAMETER(P) \ -;; /*lint -e527 -e530 */ \ -;; { \ -;; (P) = (P); \ -;; } \ -;; /*lint +e527 +e530 */ -;;#define DBG_UNREFERENCED_PARAMETER(P) \ -;; /*lint -e527 -e530 */ \ -;; { \ -;; (P) = (P); \ -;; } \ -;; /*lint +e527 +e530 */ -;;#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) \ -;; /*lint -e527 -e530 */ \ -;; { \ -;; (V) = (V); \ -;; } \ -;; /*lint +e527 +e530 */ -;; -;;#endif // lint or _lint -;; -;; -;;/*lint -save -e767 */ -;;#define STATUS_WAIT_0 ((DWORD )0x00000000L) -;;#define STATUS_ABANDONED_WAIT_0 ((DWORD )0x00000080L) -;;#define STATUS_USER_APC ((DWORD )0x000000C0L) -;;#define STATUS_TIMEOUT ((DWORD )0x00000102L) -;;#define STATUS_PENDING ((DWORD )0x00000103L) -;;#define STATUS_DATATYPE_MISALIGNMENT ((DWORD )0x80000002L) -;;#define STATUS_BREAKPOINT ((DWORD )0x80000003L) -;;#define STATUS_SINGLE_STEP ((DWORD )0x80000004L) -;;#define STATUS_ACCESS_VIOLATION ((DWORD )0xC0000005L) -;;#define STATUS_IN_PAGE_ERROR ((DWORD )0xC0000006L) -;;#define STATUS_NO_MEMORY ((DWORD )0xC0000017L) -;;#define STATUS_ILLEGAL_INSTRUCTION ((DWORD )0xC000001DL) -;;#define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD )0xC0000025L) -;;#define STATUS_INVALID_DISPOSITION ((DWORD )0xC0000026L) -;;#define STATUS_ARRAY_BOUNDS_EXCEEDED ((DWORD )0xC000008CL) -;;#define STATUS_FLOAT_DENORMAL_OPERAND ((DWORD )0xC000008DL) -;;#define STATUS_FLOAT_DIVIDE_BY_ZERO ((DWORD )0xC000008EL) -;;#define STATUS_FLOAT_INEXACT_RESULT ((DWORD )0xC000008FL) -;;#define STATUS_FLOAT_INVALID_OPERATION ((DWORD )0xC0000090L) -;;#define STATUS_FLOAT_OVERFLOW ((DWORD )0xC0000091L) -;;#define STATUS_FLOAT_STACK_CHECK ((DWORD )0xC0000092L) -;;#define STATUS_FLOAT_UNDERFLOW ((DWORD )0xC0000093L) -;;#define STATUS_INTEGER_DIVIDE_BY_ZERO ((DWORD )0xC0000094L) -;;#define STATUS_INTEGER_OVERFLOW ((DWORD )0xC0000095L) -;;#define STATUS_PRIVILEGED_INSTRUCTION ((DWORD )0xC0000096L) -;;#define STATUS_STACK_OVERFLOW ((DWORD )0xC00000FDL) -;;#define STATUS_CONTROL_C_EXIT ((DWORD )0xC000013AL) -;;/*lint -restore */ -;;#define MAXIMUM_WAIT_OBJECTS 64 // Maximum number of wait objects -;; -;;#define MAXIMUM_SUSPEND_COUNT MAXCHAR // Maximum times thread can be suspended -;;typedef DWORD KSPIN_LOCK; -;; -;;#ifdef _ALPHA_ -;; -;;// begin_ntddk begin_nthal -;;// -;;// The following flags control the contents of the CONTEXT structure. -;;// -;; -;;#define CONTEXT_PORTABLE_32BIT 0x00100000 -;;#define CONTEXT_ALPHA 0x00020000 -;; -;;#define CONTEXT_CONTROL (CONTEXT_ALPHA | 0x00000001L) -;;#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA | 0x00000002L) -;;#define CONTEXT_INTEGER (CONTEXT_ALPHA | 0x00000004L) -;; -;;#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) -;; -;;#ifndef _PORTABLE_32BIT_CONTEXT -;; -;;// -;;// Context Frame -;;// -;;// This frame has a several purposes: 1) it is used as an argument to -;;// NtContinue, 2) it is used to construct a call frame for APC delivery, -;;// 3) it is used to construct a call frame for exception dispatching -;;// in user mode, 4) it is used in the user level thread creation -;;// routines, and 5) it is used to to pass thread state to debuggers. -;;// -;;// N.B. Because this record is used as a call frame, it must be EXACTLY -;;// a multiple of 16 bytes in length. -;;// -;;// There are two variations of the context structure. This is the real one. -;;// -;; -;;typedef struct _CONTEXT { -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_FLOATING_POINT. -;; // -;; -;; DWORDLONG FltF0; -;; DWORDLONG FltF1; -;; DWORDLONG FltF2; -;; DWORDLONG FltF3; -;; DWORDLONG FltF4; -;; DWORDLONG FltF5; -;; DWORDLONG FltF6; -;; DWORDLONG FltF7; -;; DWORDLONG FltF8; -;; DWORDLONG FltF9; -;; DWORDLONG FltF10; -;; DWORDLONG FltF11; -;; DWORDLONG FltF12; -;; DWORDLONG FltF13; -;; DWORDLONG FltF14; -;; DWORDLONG FltF15; -;; DWORDLONG FltF16; -;; DWORDLONG FltF17; -;; DWORDLONG FltF18; -;; DWORDLONG FltF19; -;; DWORDLONG FltF20; -;; DWORDLONG FltF21; -;; DWORDLONG FltF22; -;; DWORDLONG FltF23; -;; DWORDLONG FltF24; -;; DWORDLONG FltF25; -;; DWORDLONG FltF26; -;; DWORDLONG FltF27; -;; DWORDLONG FltF28; -;; DWORDLONG FltF29; -;; DWORDLONG FltF30; -;; DWORDLONG FltF31; -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_INTEGER. -;; // -;; // N.B. The registers gp, sp, and ra are defined in this section, but are -;; // considered part of the control context rather than part of the integer -;; // context. -;; // -;; -;; DWORDLONG IntV0; // $0: return value register, v0 -;; DWORDLONG IntT0; // $1: temporary registers, t0 - t7 -;; DWORDLONG IntT1; // $2: -;; DWORDLONG IntT2; // $3: -;; DWORDLONG IntT3; // $4: -;; DWORDLONG IntT4; // $5: -;; DWORDLONG IntT5; // $6: -;; DWORDLONG IntT6; // $7: -;; DWORDLONG IntT7; // $8: -;; DWORDLONG IntS0; // $9: nonvolatile registers, s0 - s5 -;; DWORDLONG IntS1; // $10: -;; DWORDLONG IntS2; // $11: -;; DWORDLONG IntS3; // $12: -;; DWORDLONG IntS4; // $13: -;; DWORDLONG IntS5; // $14: -;; DWORDLONG IntFp; // $15: frame pointer register, fp/s6 -;; DWORDLONG IntA0; // $16: argument registers, a0 - a5 -;; DWORDLONG IntA1; // $17: -;; DWORDLONG IntA2; // $18: -;; DWORDLONG IntA3; // $19: -;; DWORDLONG IntA4; // $20: -;; DWORDLONG IntA5; // $21: -;; DWORDLONG IntT8; // $22: temporary registers, t8 - t11 -;; DWORDLONG IntT9; // $23: -;; DWORDLONG IntT10; // $24: -;; DWORDLONG IntT11; // $25: -;; DWORDLONG IntRa; // $26: return address register, ra -;; DWORDLONG IntT12; // $27: temporary register, t12 -;; DWORDLONG IntAt; // $28: assembler temp register, at -;; DWORDLONG IntGp; // $29: global pointer register, gp -;; DWORDLONG IntSp; // $30: stack pointer register, sp -;; DWORDLONG IntZero; // $31: zero register, zero -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_FLOATING_POINT. -;; // -;; -;; DWORDLONG Fpcr; // floating point control register -;; DWORDLONG SoftFpcr; // software extension to FPCR -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_CONTROL. -;; // -;; // N.B. The registers gp, sp, and ra are defined in the integer section, -;; // but are considered part of the control context rather than part of -;; // the integer context. -;; // -;; -;; DWORDLONG Fir; // (fault instruction) continuation address -;; DWORD Psr; // processor status -;; -;; // -;; // The flags values within this flag control the contents of -;; // a CONTEXT record. -;; // -;; // If the context record is used as an input parameter, then -;; // for each portion of the context record controlled by a flag -;; // whose value is set, it is assumed that that portion of the -;; // context record contains valid context. If the context record -;; // is being used to modify a thread's context, then only that -;; // portion of the threads context will be modified. -;; // -;; // If the context record is used as an IN OUT parameter to capture -;; // the context of a thread, then only those portions of the thread's -;; // context corresponding to set flags will be returned. -;; // -;; // The context record is never used as an OUT only parameter. -;; // -;; -;; DWORD ContextFlags; -;; DWORD Fill[4]; // padding for 16-byte stack frame alignment -;; -;;} CONTEXT, *PCONTEXT; -;; -;;#else -;; -;;// -;;// 32-bit Context Frame -;;// -;;// This alternate version of the Alpha context structure parallels that -;;// of MIPS and IX86 in style for the first 64 entries: 32-bit machines -;;// can operate on the fields, and a value declared as a pointer to an -;;// array of int's can be used to index into the fields. This makes life -;;// with windbg and ntsd vastly easier. -;;// -;;// There are two parts: the first contains the lower 32-bits of each -;;// element in the 64-bit definition above. The second part contains -;;// the upper 32-bits of each 64-bit element above. -;;// -;;// The names in the first part are identical to the 64-bit names. -;;// The second part names are prefixed with "High". -;;// -;;// 1st half: at 32 bits each, (containing the low parts of 64-bit values) -;;// 32 floats, 32 ints, fpcrs, fir, psr, contextflags -;;// 2nd half: at 32 bits each -;;// 32 floats, 32 ints, fpcrs, fir, fill -;;// -;;// There is no external support for the 32-bit version of the context -;;// structure. It is only used internally by windbg and ntsd. -;;// -;;// This structure must be the same size as the 64-bit version above. -;;// -;; -;;typedef struct _CONTEXT { -;; -;; DWORD FltF0; -;; DWORD FltF1; -;; DWORD FltF2; -;; DWORD FltF3; -;; DWORD FltF4; -;; DWORD FltF5; -;; DWORD FltF6; -;; DWORD FltF7; -;; DWORD FltF8; -;; DWORD FltF9; -;; DWORD FltF10; -;; DWORD FltF11; -;; DWORD FltF12; -;; DWORD FltF13; -;; DWORD FltF14; -;; DWORD FltF15; -;; DWORD FltF16; -;; DWORD FltF17; -;; DWORD FltF18; -;; DWORD FltF19; -;; DWORD FltF20; -;; DWORD FltF21; -;; DWORD FltF22; -;; DWORD FltF23; -;; DWORD FltF24; -;; DWORD FltF25; -;; DWORD FltF26; -;; DWORD FltF27; -;; DWORD FltF28; -;; DWORD FltF29; -;; DWORD FltF30; -;; DWORD FltF31; -;; -;; DWORD IntV0; // $0: return value register, v0 -;; DWORD IntT0; // $1: temporary registers, t0 - t7 -;; DWORD IntT1; // $2: -;; DWORD IntT2; // $3: -;; DWORD IntT3; // $4: -;; DWORD IntT4; // $5: -;; DWORD IntT5; // $6: -;; DWORD IntT6; // $7: -;; DWORD IntT7; // $8: -;; DWORD IntS0; // $9: nonvolatile registers, s0 - s5 -;; DWORD IntS1; // $10: -;; DWORD IntS2; // $11: -;; DWORD IntS3; // $12: -;; DWORD IntS4; // $13: -;; DWORD IntS5; // $14: -;; DWORD IntFp; // $15: frame pointer register, fp/s6 -;; DWORD IntA0; // $16: argument registers, a0 - a5 -;; DWORD IntA1; // $17: -;; DWORD IntA2; // $18: -;; DWORD IntA3; // $19: -;; DWORD IntA4; // $20: -;; DWORD IntA5; // $21: -;; DWORD IntT8; // $22: temporary registers, t8 - t11 -;; DWORD IntT9; // $23: -;; DWORD IntT10; // $24: -;; DWORD IntT11; // $25: -;; DWORD IntRa; // $26: return address register, ra -;; DWORD IntT12; // $27: temporary register, t12 -;; DWORD IntAt; // $28: assembler temp register, at -;; DWORD IntGp; // $29: global pointer register, gp -;; DWORD IntSp; // $30: stack pointer register, sp -;; DWORD IntZero; // $31: zero register, zero -;; -;; DWORD Fpcr; // floating point control register -;; DWORD SoftFpcr; // software extension to FPCR -;; -;; DWORD Fir; // (fault instruction) continuation address -;; -;; DWORD Psr; // processor status -;; DWORD ContextFlags; -;; -;; // -;; // Beginning of the "second half". -;; // The name "High" parallels the HighPart of a LargeInteger. -;; // -;; -;; DWORD HighFltF0; -;; DWORD HighFltF1; -;; DWORD HighFltF2; -;; DWORD HighFltF3; -;; DWORD HighFltF4; -;; DWORD HighFltF5; -;; DWORD HighFltF6; -;; DWORD HighFltF7; -;; DWORD HighFltF8; -;; DWORD HighFltF9; -;; DWORD HighFltF10; -;; DWORD HighFltF11; -;; DWORD HighFltF12; -;; DWORD HighFltF13; -;; DWORD HighFltF14; -;; DWORD HighFltF15; -;; DWORD HighFltF16; -;; DWORD HighFltF17; -;; DWORD HighFltF18; -;; DWORD HighFltF19; -;; DWORD HighFltF20; -;; DWORD HighFltF21; -;; DWORD HighFltF22; -;; DWORD HighFltF23; -;; DWORD HighFltF24; -;; DWORD HighFltF25; -;; DWORD HighFltF26; -;; DWORD HighFltF27; -;; DWORD HighFltF28; -;; DWORD HighFltF29; -;; DWORD HighFltF30; -;; DWORD HighFltF31; -;; -;; DWORD HighIntV0; // $0: return value register, v0 -;; DWORD HighIntT0; // $1: temporary registers, t0 - t7 -;; DWORD HighIntT1; // $2: -;; DWORD HighIntT2; // $3: -;; DWORD HighIntT3; // $4: -;; DWORD HighIntT4; // $5: -;; DWORD HighIntT5; // $6: -;; DWORD HighIntT6; // $7: -;; DWORD HighIntT7; // $8: -;; DWORD HighIntS0; // $9: nonvolatile registers, s0 - s5 -;; DWORD HighIntS1; // $10: -;; DWORD HighIntS2; // $11: -;; DWORD HighIntS3; // $12: -;; DWORD HighIntS4; // $13: -;; DWORD HighIntS5; // $14: -;; DWORD HighIntFp; // $15: frame pointer register, fp/s6 -;; DWORD HighIntA0; // $16: argument registers, a0 - a5 -;; DWORD HighIntA1; // $17: -;; DWORD HighIntA2; // $18: -;; DWORD HighIntA3; // $19: -;; DWORD HighIntA4; // $20: -;; DWORD HighIntA5; // $21: -;; DWORD HighIntT8; // $22: temporary registers, t8 - t11 -;; DWORD HighIntT9; // $23: -;; DWORD HighIntT10; // $24: -;; DWORD HighIntT11; // $25: -;; DWORD HighIntRa; // $26: return address register, ra -;; DWORD HighIntT12; // $27: temporary register, t12 -;; DWORD HighIntAt; // $28: assembler temp register, at -;; DWORD HighIntGp; // $29: global pointer register, gp -;; DWORD HighIntSp; // $30: stack pointer register, sp -;; DWORD HighIntZero; // $31: zero register, zero -;; -;; DWORD HighFpcr; // floating point control register -;; DWORD HighSoftFpcr; // software extension to FPCR -;; DWORD HighFir; // processor status -;; -;; double DoNotUseThisField; // to force quadword structure alignment -;; DWORD HighFill[2]; // padding for 16-byte stack frame alignment -;; -;;} CONTEXT, *PCONTEXT; -;; -;;// -;;// These should name the fields in the _PORTABLE_32BIT structure -;;// that overlay the Psr and ContextFlags in the normal structure. -;;// -;; -;;#define _QUAD_PSR_OFFSET HighSoftFpcr -;;#define _QUAD_FLAGS_OFFSET HighFir -;; -;;#endif // _PORTABLE_32BIT_CONTEXT -;; -;;// end_ntddk end_nthal -;; -;;#endif // _ALPHA_ -;; -;; -;;#ifdef _ALPHA_ -;; -;;VOID -;;__jump_unwind ( -;; PVOID VirtualFramePointer, -;; PVOID TargetPc -;; ); -;; -;;#endif // _ALPHA_ -;; -;; -;;#ifdef _X86_ -;; -;;// -;;// Disable these two pramas that evaluate to "sti" "cli" on x86 so that driver -;;// writers to not leave them inadvertantly in their code. -;;// -;; -;;#if !defined(MIDL_PASS) -;;#if !defined(_CFRONT_PASS_) -;;#if !defined(RC_INVOKED) -;; -;;#pragma warning(disable:4164) // disable C4164 warning so that apps that -;; // build with /Od don't get weird errors ! -;;#pragma function(_enable) -;;#pragma function(_disable) -;; -;;#pragma warning(default:4164) // reenable C4164 warning -;; -;;#endif -;;#endif -;;#endif -;; -;; -;;// -;;// Define the size of the 80387 save area, which is in the context frame. -;;// -;; -;;#define SIZE_OF_80387_REGISTERS 80 -;; -;;// -;;// The following flags control the contents of the CONTEXT structure. -;;// -;; -;;#define CONTEXT_i386 0x00010000 // this assumes that i386 and -;;#define CONTEXT_i486 0x00010000 // i486 have identical context records -;; -;;#define CONTEXT_CONTROL (CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP -;;#define CONTEXT_INTEGER (CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI -;;#define CONTEXT_SEGMENTS (CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS -;;#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 0x00000008L) // 387 state -;;#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7 -;; -;;#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER |\ -;; CONTEXT_SEGMENTS) -;; -;;typedef struct _FLOATING_SAVE_AREA { -;; DWORD ControlWord; -;; DWORD StatusWord; -;; DWORD TagWord; -;; DWORD ErrorOffset; -;; DWORD ErrorSelector; -;; DWORD DataOffset; -;; DWORD DataSelector; -;; BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; -;; DWORD Cr0NpxState; -;;} FLOATING_SAVE_AREA; -;; -;;typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA; -;; -;;// -;;// Context Frame -;;// -;;// This frame has a several purposes: 1) it is used as an argument to -;;// NtContinue, 2) is is used to constuct a call frame for APC delivery, -;;// and 3) it is used in the user level thread creation routines. -;;// -;;// The layout of the record conforms to a standard call frame. -;;// -;; -;;typedef struct _CONTEXT { -;; -;; // -;; // The flags values within this flag control the contents of -;; // a CONTEXT record. -;; // -;; // If the context record is used as an input parameter, then -;; // for each portion of the context record controlled by a flag -;; // whose value is set, it is assumed that that portion of the -;; // context record contains valid context. If the context record -;; // is being used to modify a threads context, then only that -;; // portion of the threads context will be modified. -;; // -;; // If the context record is used as an IN OUT parameter to capture -;; // the context of a thread, then only those portions of the thread's -;; // context corresponding to set flags will be returned. -;; // -;; // The context record is never used as an OUT only parameter. -;; // -;; -;; DWORD ContextFlags; -;; -;; // -;; // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is -;; // set in ContextFlags. Note that CONTEXT_DEBUG_REGISTERS is NOT -;; // included in CONTEXT_FULL. -;; // -;; -;; DWORD Dr0; -;; DWORD Dr1; -;; DWORD Dr2; -;; DWORD Dr3; -;; DWORD Dr6; -;; DWORD Dr7; -;; -;; // -;; // This section is specified/returned if the -;; // ContextFlags word contians the flag CONTEXT_FLOATING_POINT. -;; // -;; -;; FLOATING_SAVE_AREA FloatSave; -;; -;; // -;; // This section is specified/returned if the -;; // ContextFlags word contians the flag CONTEXT_SEGMENTS. -;; // -;; -;; DWORD SegGs; -;; DWORD SegFs; -;; DWORD SegEs; -;; DWORD SegDs; -;; -;; // -;; // This section is specified/returned if the -;; // ContextFlags word contians the flag CONTEXT_INTEGER. -;; // -;; -;; DWORD Edi; -;; DWORD Esi; -;; DWORD Ebx; -;; DWORD Edx; -;; DWORD Ecx; -;; DWORD Eax; -;; -;; // -;; // This section is specified/returned if the -;; // ContextFlags word contians the flag CONTEXT_CONTROL. -;; // -;; -;; DWORD Ebp; -;; DWORD Eip; -;; DWORD SegCs; // MUST BE SANITIZED -;; DWORD EFlags; // MUST BE SANITIZED -;; DWORD Esp; -;; DWORD SegSs; -;; -;;} CONTEXT; -;; -;; -;; -;;typedef CONTEXT *PCONTEXT; -;; -;;// begin_ntminiport -;; -;;#endif //_X86_ -;; -;; -;;typedef struct _LDT_ENTRY { -;; WORD LimitLow; -;; WORD BaseLow; -;; union { -;; struct { -;; BYTE BaseMid; -;; BYTE Flags1; // Declare as bytes to avoid alignment -;; BYTE Flags2; // Problems. -;; BYTE BaseHi; -;; } Bytes; -;; struct { -;; DWORD BaseMid : 8; -;; DWORD Type : 5; -;; DWORD Dpl : 2; -;; DWORD Pres : 1; -;; DWORD LimitHi : 4; -;; DWORD Sys : 1; -;; DWORD Reserved_0 : 1; -;; DWORD Default_Big : 1; -;; DWORD Granularity : 1; -;; DWORD BaseHi : 8; -;; } Bits; -;; } HighWord; -;;} LDT_ENTRY, *PLDT_ENTRY; -;; -;; -;;#if defined(_MIPS_) -;; -;;// begin_ntddk begin_nthal -;;// -;;// The following flags control the contents of the CONTEXT structure. -;;// -;; -;;#define CONTEXT_R4000 0x00010000 // r4000 context -;; -;;#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L) -;;#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L) -;;#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L) -;; -;;#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) -;; -;;// -;;// Context Frame -;;// -;;// N.B. This frame must be exactly a multiple of 16 bytes in length. -;;// -;;// This frame has a several purposes: 1) it is used as an argument to -;;// NtContinue, 2) it is used to constuct a call frame for APC delivery, -;;// 3) it is used to construct a call frame for exception dispatching -;;// in user mode, and 4) it is used in the user level thread creation -;;// routines. -;;// -;;// The layout of the record conforms to a standard call frame. -;;// -;; -;;typedef struct _CONTEXT { -;; -;; // -;; // This section is always present and is used as an argument build -;; // area. -;; // -;; -;; DWORD Argument[4]; -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_FLOATING_POINT. -;; // -;; -;; DWORD FltF0; -;; DWORD FltF1; -;; DWORD FltF2; -;; DWORD FltF3; -;; DWORD FltF4; -;; DWORD FltF5; -;; DWORD FltF6; -;; DWORD FltF7; -;; DWORD FltF8; -;; DWORD FltF9; -;; DWORD FltF10; -;; DWORD FltF11; -;; DWORD FltF12; -;; DWORD FltF13; -;; DWORD FltF14; -;; DWORD FltF15; -;; DWORD FltF16; -;; DWORD FltF17; -;; DWORD FltF18; -;; DWORD FltF19; -;; DWORD FltF20; -;; DWORD FltF21; -;; DWORD FltF22; -;; DWORD FltF23; -;; DWORD FltF24; -;; DWORD FltF25; -;; DWORD FltF26; -;; DWORD FltF27; -;; DWORD FltF28; -;; DWORD FltF29; -;; DWORD FltF30; -;; DWORD FltF31; -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_INTEGER. -;; // -;; // N.B. The registers gp, sp, and ra are defined in this section, but are -;; // considered part of the control context rather than part of the integer -;; // context. -;; // -;; // N.B. Register zero is not stored in the frame. -;; // -;; -;; DWORD IntZero; -;; DWORD IntAt; -;; DWORD IntV0; -;; DWORD IntV1; -;; DWORD IntA0; -;; DWORD IntA1; -;; DWORD IntA2; -;; DWORD IntA3; -;; DWORD IntT0; -;; DWORD IntT1; -;; DWORD IntT2; -;; DWORD IntT3; -;; DWORD IntT4; -;; DWORD IntT5; -;; DWORD IntT6; -;; DWORD IntT7; -;; DWORD IntS0; -;; DWORD IntS1; -;; DWORD IntS2; -;; DWORD IntS3; -;; DWORD IntS4; -;; DWORD IntS5; -;; DWORD IntS6; -;; DWORD IntS7; -;; DWORD IntT8; -;; DWORD IntT9; -;; DWORD IntK0; -;; DWORD IntK1; -;; DWORD IntGp; -;; DWORD IntSp; -;; DWORD IntS8; -;; DWORD IntRa; -;; DWORD IntLo; -;; DWORD IntHi; -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_FLOATING_POINT. -;; // -;; -;; DWORD Fsr; -;; -;; // -;; // This section is specified/returned if the ContextFlags word contains -;; // the flag CONTEXT_CONTROL. -;; // -;; // N.B. The registers gp, sp, and ra are defined in the integer section, -;; // but are considered part of the control context rather than part of -;; // the integer context. -;; // -;; -;; DWORD Fir; -;; DWORD Psr; -;; -;; // -;; // The flags values within this flag control the contents of -;; // a CONTEXT record. -;; // -;; // If the context record is used as an input parameter, then -;; // for each portion of the context record controlled by a flag -;; // whose value is set, it is assumed that that portion of the -;; // context record contains valid context. If the context record -;; // is being used to modify a thread's context, then only that -;; // portion of the threads context will be modified. -;; // -;; // If the context record is used as an IN OUT parameter to capture -;; // the context of a thread, then only those portions of the thread's -;; // context corresponding to set flags will be returned. -;; // -;; // The context record is never used as an OUT only parameter. -;; // -;; -;; DWORD ContextFlags; -;; -;; DWORD Fill[2]; -;;} CONTEXT, *PCONTEXT; -;; -;;// end_ntddk end_nthal -;; -;;#endif // MIPS -;; -;; -;;#if defined(_MIPS_) -;; -;;VOID -;;__jump_unwind ( -;; PVOID Fp, -;; PVOID TargetPc -;; ); -;; -;;#endif // MIPS -;; -;;#define EXCEPTION_NONCONTINUABLE 0x1 // Noncontinuable exception -;;#define EXCEPTION_MAXIMUM_PARAMETERS 15 // maximum number of exception parameters -;; -;;// -;;// Exception record definition. -;;// -;; -;;typedef struct _EXCEPTION_RECORD { -;; /*lint -e18 */ // Don't complain about different definitions -;; DWORD ExceptionCode; -;; /*lint +e18 */ // Resume checking for different definitions -;; DWORD ExceptionFlags; -;; struct _EXCEPTION_RECORD *ExceptionRecord; -;; PVOID ExceptionAddress; -;; DWORD NumberParameters; -;; DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; -;; } EXCEPTION_RECORD; -;; -;;typedef EXCEPTION_RECORD *PEXCEPTION_RECORD; -;; -;;// -;;// Typedef for pointer returned by exception_info() -;;// -;; -;;typedef struct _EXCEPTION_POINTERS { -;; PEXCEPTION_RECORD ExceptionRecord; -;; PCONTEXT ContextRecord; -;;} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS; -;;#define PROCESS_TERMINATE (0x0001) -;;#define PROCESS_CREATE_THREAD (0x0002) -;;#define PROCESS_VM_OPERATION (0x0008) -;;#define PROCESS_VM_READ (0x0010) -;;#define PROCESS_VM_WRITE (0x0020) -;;#define PROCESS_DUP_HANDLE (0x0040) -;;#define PROCESS_CREATE_PROCESS (0x0080) -;;#define PROCESS_SET_INFORMATION (0x0200) -;;#define PROCESS_QUERY_INFORMATION (0x0400) -;;#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \ -;; 0xFFF) -;; -;;#define THREAD_TERMINATE (0x0001) -;;#define THREAD_SUSPEND_RESUME (0x0002) -;;#define THREAD_GET_CONTEXT (0x0008) -;;#define THREAD_SET_CONTEXT (0x0010) -;;#define THREAD_SET_INFORMATION (0x0020) -;;#define THREAD_QUERY_INFORMATION (0x0040) -;;#define THREAD_SET_THREAD_TOKEN (0x0080) -;;#define THREAD_IMPERSONATE (0x0100) -;;#define THREAD_DIRECT_IMPERSONATION (0x0200) -;;// begin_ntddk -;; -;;#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \ -;; 0x3FF) -;; -;;// end_ntddk -;;#define TLS_MINIMUM_AVAILABLE 64 -;;#define THREAD_BASE_PRIORITY_LOWRT 15 // value that gets a thread to LowRealtime-1 -;;#define THREAD_BASE_PRIORITY_MAX 2 // maximum thread base priority boost -;;#define THREAD_BASE_PRIORITY_MIN -2 // minimum thread base priority boost -;;#define THREAD_BASE_PRIORITY_IDLE -15 // value that gets a thread to idle -;;#define EVENT_MODIFY_STATE 0x0002 -;;#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) -;;#define MUTANT_QUERY_STATE 0x0001 -;; -;;#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\ -;; MUTANT_QUERY_STATE) -;;#define SEMAPHORE_MODIFY_STATE 0x0002 -;;#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) -;;#define TIME_ZONE_ID_UNKNOWN 0 -;;#define TIME_ZONE_ID_STANDARD 1 -;;#define TIME_ZONE_ID_DAYLIGHT 2 -;; -;;#define PROCESSOR_INTEL_386 386 -;;#define PROCESSOR_INTEL_486 486 -;;#define PROCESSOR_INTEL_PENTIUM 586 -;;#define PROCESSOR_INTEL_860 860 -;;#define PROCESSOR_MIPS_R2000 2000 -;;#define PROCESSOR_MIPS_R3000 3000 -;;#define PROCESSOR_MIPS_R4000 4000 -;;#define PROCESSOR_ALPHA_21064 21064 -;; -;;typedef struct _MEMORY_BASIC_INFORMATION { -;; PVOID BaseAddress; -;; PVOID AllocationBase; -;; DWORD AllocationProtect; -;; DWORD RegionSize; -;; DWORD State; -;; DWORD Protect; -;; DWORD Type; -;;} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION; -;;#define SECTION_QUERY 0x0001 -;;#define SECTION_MAP_WRITE 0x0002 -;;#define SECTION_MAP_READ 0x0004 -;;#define SECTION_MAP_EXECUTE 0x0008 -;;#define SECTION_EXTEND_SIZE 0x0010 -;; -;;#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\ -;; SECTION_MAP_WRITE | \ -;; SECTION_MAP_READ | \ -;; SECTION_MAP_EXECUTE | \ -;; SECTION_EXTEND_SIZE) -;;#define PAGE_NOACCESS 0x01 -;;#define PAGE_READONLY 0x02 -;;#define PAGE_READWRITE 0x04 -;;#define PAGE_WRITECOPY 0x08 -;;#define PAGE_EXECUTE 0x10 -;;#define PAGE_EXECUTE_READ 0x20 -;;#define PAGE_EXECUTE_READWRITE 0x40 -;;#define PAGE_EXECUTE_WRITECOPY 0x80 -;;#define PAGE_GUARD 0x100 -;;#define PAGE_NOCACHE 0x200 -;;#define MEM_COMMIT 0x1000 -;;#define MEM_RESERVE 0x2000 -;;#define MEM_DECOMMIT 0x4000 -;;#define MEM_RELEASE 0x8000 -;;#define MEM_FREE 0x10000 -;;#define MEM_PRIVATE 0x20000 -;;#define MEM_MAPPED 0x40000 -;;#define MEM_TOP_DOWN 0x100000 -;;#define SEC_FILE 0x800000 -;;#define SEC_IMAGE 0x1000000 -;;#define SEC_RESERVE 0x4000000 -;;#define SEC_COMMIT 0x8000000 -;;#define SEC_NOCACHE 0x10000000 -;;#define MEM_IMAGE SEC_IMAGE -;; -;;// -;;// Define access rights to files and directories -;;// -;; -;;// -;;// The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in -;;// devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these -;;// constants *MUST* always be in sync. -;;// The values are redefined in devioctl.h because they must be available to -;;// both DOS and NT. -;;// -;; -;;#define FILE_READ_DATA ( 0x0001 ) // file & pipe -;;#define FILE_LIST_DIRECTORY ( 0x0001 ) // directory -;; -;;#define FILE_WRITE_DATA ( 0x0002 ) // file & pipe -;;#define FILE_ADD_FILE ( 0x0002 ) // directory -;; -;;#define FILE_APPEND_DATA ( 0x0004 ) // file -;;#define FILE_ADD_SUBDIRECTORY ( 0x0004 ) // directory -;;#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 ) // named pipe -;; -;;#define FILE_READ_EA ( 0x0008 ) // file & directory -;; -;;#define FILE_WRITE_EA ( 0x0010 ) // file & directory -;; -;;#define FILE_EXECUTE ( 0x0020 ) // file -;;#define FILE_TRAVERSE ( 0x0020 ) // directory -;; -;;#define FILE_DELETE_CHILD ( 0x0040 ) // directory -;; -;;#define FILE_READ_ATTRIBUTES ( 0x0080 ) // all -;; -;;#define FILE_WRITE_ATTRIBUTES ( 0x0100 ) // all -;; -;;#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF) -;; -;; -;;#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\ -;; FILE_READ_DATA |\ -;; FILE_READ_ATTRIBUTES |\ -;; FILE_READ_EA |\ -;; SYNCHRONIZE) -;; -;; -;;#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\ -;; FILE_WRITE_DATA |\ -;; FILE_WRITE_ATTRIBUTES |\ -;; FILE_WRITE_EA |\ -;; FILE_APPEND_DATA |\ -;; SYNCHRONIZE) -;; -;; -;;#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\ -;; FILE_READ_ATTRIBUTES |\ -;; FILE_EXECUTE |\ -;; SYNCHRONIZE) -;; -;;#define FILE_SHARE_READ 0x00000001 -;;#define FILE_SHARE_WRITE 0x00000002 -;;#define FILE_ATTRIBUTE_READONLY 0x00000001 -;;#define FILE_ATTRIBUTE_HIDDEN 0x00000002 -;;#define FILE_ATTRIBUTE_SYSTEM 0x00000004 -;;#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 -;;#define FILE_ATTRIBUTE_ARCHIVE 0x00000020 -;;#define FILE_ATTRIBUTE_NORMAL 0x00000080 -;;#define FILE_ATTRIBUTE_TEMPORARY 0x00000100 -;;#define FILE_ATTRIBUTE_ATOMIC_WRITE 0x00000200 -;;#define FILE_ATTRIBUTE_XACTION_WRITE 0x00000400 -;;#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001 -;;#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002 -;;#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004 -;;#define FILE_NOTIFY_CHANGE_SIZE 0x00000008 -;;#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010 -;;#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100 -;;#define MAILSLOT_NO_MESSAGE ((DWORD)-1) -;;#define MAILSLOT_WAIT_FOREVER ((DWORD)-1) -;;#define FILE_CASE_SENSITIVE_SEARCH 0x00000001 -;;#define FILE_CASE_PRESERVED_NAMES 0x00000002 -;;#define FILE_UNICODE_ON_DISK 0x00000004 -;;#define FILE_PERSISTENT_ACLS 0x00000008 -;;#define DUPLICATE_CLOSE_SOURCE 0x00000001 -;;#define DUPLICATE_SAME_ACCESS 0x00000002 -;;typedef PVOID PACCESS_TOKEN; -;;typedef PVOID PSECURITY_DESCRIPTOR; -;;typedef PVOID PSID; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// ACCESS MASK // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;; -;;// -;;// Define the access mask as a longword sized structure divided up as -;;// follows: -;;// -;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 -;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -;;// +---------------+---------------+-------------------------------+ -;;// |G|G|G|G|Res'd|A| StandardRights| SpecificRights | -;;// |R|W|E|A| |S| | | -;;// +-+-------------+---------------+-------------------------------+ -;;// -;;// typedef struct _ACCESS_MASK { -;;// WORD SpecificRights; -;;// BYTE StandardRights; -;;// BYTE AccessSystemAcl : 1; -;;// BYTE Reserved : 3; -;;// BYTE GenericAll : 1; -;;// BYTE GenericExecute : 1; -;;// BYTE GenericWrite : 1; -;;// BYTE GenericRead : 1; -;;// } ACCESS_MASK; -;;// typedef ACCESS_MASK *PACCESS_MASK; -;;// -;;// but to make life simple for programmer's we'll allow them to specify -;;// a desired access mask by simply OR'ing together mulitple single rights -;;// and treat an access mask as a DWORD. For example -;;// -;;// DesiredAccess = DELETE | READ_CONTROL -;;// -;;// So we'll declare ACCESS_MASK as DWORD -;;// -;; -;;// begin_ntddk begin_nthal -;;typedef DWORD ACCESS_MASK; -;;typedef ACCESS_MASK *PACCESS_MASK; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// ACCESS TYPES // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;; -;; -;;// begin_ntddk begin_nthal -;;// -;;// The following are masks for the predefined standard access types -;;// -;; -;;#define DELETE (0x00010000L) -;;#define READ_CONTROL (0x00020000L) -;;#define WRITE_DAC (0x00040000L) -;;#define WRITE_OWNER (0x00080000L) -;;#define SYNCHRONIZE (0x00100000L) -;; -;;#define STANDARD_RIGHTS_REQUIRED (0x000F0000L) -;; -;;#define STANDARD_RIGHTS_READ (READ_CONTROL) -;;#define STANDARD_RIGHTS_WRITE (READ_CONTROL) -;;#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL) -;; -;;#define STANDARD_RIGHTS_ALL (0x001F0000L) -;; -;;#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL) -;; -;;// -;;// AccessSystemAcl access type -;;// -;; -;;#define ACCESS_SYSTEM_SECURITY (0x01000000L) -;; -;;// -;;// MaximumAllowed access type -;;// -;; -;;#define MAXIMUM_ALLOWED (0x02000000L) -;; -;;// -;;// These are the generic rights. -;;// -;; -;;#define GENERIC_READ (0x80000000L) -;;#define GENERIC_WRITE (0x40000000L) -;;#define GENERIC_EXECUTE (0x20000000L) -;;#define GENERIC_ALL (0x10000000L) -;; -;; -;;// -;;// Define the generic mapping array. This is used to denote the -;;// mapping of each generic access right to a specific access mask. -;;// -;; -;;typedef struct _GENERIC_MAPPING { -;; ACCESS_MASK GenericRead; -;; ACCESS_MASK GenericWrite; -;; ACCESS_MASK GenericExecute; -;; ACCESS_MASK GenericAll; -;;} GENERIC_MAPPING; -;;typedef GENERIC_MAPPING *PGENERIC_MAPPING; -;; -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// LUID_AND_ATTRIBUTES // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;;// -;;// -;; -;; -;;#ifndef RC_INVOKED -;;#pragma pack(4) -;;#endif -;; -;;typedef struct _LUID_AND_ATTRIBUTES { -;; LUID Luid; -;; DWORD Attributes; -;; } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES; -;;typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; -;;typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY; -;; -;;#ifndef RC_INVOKED -;;#pragma pack() -;;#endif -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// Security Id (SID) // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;;// -;;// -;;// Pictorially the structure of an SID is as follows: -;;// -;;// 1 1 1 1 1 1 -;;// 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -;;// +---------------------------------------------------------------+ -;;// | SubAuthorityCount |Reserved1 (SBZ)| Revision | -;;// +---------------------------------------------------------------+ -;;// | IdentifierAuthority[0] | -;;// +---------------------------------------------------------------+ -;;// | IdentifierAuthority[1] | -;;// +---------------------------------------------------------------+ -;;// | IdentifierAuthority[2] | -;;// +---------------------------------------------------------------+ -;;// | | -;;// +- - - - - - - - SubAuthority[] - - - - - - - - -+ -;;// | | -;;// +---------------------------------------------------------------+ -;;// -;;// -;; -;;typedef struct _SID_IDENTIFIER_AUTHORITY { -;; BYTE Value[6]; -;;} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; -;; -;; -;;typedef struct _SID { -;; BYTE Revision; -;; BYTE SubAuthorityCount; -;; SID_IDENTIFIER_AUTHORITY IdentifierAuthority; -;;#ifdef MIDL_PASS -;; [size_is(SubAuthorityCount)] DWORD SubAuthority[*]; -;;#else // MIDL_PASS -;; DWORD SubAuthority[ANYSIZE_ARRAY]; -;;#endif // MIDL_PASS -;;} SID, *PISID; -;; -;; -;;#define SID_REVISION (1) // Current revision level -;;#define SID_MAX_SUB_AUTHORITIES (15) -;;#define SID_RECOMMENDED_SUB_AUTHORITIES (1) // Will change to around 6 -;; // in a future release. -;; -;;typedef enum _SID_NAME_USE { -;; SidTypeUser = 1, -;; SidTypeGroup, -;; SidTypeDomain, -;; SidTypeAlias, -;; SidTypeWellKnownGroup, -;; SidTypeDeletedAccount, -;; SidTypeInvalid, -;; SidTypeUnknown -;;} SID_NAME_USE, *PSID_NAME_USE; -;; -;; -;;typedef struct _SID_AND_ATTRIBUTES { -;; PSID Sid; -;; DWORD Attributes; -;; } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES; -;; -;;typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; -;;typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY; -;; -;; -;; -;;///////////////////////////////////////////////////////////////////////////// -;;// // -;;// Universal well-known SIDs // -;;// // -;;// Null SID S-1-0-0 // -;;// World S-1-1-0 // -;;// Local S-1-2-0 // -;;// Creator Owner ID S-1-3-0 // -;;// Creator Group ID S-1-3-1 // -;;// // -;;// (Non-unique IDs) S-1-4 // -;;// // -;;///////////////////////////////////////////////////////////////////////////// -;; -;;#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} -;;#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} -;;#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} -;;#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} -;;#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} -;; -;;#define SECURITY_NULL_RID (0x00000000L) -;;#define SECURITY_WORLD_RID (0x00000000L) -;;#define SECURITY_LOCAL_RID (0X00000000L) -;; -;;#define SECURITY_CREATOR_OWNER_RID (0x00000000L) -;;#define SECURITY_CREATOR_GROUP_RID (0x00000001L) -;; -;; -;; -;; -;;///////////////////////////////////////////////////////////////////////////// -;;// // -;;// NT well-known SIDs // -;;// // -;;// NT Authority S-1-5 // -;;// Dialup S-1-5-1 // -;;// // -;;// Network S-1-5-2 // -;;// Batch S-1-5-3 // -;;// Interactive S-1-5-4 // -;;// Service S-1-5-6 // -;;// AnonymousLogon S-1-5-7 (aka null logon session) // -;;// // -;;// (Logon IDs) S-1-5-5-X-Y // -;;// // -;;// (NT non-unique IDs) S-1-5-0x15-... // -;;// // -;;// (Built-in domain) s-1-5-0x20 // -;;// // -;;///////////////////////////////////////////////////////////////////////////// -;; -;; -;;#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} -;; -;;#define SECURITY_DIALUP_RID (0x00000001L) -;;#define SECURITY_NETWORK_RID (0x00000002L) -;;#define SECURITY_BATCH_RID (0x00000003L) -;;#define SECURITY_INTERACTIVE_RID (0x00000004L) -;;#define SECURITY_SERVICE_RID (0x00000006L) -;;#define SECURITY_ANONYMOUS_LOGON_RID (0x00000007L) -;; -;;#define SECURITY_LOGON_IDS_RID (0x00000005L) -;;#define SECURITY_LOGON_IDS_RID_COUNT (3L) -;; -;;#define SECURITY_LOCAL_SYSTEM_RID (0x00000012L) -;; -;;#define SECURITY_NT_NON_UNIQUE (0x00000015L) -;; -;;#define SECURITY_BUILTIN_DOMAIN_RID (0x00000020L) -;; -;; -;; -;; -;; -;;///////////////////////////////////////////////////////////////////////////// -;;// // -;;// well-known domain relative sub-authority values (RIDs)... // -;;// // -;;///////////////////////////////////////////////////////////////////////////// -;; -;;// Well-known users ... -;; -;;#define DOMAIN_USER_RID_ADMIN (0x000001F4L) -;;#define DOMAIN_USER_RID_GUEST (0x000001F5L) -;; -;; -;; -;;// well-known groups ... -;; -;;#define DOMAIN_GROUP_RID_ADMINS (0x00000200L) -;;#define DOMAIN_GROUP_RID_USERS (0x00000201L) -;; -;; -;; -;; -;;// well-known aliases ... -;; -;;#define DOMAIN_ALIAS_RID_ADMINS (0x00000220L) -;;#define DOMAIN_ALIAS_RID_USERS (0x00000221L) -;;#define DOMAIN_ALIAS_RID_GUESTS (0x00000222L) -;;#define DOMAIN_ALIAS_RID_POWER_USERS (0x00000223L) -;; -;;#define DOMAIN_ALIAS_RID_ACCOUNT_OPS (0x00000224L) -;;#define DOMAIN_ALIAS_RID_SYSTEM_OPS (0x00000225L) -;;#define DOMAIN_ALIAS_RID_PRINT_OPS (0x00000226L) -;;#define DOMAIN_ALIAS_RID_BACKUP_OPS (0x00000227L) -;; -;;#define DOMAIN_ALIAS_RID_REPLICATOR (0x00000228L) -;; -;; -;; -;; -;; -;; -;;// -;;// Allocate the System Luid. The first 1000 LUIDs are reserved. -;;// Use #999 here (0x3E7 = 999) -;;// -;; -;;#define SYSTEM_LUID { 0x3E7, 0x0 } -;; -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// User and Group related SID attributes // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;; -;;// -;;// Group attributes -;;// -;; -;;#define SE_GROUP_MANDATORY (0x00000001L) -;;#define SE_GROUP_ENABLED_BY_DEFAULT (0x00000002L) -;;#define SE_GROUP_ENABLED (0x00000004L) -;;#define SE_GROUP_OWNER (0x00000008L) -;;#define SE_GROUP_LOGON_ID (0xC0000000L) -;; -;; -;; -;;// -;;// User attributes -;;// -;; -;;// (None yet defined.) -;; -;; -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// ACL and ACE // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;; -;;// -;;// Define an ACL and the ACE format. The structure of an ACL header -;;// followed by one or more ACEs. Pictorally the structure of an ACL header -;;// is as follows: -;;// -;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 -;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -;;// +-------------------------------+---------------+---------------+ -;;// | AclSize | Sbz1 | AclRevision | -;;// +-------------------------------+---------------+---------------+ -;;// | Sbz2 | AceCount | -;;// +-------------------------------+-------------------------------+ -;;// -;;// The current AclRevision is defined to be ACL_REVISION. -;;// -;;// AclSize is the size, in bytes, allocated for the ACL. This includes -;;// the ACL header, ACES, and remaining free space in the buffer. -;;// -;;// AceCount is the number of ACES in the ACL. -;;// -;; -;;// begin_ntddk -;;// This is the *current* ACL revision -;; -;;#define ACL_REVISION (2) -;; -;;// This is the history of ACL revisions. Add a new one whenever -;;// ACL_REVISION is updated -;; -;;#define ACL_REVISION1 (1) -;;#define ACL_REVISION2 (2) -;; -;;typedef struct _ACL { -;; BYTE AclRevision; -;; BYTE Sbz1; -;; WORD AclSize; -;; WORD AceCount; -;; WORD Sbz2; -;;} ACL; -;;typedef ACL *PACL; -;; -;;// end_ntddk -;; -;;// -;;// The structure of an ACE is a common ace header followed by ace type -;;// specific data. Pictorally the structure of the common ace header is -;;// as follows: -;;// -;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 -;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -;;// +---------------+-------+-------+---------------+---------------+ -;;// | AceSize | AceFlags | AceType | -;;// +---------------+-------+-------+---------------+---------------+ -;;// -;;// AceType denotes the type of the ace, there are some predefined ace -;;// types -;;// -;;// AceSize is the size, in bytes, of ace. -;;// -;;// AceFlags are the Ace flags for audit and inheritance, defined shortly. -;; -;;typedef struct _ACE_HEADER { -;; BYTE AceType; -;; BYTE AceFlags; -;; WORD AceSize; -;;} ACE_HEADER; -;;typedef ACE_HEADER *PACE_HEADER; -;; -;;// -;;// The following are the predefined ace types that go into the AceType -;;// field of an Ace header. -;;// -;; -;;#define ACCESS_ALLOWED_ACE_TYPE (0x0) -;;#define ACCESS_DENIED_ACE_TYPE (0x1) -;;#define SYSTEM_AUDIT_ACE_TYPE (0x2) -;;#define SYSTEM_ALARM_ACE_TYPE (0x3) -;; -;;// -;;// The following are the inherit flags that go into the AceFlags field -;;// of an Ace header. -;;// -;; -;;#define OBJECT_INHERIT_ACE (0x1) -;;#define CONTAINER_INHERIT_ACE (0x2) -;;#define NO_PROPAGATE_INHERIT_ACE (0x4) -;;#define INHERIT_ONLY_ACE (0x8) -;;#define VALID_INHERIT_FLAGS (0xF) -;; -;; -;;// The following are the currently defined ACE flags that go into the -;;// AceFlags field of an ACE header. Each ACE type has its own set of -;;// AceFlags. -;;// -;;// SUCCESSFUL_ACCESS_ACE_FLAG - used only with system audit and alarm ACE -;;// types to indicate that a message is generated for successful accesses. -;;// -;;// FAILED_ACCESS_ACE_FLAG - used only with system audit and alarm ACE types -;;// to indicate that a message is generated for failed accesses. -;;// -;; -;;// -;;// SYSTEM_AUDIT and SYSTEM_ALARM AceFlags -;;// -;;// These control the signaling of audit and alarms for success or failure. -;;// -;; -;;#define SUCCESSFUL_ACCESS_ACE_FLAG (0x40) -;;#define FAILED_ACCESS_ACE_FLAG (0x80) -;; -;; -;;// -;;// We'll define the structure of the predefined ACE types. Pictorally -;;// the structure of the predefined ACE's is as follows: -;;// -;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 -;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -;;// +---------------+-------+-------+---------------+---------------+ -;;// | AceFlags | Resd |Inherit| AceSize | AceType | -;;// +---------------+-------+-------+---------------+---------------+ -;;// | Mask | -;;// +---------------------------------------------------------------+ -;;// | | -;;// + + -;;// | | -;;// + Sid + -;;// | | -;;// + + -;;// | | -;;// +---------------------------------------------------------------+ -;;// -;;// Mask is the access mask associated with the ACE. This is either the -;;// access allowed, access denied, audit, or alarm mask. -;;// -;;// Sid is the Sid associated with the ACE. -;;// -;; -;;// The following are the four predefined ACE types. -;; -;;// Examine the AceType field in the Header to determine -;;// which structure is appropriate to use for casting. -;; -;;typedef struct _ACCESS_ALLOWED_ACE { -;; ACE_HEADER Header; -;; ACCESS_MASK Mask; -;; DWORD SidStart; -;;} ACCESS_ALLOWED_ACE; -;; -;;typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE; -;; -;;typedef struct _ACCESS_DENIED_ACE { -;; ACE_HEADER Header; -;; ACCESS_MASK Mask; -;; DWORD SidStart; -;;} ACCESS_DENIED_ACE; -;;typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE; -;; -;;typedef struct _SYSTEM_AUDIT_ACE { -;; ACE_HEADER Header; -;; ACCESS_MASK Mask; -;; DWORD SidStart; -;;} SYSTEM_AUDIT_ACE; -;;typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE; -;; -;;typedef struct _SYSTEM_ALARM_ACE { -;; ACE_HEADER Header; -;; ACCESS_MASK Mask; -;; DWORD SidStart; -;;} SYSTEM_ALARM_ACE; -;;typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE; -;; -;; -;; -;;// -;;// The following declarations are used for setting and querying information -;;// about and ACL. First are the various information classes available to -;;// the user. -;;// -;; -;;typedef enum _ACL_INFORMATION_CLASS { -;; AclRevisionInformation = 1, -;; AclSizeInformation -;;} ACL_INFORMATION_CLASS; -;; -;;// -;;// This record is returned/sent if the user is requesting/setting the -;;// AclRevisionInformation -;;// -;; -;;typedef struct _ACL_REVISION_INFORMATION { -;; DWORD AclRevision; -;;} ACL_REVISION_INFORMATION; -;;typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION; -;; -;;// -;;// This record is returned if the user is requesting AclSizeInformation -;;// -;; -;;typedef struct _ACL_SIZE_INFORMATION { -;; DWORD AceCount; -;; DWORD AclBytesInUse; -;; DWORD AclBytesFree; -;;} ACL_SIZE_INFORMATION; -;;typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION; -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// SECURITY_DESCRIPTOR // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;;// -;;// Define the Security Descriptor and related data types. -;;// This is an opaque data structure. -;;// -;; -;;// begin_ntddk -;;// -;;// Current security descriptor revision value -;;// -;; -;;#define SECURITY_DESCRIPTOR_REVISION (1) -;;#define SECURITY_DESCRIPTOR_REVISION1 (1) -;; -;;// end_ntddk -;; -;;// -;;// Minimum length, in bytes, needed to build a security descriptor -;;// (NOTE: This must manually be kept consistent with the) -;;// (sizeof(SECURITY_DESCRIPTOR) ) -;;// -;; -;;#define SECURITY_DESCRIPTOR_MIN_LENGTH (20) -;; -;; -;;typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; -;; -;;#define SE_OWNER_DEFAULTED (0x0001) -;;#define SE_GROUP_DEFAULTED (0x0002) -;;#define SE_DACL_PRESENT (0x0004) -;;#define SE_DACL_DEFAULTED (0x0008) -;;#define SE_SACL_PRESENT (0x0010) -;;#define SE_SACL_DEFAULTED (0x0020) -;;#define SE_SELF_RELATIVE (0x8000) -;; -;;// -;;// Where: -;;// -;;// SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the -;;// SID pointed to by the Owner field was provided by a -;;// defaulting mechanism rather than explicitly provided by the -;;// original provider of the security descriptor. This may -;;// affect the treatment of the SID with respect to inheritence -;;// of an owner. -;;// -;;// SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the -;;// SID in the Group field was provided by a defaulting mechanism -;;// rather than explicitly provided by the original provider of -;;// the security descriptor. This may affect the treatment of -;;// the SID with respect to inheritence of a primary group. -;;// -;;// SE_DACL_PRESENT - This boolean flag, when set, indicates that the -;;// security descriptor contains a discretionary ACL. If this -;;// flag is set and the Dacl field of the SECURITY_DESCRIPTOR is -;;// null, then a null ACL is explicitly being specified. -;;// -;;// SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the -;;// ACL pointed to by the Dacl field was provided by a defaulting -;;// mechanism rather than explicitly provided by the original -;;// provider of the security descriptor. This may affect the -;;// treatment of the ACL with respect to inheritence of an ACL. -;;// This flag is ignored if the DaclPresent flag is not set. -;;// -;;// SE_SACL_PRESENT - This boolean flag, when set, indicates that the -;;// security descriptor contains a system ACL pointed to by the -;;// Sacl field. If this flag is set and the Sacl field of the -;;// SECURITY_DESCRIPTOR is null, then an empty (but present) -;;// ACL is being specified. -;;// -;;// SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the -;;// ACL pointed to by the Sacl field was provided by a defaulting -;;// mechanism rather than explicitly provided by the original -;;// provider of the security descriptor. This may affect the -;;// treatment of the ACL with respect to inheritence of an ACL. -;;// This flag is ignored if the SaclPresent flag is not set. -;;// -;;// SE_SELF_RELATIVE - This boolean flag, when set, indicates that the -;;// security descriptor is in self-relative form. In this form, -;;// all fields of the security descriptor are contiguous in memory -;;// and all pointer fields are expressed as offsets from the -;;// beginning of the security descriptor. This form is useful -;;// for treating security descriptors as opaque data structures -;;// for transmission in communication protocol or for storage on -;;// secondary media. -;;// -;;// -;;// -;;// Pictorially the structure of a security descriptor is as follows: -;;// -;;// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 -;;// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -;;// +---------------------------------------------------------------+ -;;// | Control |Reserved1 (SBZ)| Revision | -;;// +---------------------------------------------------------------+ -;;// | Owner | -;;// +---------------------------------------------------------------+ -;;// | Group | -;;// +---------------------------------------------------------------+ -;;// | Sacl | -;;// +---------------------------------------------------------------+ -;;// | Dacl | -;;// +---------------------------------------------------------------+ -;;// -;;// In general, this data structure should be treated opaquely to ensure future -;;// compatibility. -;;// -;;// -;; -;;typedef struct _SECURITY_DESCRIPTOR { -;; BYTE Revision; -;; BYTE Sbz1; -;; SECURITY_DESCRIPTOR_CONTROL Control; -;; PSID Owner; -;; PSID Group; -;; PACL Sacl; -;; PACL Dacl; -;; } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR; -;; -;; -;;// Where: -;;// -;;// Revision - Contains the revision level of the security -;;// descriptor. This allows this structure to be passed between -;;// systems or stored on disk even though it is expected to -;;// change in the future. -;;// -;;// Control - A set of flags which qualify the meaning of the -;;// security descriptor or individual fields of the security -;;// descriptor. -;;// -;;// Owner - is a pointer to an SID representing an object's owner. -;;// If this field is null, then no owner SID is present in the -;;// security descriptor. If the security descriptor is in -;;// self-relative form, then this field contains an offset to -;;// the SID, rather than a pointer. -;;// -;;// Group - is a pointer to an SID representing an object's primary -;;// group. If this field is null, then no primary group SID is -;;// present in the security descriptor. If the security descriptor -;;// is in self-relative form, then this field contains an offset to -;;// the SID, rather than a pointer. -;;// -;;// Sacl - is a pointer to a system ACL. This field value is only -;;// valid if the DaclPresent control flag is set. If the -;;// SaclPresent flag is set and this field is null, then a null -;;// ACL is specified. If the security descriptor is in -;;// self-relative form, then this field contains an offset to -;;// the ACL, rather than a pointer. -;;// -;;// Dacl - is a pointer to a discretionary ACL. This field value is -;;// only valid if the DaclPresent control flag is set. If the -;;// DaclPresent flag is set and this field is null, then a null -;;// ACL (unconditionally granting access) is specified. If the -;;// security descriptor is in self-relative form, then this field -;;// contains an offset to the ACL, rather than a pointer. -;;// -;; -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// Privilege Related Data Structures // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;; -;; -;;// begin_ntddk begin_nthal -;;// -;;// Privilege attributes -;;// -;; -;;#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L) -;;#define SE_PRIVILEGE_ENABLED (0x00000002L) -;;#define SE_PRIVILEGE_USED_FOR_ACCESS (0x80000000L) -;; -;;// -;;// Privilege Set Control flags -;;// -;; -;;#define PRIVILEGE_SET_ALL_NECESSARY (1) -;; -;;// -;;// Privilege Set - This is defined for a privilege set of one. -;;// If more than one privilege is needed, then this structure -;;// will need to be allocated with more space. -;;// -;;// Note: don't change this structure without fixing the INITIAL_PRIVILEGE_SET -;;// structure (defined in se.h) -;;// -;; -;;typedef struct _PRIVILEGE_SET { -;; DWORD PrivilegeCount; -;; DWORD Control; -;; LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; -;; } PRIVILEGE_SET, * PPRIVILEGE_SET; -;; -;; -;;//////////////////////////////////////////////////////////////////////// -;;// // -;;// NT Defined Privileges // -;;// // -;;//////////////////////////////////////////////////////////////////////// -;; -;;#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege") -;;#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege") -;;#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege") -;;#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege") -;;#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege") -;;#define SE_TCB_NAME TEXT("SeTcbPrivilege") -;;#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege") -;;#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege") -;;#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege") -;;#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege") -;;#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege") -;;#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege") -;;#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege") -;;#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege") -;;#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege") -;;#define SE_BACKUP_NAME TEXT("SeBackupPrivilege") -;;#define SE_RESTORE_NAME TEXT("SeRestorePrivilege") -;;#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege") -;;#define SE_DEBUG_NAME TEXT("SeDebugPrivilege") -;;#define SE_AUDIT_NAME TEXT("SeAuditPrivilege") -;;#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege") -;;#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege") -;;#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege") -;; -;; -;;//////////////////////////////////////////////////////////////////// -;;// // -;;// Security Quality Of Service // -;;// // -;;// // -;;//////////////////////////////////////////////////////////////////// -;; -;;// begin_ntddk begin_nthal -;;// -;;// Impersonation Level -;;// -;;// Impersonation level is represented by a pair of bits in Windows. -;;// If a new impersonation level is added or lowest value is changed from -;;// 0 to something else, fix the Windows CreateFile call. -;;// -;; -;;typedef enum _SECURITY_IMPERSONATION_LEVEL { -;; SecurityAnonymous, -;; SecurityIdentification, -;; SecurityImpersonation, -;; SecurityDelegation -;; } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL; -;; -;;#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation -;; -;;#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation -;; -;;// end_nthal -;;// -;;// Security Tracking Mode -;;// -;; -;;#define SECURITY_DYNAMIC_TRACKING (TRUE) -;;#define SECURITY_STATIC_TRACKING (FALSE) -;; -;;typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE, -;; * PSECURITY_CONTEXT_TRACKING_MODE; -;; -;; -;; -;;// -;;// Quality Of Service -;;// -;; -;;typedef struct _SECURITY_QUALITY_OF_SERVICE { -;; DWORD Length; -;; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; -;; SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; -;; BOOLEAN EffectiveOnly; -;; } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE; -;; -;; -;;// -;;// Used to represent information related to a thread impersonation -;;// -;; -;;typedef struct _SE_IMPERSONATION_STATE { -;; PACCESS_TOKEN Token; -;; BOOLEAN CopyOnOpen; -;; BOOLEAN EffectiveOnly; -;; SECURITY_IMPERSONATION_LEVEL Level; -;;} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE; -;; -;; -;;//////////////////////////////////////////////////////////////////// -;;// // -;;// Token Object Definitions // -;;// // -;;// // -;;//////////////////////////////////////////////////////////////////// -;; -;; -;;// -;;// Token Specific Access Rights. -;;// -;; -;;#define TOKEN_ASSIGN_PRIMARY (0x0001) -;;#define TOKEN_DUPLICATE (0x0002) -;;#define TOKEN_IMPERSONATE (0x0004) -;;#define TOKEN_QUERY (0x0008) -;;#define TOKEN_QUERY_SOURCE (0x0010) -;;#define TOKEN_ADJUST_PRIVILEGES (0x0020) -;;#define TOKEN_ADJUST_GROUPS (0x0040) -;;#define TOKEN_ADJUST_DEFAULT (0x0080) -;; -;;#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\ -;; TOKEN_ASSIGN_PRIMARY |\ -;; TOKEN_DUPLICATE |\ -;; TOKEN_IMPERSONATE |\ -;; TOKEN_QUERY |\ -;; TOKEN_QUERY_SOURCE |\ -;; TOKEN_ADJUST_PRIVILEGES |\ -;; TOKEN_ADJUST_GROUPS |\ -;; TOKEN_ADJUST_DEFAULT) -;; -;; -;;#define TOKEN_READ (STANDARD_RIGHTS_READ |\ -;; TOKEN_QUERY) -;; -;; -;;#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ -;; TOKEN_ADJUST_PRIVILEGES |\ -;; TOKEN_ADJUST_GROUPS |\ -;; TOKEN_ADJUST_DEFAULT) -;; -;;#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) -;; -;; -;;// -;;// Token Types -;;// -;; -;;typedef enum _TOKEN_TYPE { -;; TokenPrimary = 1, -;; TokenImpersonation -;; } TOKEN_TYPE; -;;typedef TOKEN_TYPE *PTOKEN_TYPE; -;; -;; -;;// -;;// Token Information Classes. -;;// -;; -;; -;;typedef enum _TOKEN_INFORMATION_CLASS { -;; TokenUser = 1, -;; TokenGroups, -;; TokenPrivileges, -;; TokenOwner, -;; TokenPrimaryGroup, -;; TokenDefaultDacl, -;; TokenSource, -;; TokenType, -;; TokenImpersonationLevel, -;; TokenStatistics -;;} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS; -;; -;;// -;;// Token information class structures -;;// -;; -;;typedef struct _TOKEN_USER { -;; SID_AND_ATTRIBUTES User; -;;} TOKEN_USER, *PTOKEN_USER; -;; -;; -;;typedef struct _TOKEN_GROUPS { -;; DWORD GroupCount; -;; SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; -;;} TOKEN_GROUPS, *PTOKEN_GROUPS; -;; -;; -;;typedef struct _TOKEN_PRIVILEGES { -;; DWORD PrivilegeCount; -;; LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; -;;} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES; -;; -;; -;;typedef struct _TOKEN_OWNER { -;; PSID Owner; -;;} TOKEN_OWNER, *PTOKEN_OWNER; -;; -;; -;;typedef struct _TOKEN_PRIMARY_GROUP { -;; PSID PrimaryGroup; -;;} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP; -;; -;; -;;typedef struct _TOKEN_DEFAULT_DACL { -;; PACL DefaultDacl; -;;} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL; -;; -;; -;; -;;#define TOKEN_SOURCE_LENGTH 8 -;; -;;typedef struct _TOKEN_SOURCE { -;; CHAR SourceName[TOKEN_SOURCE_LENGTH]; -;; LUID SourceIdentifier; -;;} TOKEN_SOURCE, *PTOKEN_SOURCE; -;; -;; -;;typedef struct _TOKEN_STATISTICS { -;; LUID TokenId; -;; LUID AuthenticationId; -;; LARGE_INTEGER ExpirationTime; -;; TOKEN_TYPE TokenType; -;; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; -;; DWORD DynamicCharged; -;; DWORD DynamicAvailable; -;; DWORD GroupCount; -;; DWORD PrivilegeCount; -;; LUID ModifiedId; -;;} TOKEN_STATISTICS, *PTOKEN_STATISTICS; -;; -;; -;;typedef struct _TOKEN_CONTROL { -;; LUID TokenId; -;; LUID AuthenticationId; -;; LUID ModifiedId; -;; TOKEN_SOURCE TokenSource; -;; } TOKEN_CONTROL, *PTOKEN_CONTROL; -;; -;; -;;typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION; -;; -;;#define OWNER_SECURITY_INFORMATION (0X00000001L) -;;#define GROUP_SECURITY_INFORMATION (0X00000002L) -;;#define DACL_SECURITY_INFORMATION (0X00000004L) -;;#define SACL_SECURITY_INFORMATION (0X00000008L) -;; -;; -;;// -;;// Image Format -;;// -;; -;;#ifndef RC_INVOKED -;;#pragma pack (1) -;;#endif // !RC_INVOKED -;; -;;#define IMAGE_DOS_SIGNATURE 0x5A4D // MZ -;;#define IMAGE_OS2_SIGNATURE 0x454E // NE -;;#define IMAGE_OS2_SIGNATURE_LE 0x454C // LE -;;#define IMAGE_NT_SIGNATURE 0x00004550 // PE00 -;; -;;typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header -;; WORD e_magic; // Magic number -;; WORD e_cblp; // Bytes on last page of file -;; WORD e_cp; // Pages in file -;; WORD e_crlc; // Relocations -;; WORD e_cparhdr; // Size of header in paragraphs -;; WORD e_minalloc; // Minimum extra paragraphs needed -;; WORD e_maxalloc; // Maximum extra paragraphs needed -;; WORD e_ss; // Initial (relative) SS value -;; WORD e_sp; // Initial SP value -;; WORD e_csum; // Checksum -;; WORD e_ip; // Initial IP value -;; WORD e_cs; // Initial (relative) CS value -;; WORD e_lfarlc; // File address of relocation table -;; WORD e_ovno; // Overlay number -;; WORD e_res[4]; // Reserved words -;; WORD e_oemid; // OEM identifier (for e_oeminfo) -;; WORD e_oeminfo; // OEM information; e_oemid specific -;; WORD e_res2[10]; // Reserved words -;; LONG e_lfanew; // File address of new exe header -;; } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; -;; -;;typedef struct _IMAGE_OS2_HEADER { // OS/2 .EXE header -;; WORD ne_magic; // Magic number -;; CHAR ne_ver; // Version number -;; CHAR ne_rev; // Revision number -;; WORD ne_enttab; // Offset of Entry Table -;; WORD ne_cbenttab; // Number of bytes in Entry Table -;; LONG ne_crc; // Checksum of whole file -;; WORD ne_flags; // Flag word -;; WORD ne_autodata; // Automatic data segment number -;; WORD ne_heap; // Initial heap allocation -;; WORD ne_stack; // Initial stack allocation -;; LONG ne_csip; // Initial CS:IP setting -;; LONG ne_sssp; // Initial SS:SP setting -;; WORD ne_cseg; // Count of file segments -;; WORD ne_cmod; // Entries in Module Reference Table -;; WORD ne_cbnrestab; // Size of non-resident name table -;; WORD ne_segtab; // Offset of Segment Table -;; WORD ne_rsrctab; // Offset of Resource Table -;; WORD ne_restab; // Offset of resident name table -;; WORD ne_modtab; // Offset of Module Reference Table -;; WORD ne_imptab; // Offset of Imported Names Table -;; LONG ne_nrestab; // Offset of Non-resident Names Table -;; WORD ne_cmovent; // Count of movable entries -;; WORD ne_align; // Segment alignment shift count -;; WORD ne_cres; // Count of resource segments -;; BYTE ne_exetyp; // Target Operating system -;; BYTE ne_flagsothers; // Other .EXE flags -;; WORD ne_pretthunks; // offset to return thunks -;; WORD ne_psegrefbytes; // offset to segment ref. bytes -;; WORD ne_swaparea; // Minimum code swap area size -;; WORD ne_expver; // Expected Windows version number -;; } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER; -;; -;;// -;;// File header format. -;;// -;; -;;typedef struct _IMAGE_FILE_HEADER { -;; WORD Machine; -;; WORD NumberOfSections; -;; DWORD TimeDateStamp; -;; DWORD PointerToSymbolTable; -;; DWORD NumberOfSymbols; -;; WORD SizeOfOptionalHeader; -;; WORD Characteristics; -;;} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; -;; -;;#define IMAGE_SIZEOF_FILE_HEADER 20 -;; -;;#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 // Relocation info stripped from file. -;;#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 // File is executable (i.e. no unresolved externel references). -;;#define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 // Line nunbers stripped from file. -;;#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 // Local symbols stripped from file. -;;#define IMAGE_FILE_MINIMAL_OBJECT 0x0010 // Reserved. -;;#define IMAGE_FILE_UPDATE_OBJECT 0x0020 // Reserved. -;;#define IMAGE_FILE_16BIT_MACHINE 0x0040 // 16 bit word machine. -;;#define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 // Bytes of machine word are reversed. -;;#define IMAGE_FILE_32BIT_MACHINE 0x0100 // 32 bit word machine. -;;#define IMAGE_FILE_DEBUG_STRIPPED 0x0200 // Debugging info stripped from file in .DBG file -;;#define IMAGE_FILE_PATCH 0x0400 // Reserved. -;;#define IMAGE_FILE_SYSTEM 0x1000 // System File. -;;#define IMAGE_FILE_DLL 0x2000 // File is a DLL. -;;#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 // Bytes of machine word are reversed. -;; -;;#define IMAGE_FILE_MACHINE_UNKNOWN 0 -;;#define IMAGE_FILE_MACHINE_I860 0x14d // Intel 860. -;;#define IMAGE_FILE_MACHINE_I386 0x14c // Intel 386. -;;#define IMAGE_FILE_MACHINE_R3000 0x162 // MIPS little-endian, 0540 big-endian -;;#define IMAGE_FILE_MACHINE_R4000 0x166 // MIPS little-endian -;;#define IMAGE_FILE_MACHINE_ALPHA 0x184 // Alpha_AXP -;; -;;// -;;// Directory format. -;;// -;; -;;typedef struct _IMAGE_DATA_DIRECTORY { -;; DWORD VirtualAddress; -;; DWORD Size; -;;} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY; -;; -;;#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 -;; -;;// -;;// Optional header format. -;;// -;; -;;typedef struct _IMAGE_OPTIONAL_HEADER { -;; // -;; // Standard fields. -;; // -;; -;; WORD Magic; -;; BYTE MajorLinkerVersion; -;; BYTE MinorLinkerVersion; -;; DWORD SizeOfCode; -;; DWORD SizeOfInitializedData; -;; DWORD SizeOfUninitializedData; -;; DWORD AddressOfEntryPoint; -;; DWORD BaseOfCode; -;; DWORD BaseOfData; -;; -;; // -;; // NT additional fields. -;; // -;; -;; DWORD ImageBase; -;; DWORD SectionAlignment; -;; DWORD FileAlignment; -;; WORD MajorOperatingSystemVersion; -;; WORD MinorOperatingSystemVersion; -;; WORD MajorImageVersion; -;; WORD MinorImageVersion; -;; WORD MajorSubsystemVersion; -;; WORD MinorSubsystemVersion; -;; DWORD Reserved1; -;; DWORD SizeOfImage; -;; DWORD SizeOfHeaders; -;; DWORD CheckSum; -;; WORD Subsystem; -;; WORD DllCharacteristics; -;; DWORD SizeOfStackReserve; -;; DWORD SizeOfStackCommit; -;; DWORD SizeOfHeapReserve; -;; DWORD SizeOfHeapCommit; -;; DWORD LoaderFlags; -;; DWORD NumberOfRvaAndSizes; -;; IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; -;;} IMAGE_OPTIONAL_HEADER, *PIMAGE_OPTIONAL_HEADER; -;; -;;#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28 -;;#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224 -;; -;;typedef struct _IMAGE_NT_HEADERS { -;; DWORD Signature; -;; IMAGE_FILE_HEADER FileHeader; -;; IMAGE_OPTIONAL_HEADER OptionalHeader; -;;} IMAGE_NT_HEADERS, *PIMAGE_NT_HEADERS; -;; -;;#define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) \ -;; ((DWORD)ntheader + \ -;; FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) + \ -;; ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader \ -;; )) -;; -;; -;;// Subsystem Values -;; -;;#define IMAGE_SUBSYSTEM_UNKNOWN 0 // Unknown subsystem. -;;#define IMAGE_SUBSYSTEM_NATIVE 1 // Image doesn't require a subsystem. -;;#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 // Image runs in the Windows GUI subsystem. -;;#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 // Image runs in the Windows character subsystem. -;;#define IMAGE_SUBSYSTEM_OS2_CUI 5 // image runs in the OS/2 character subsystem. -;;#define IMAGE_SUBSYSTEM_POSIX_CUI 7 // image run in the Posix character subsystem. -;; -;;// Dll Characteristics -;; -;;#define IMAGE_LIBRARY_PROCESS_INIT 1 // Dll has a process initialization routine. -;;#define IMAGE_LIBRARY_PROCESS_TERM 2 // Dll has a thread termination routine. -;;#define IMAGE_LIBRARY_THREAD_INIT 4 // Dll has a thread initialization routine. -;;#define IMAGE_LIBRARY_THREAD_TERM 8 // Dll has a thread termination routine. -;; -;;// -;;// Loader Flags -;;// -;; -;;#define IMAGE_LOADER_FLAGS_BREAK_ON_LOAD 0x00000001 -;;#define IMAGE_LOADER_FLAGS_DEBUG_ON_LOAD 0x00000002 -;; -;; -;;// Directory Entries -;; -;;#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory -;;#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory -;;#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory -;;#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory -;;#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory -;;#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table -;;#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory -;;#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // Description String -;;#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // Machine Value (MIPS GP) -;;#define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory -;;#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory -;; -;;// -;;// Section header format. -;;// -;; -;;#define IMAGE_SIZEOF_SHORT_NAME 8 -;; -;;typedef struct _IMAGE_SECTION_HEADER { -;; BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; -;; union { -;; DWORD PhysicalAddress; -;; DWORD VirtualSize; -;; } Misc; -;; DWORD VirtualAddress; -;; DWORD SizeOfRawData; -;; DWORD PointerToRawData; -;; DWORD PointerToRelocations; -;; DWORD PointerToLinenumbers; -;; WORD NumberOfRelocations; -;; WORD NumberOfLinenumbers; -;; DWORD Characteristics; -;;} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; -;; -;;#define IMAGE_SIZEOF_SECTION_HEADER 40 -;; -;;#define IMAGE_SCN_TYPE_REGULAR 0x00000000 // -;;#define IMAGE_SCN_TYPE_DUMMY 0x00000001 // Reserved. -;;#define IMAGE_SCN_TYPE_NO_LOAD 0x00000002 // Reserved. -;;#define IMAGE_SCN_TYPE_GROUPED 0x00000004 // Used for 16-bit offset code. -;;#define IMAGE_SCN_TYPE_NO_PAD 0x00000008 // Reserved. -;;#define IMAGE_SCN_TYPE_COPY 0x00000010 // Reserved. -;; -;;#define IMAGE_SCN_CNT_CODE 0x00000020 // Section contains code. -;;#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 // Section contains initialized data. -;;#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 // Section contains uninitialized data. -;; -;;#define IMAGE_SCN_LNK_OTHER 0x00000100 // Reserved. -;;#define IMAGE_SCN_LNK_INFO 0x00000200 // Section contains comments or some other type of information. -;;#define IMAGE_SCN_LNK_OVERLAY 0x00000400 // Section contains an overlay. -;;#define IMAGE_SCN_LNK_REMOVE 0x00000800 // Section contents will not become part of image. -;;#define IMAGE_SCN_LNK_COMDAT 0x00001000 // Section contents comdat. -;; -;;#define IMAGE_SCN_ALIGN_1BYTES 0x00100000 // -;;#define IMAGE_SCN_ALIGN_2BYTES 0x00200000 // -;;#define IMAGE_SCN_ALIGN_4BYTES 0x00300000 // -;;#define IMAGE_SCN_ALIGN_8BYTES 0x00400000 // -;;#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 // Default alignment if no others are specified. -;;#define IMAGE_SCN_ALIGN_32BYTES 0x00600000 // -;;#define IMAGE_SCN_ALIGN_64BYTES 0x00700000 // -;; -;;#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000 // Section can be discarded. -;;#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 // Section is not cachable. -;;#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000 // Section is not pageable. -;;#define IMAGE_SCN_MEM_SHARED 0x10000000 // Section is shareable. -;;#define IMAGE_SCN_MEM_EXECUTE 0x20000000 // Section is executable. -;;#define IMAGE_SCN_MEM_READ 0x40000000 // Section is readable. -;;#define IMAGE_SCN_MEM_WRITE 0x80000000 // Section is writeable. -;; -;;// -;;// Symbol format. -;;// -;; -;;typedef struct _IMAGE_SYMBOL { -;; union { -;; BYTE ShortName[8]; -;; struct { -;; DWORD Short; // if 0, use LongName -;; DWORD Long; // offset into string table -;; } Name; -;; PBYTE LongName[2]; -;; } N; -;; DWORD Value; -;; SHORT SectionNumber; -;; WORD Type; -;; BYTE StorageClass; -;; BYTE NumberOfAuxSymbols; -;;} IMAGE_SYMBOL; -;;typedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL; -;; -;;#define IMAGE_SIZEOF_SYMBOL 18 -;; -;;// -;;// Section values. -;;// -;;// Symbols have a section number of the section in which they are -;;// defined. Otherwise, section numbers have the following meanings: -;;// -;; -;;#define IMAGE_SYM_UNDEFINED (SHORT)0 // Symbol is undefined or is common. -;;#define IMAGE_SYM_ABSOLUTE (SHORT)-1 // Symbol is an absolute value. -;;#define IMAGE_SYM_DEBUG (SHORT)-2 // Symbol is a special debug item. -;; -;;// -;;// Type (fundamental) values. -;;// -;; -;;#define IMAGE_SYM_TYPE_NULL 0 // no type. -;;#define IMAGE_SYM_TYPE_VOID 1 // -;;#define IMAGE_SYM_TYPE_CHAR 2 // type character. -;;#define IMAGE_SYM_TYPE_SHORT 3 // type short integer. -;;#define IMAGE_SYM_TYPE_INT 4 // -;;#define IMAGE_SYM_TYPE_LONG 5 // -;;#define IMAGE_SYM_TYPE_FLOAT 6 // -;;#define IMAGE_SYM_TYPE_DOUBLE 7 // -;;#define IMAGE_SYM_TYPE_STRUCT 8 // -;;#define IMAGE_SYM_TYPE_UNION 9 // -;;#define IMAGE_SYM_TYPE_ENUM 10 // enumeration. -;;#define IMAGE_SYM_TYPE_MOE 11 // member of enumeration. -;;#define IMAGE_SYM_TYPE_BYTE 12 // -;;#define IMAGE_SYM_TYPE_WORD 13 // -;;#define IMAGE_SYM_TYPE_UINT 14 // -;;#define IMAGE_SYM_TYPE_DWORD 15 // -;; -;;// -;;// Type (derived) values. -;;// -;; -;;#define IMAGE_SYM_DTYPE_NULL 0 // no derived type. -;;#define IMAGE_SYM_DTYPE_POINTER 1 // pointer. -;;#define IMAGE_SYM_DTYPE_FUNCTION 2 // function. -;;#define IMAGE_SYM_DTYPE_ARRAY 3 // array. -;; -;;// -;;// Storage classes. -;;// -;; -;;#define IMAGE_SYM_CLASS_END_OF_FUNCTION (BYTE )-1 -;;#define IMAGE_SYM_CLASS_NULL 0 -;;#define IMAGE_SYM_CLASS_AUTOMATIC 1 -;;#define IMAGE_SYM_CLASS_EXTERNAL 2 -;;#define IMAGE_SYM_CLASS_STATIC 3 -;;#define IMAGE_SYM_CLASS_REGISTER 4 -;;#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5 -;;#define IMAGE_SYM_CLASS_LABEL 6 -;;#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7 -;;#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8 -;;#define IMAGE_SYM_CLASS_ARGUMENT 9 -;;#define IMAGE_SYM_CLASS_STRUCT_TAG 10 -;;#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11 -;;#define IMAGE_SYM_CLASS_UNION_TAG 12 -;;#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13 -;;#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14 -;;#define IMAGE_SYM_CLASS_ENUM_TAG 15 -;;#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16 -;;#define IMAGE_SYM_CLASS_REGISTER_PARAM 17 -;;#define IMAGE_SYM_CLASS_BIT_FIELD 18 -;;#define IMAGE_SYM_CLASS_BLOCK 100 -;;#define IMAGE_SYM_CLASS_FUNCTION 101 -;;#define IMAGE_SYM_CLASS_END_OF_STRUCT 102 -;;#define IMAGE_SYM_CLASS_FILE 103 -;;// new -;;#define IMAGE_SYM_CLASS_SECTION 104 -;;#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105 -;; -;;// type packing constants -;; -;;#define N_BTMASK 017 -;;#define N_TMASK 060 -;;#define N_TMASK1 0300 -;;#define N_TMASK2 0360 -;;#define N_BTSHFT 4 -;;#define N_TSHIFT 2 -;; -;;// MACROS -;; -;;// Basic Type of x -;;#define BTYPE(x) ((x) & N_BTMASK) -;; -;;// Is x a pointer? -;;#ifndef ISPTR -;;#define ISPTR(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT)) -;;#endif -;; -;;// Is x a function? -;;#ifndef ISFCN -;;#define ISFCN(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT)) -;;#endif -;; -;;// Is x an array? -;; -;;#ifndef ISARY -;;#define ISARY(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT)) -;;#endif -;; -;;// Is x a structure, union, or enumeration TAG? -;;#ifndef ISTAG -;;#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG || (x)==IMAGE_SYM_CLASS_UNION_TAG || (x)==IMAGE_SYM_CLASS_ENUM_TAG) -;;#endif -;; -;;#ifndef INCREF -;;#define INCREF(x) ((((x)&~N_BTMASK)<>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK)) -;;#endif -;; -;;// -;;// Auxiliary entry format. -;;// -;; -;;typedef union _IMAGE_AUX_SYMBOL { -;; struct { -;; DWORD TagIndex; // struct, union, or enum tag index -;; union { -;; struct { -;; WORD Linenumber; // declaration line number -;; WORD Size; // size of struct, union, or enum -;; } LnSz; -;; DWORD TotalSize; -;; } Misc; -;; union { -;; struct { // if ISFCN, tag, or .bb -;; DWORD PointerToLinenumber; -;; DWORD PointerToNextFunction; -;; } Function; -;; struct { // if ISARY, up to 4 dimen. -;; WORD Dimension[4]; -;; } Array; -;; } FcnAry; -;; WORD TvIndex; // tv index -;; } Sym; -;; struct { -;; BYTE Name[IMAGE_SIZEOF_SYMBOL]; -;; } File; -;; struct { -;; DWORD Length; // section length -;; WORD NumberOfRelocations; // number of relocation entries -;; WORD NumberOfLinenumbers; // number of line numbers -;; DWORD CheckSum; // checksum for communal -;; SHORT Number; // section number to associate with -;; BYTE Selection; // communal selection type -;; } Section; -;;} IMAGE_AUX_SYMBOL; -;;typedef IMAGE_AUX_SYMBOL UNALIGNED *PIMAGE_AUX_SYMBOL; -;; -;;#define IMAGE_SIZEOF_AUX_SYMBOL 18 -;; -;;// -;;// Communal selection types. -;;// -;; -;;#define IMAGE_COMDAT_SELECT_UNKNOWN 0 -;;#define IMAGE_COMDAT_SELECT_NODUPLICATES 1 -;;#define IMAGE_COMDAT_SELECT_ANY 2 -;;#define IMAGE_COMDAT_SELECT_SAME_SIZE 3 -;;#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4 -;;#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5 -;; -;;#define IMAGE_WEAK_EXTERN_SEARCH_UNKNOWN 0 -;;#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 -;;#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 -;; -;; -;;// -;;// Relocation format. -;;// -;; -;;typedef struct _IMAGE_RELOCATION { -;; DWORD VirtualAddress; -;; DWORD SymbolTableIndex; -;; WORD Type; -;;} IMAGE_RELOCATION; -;;typedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION; -;; -;;#define IMAGE_SIZEOF_RELOCATION 10 -;; -;;// -;;// I860 relocation types. -;;// -;; -;;#define IMAGE_REL_I860_ABSOLUTE 0 // Reference is absolute, no relocation is necessary -;;#define IMAGE_REL_I860_DIR32 06 // Direct 32-bit reference to the symbols virtual address -;;#define IMAGE_REL_I860_DIR32NB 07 -;;#define IMAGE_REL_I860_SECTION 012 -;;#define IMAGE_REL_I860_SECREL 013 -;;#define IMAGE_REL_I860_PAIR 034 -;;#define IMAGE_REL_I860_HIGH 036 -;;#define IMAGE_REL_I860_LOW0 037 -;;#define IMAGE_REL_I860_LOW1 040 -;;#define IMAGE_REL_I860_LOW2 041 -;;#define IMAGE_REL_I860_LOW3 042 -;;#define IMAGE_REL_I860_LOW4 043 -;;#define IMAGE_REL_I860_SPLIT0 044 -;;#define IMAGE_REL_I860_SPLIT1 045 -;;#define IMAGE_REL_I860_SPLIT2 046 -;;#define IMAGE_REL_I860_HIGHADJ 047 -;;#define IMAGE_REL_I860_BRADDR 050 -;; -;;// -;;// I386 relocation types. -;;// -;; -;;#define IMAGE_REL_I386_ABSOLUTE 0 // Reference is absolute, no relocation is necessary -;;#define IMAGE_REL_I386_DIR16 01 // Direct 16-bit reference to the symbols virtual address -;;#define IMAGE_REL_I386_REL16 02 // PC-relative 16-bit reference to the symbols virtual address -;;#define IMAGE_REL_I386_DIR32 06 // Direct 32-bit reference to the symbols virtual address -;;#define IMAGE_REL_I386_DIR32NB 07 // Direct 32-bit reference to the symbols virtual address, base not included -;;#define IMAGE_REL_I386_SEG12 011 // Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address -;;#define IMAGE_REL_I386_SECTION 012 -;;#define IMAGE_REL_I386_SECREL 013 -;;#define IMAGE_REL_I386_REL32 024 // PC-relative 32-bit reference to the symbols virtual address -;; -;;// -;;// MIPS relocation types. -;;// -;; -;;#define IMAGE_REL_MIPS_ABSOLUTE 0 // Reference is absolute, no relocation is necessary -;;#define IMAGE_REL_MIPS_REFHALF 01 -;;#define IMAGE_REL_MIPS_REFWORD 02 -;;#define IMAGE_REL_MIPS_JMPADDR 03 -;;#define IMAGE_REL_MIPS_REFHI 04 -;;#define IMAGE_REL_MIPS_REFLO 05 -;;#define IMAGE_REL_MIPS_GPREL 06 -;;#define IMAGE_REL_MIPS_LITERAL 07 -;;#define IMAGE_REL_MIPS_SECTION 012 -;;#define IMAGE_REL_MIPS_SECREL 013 -;;#define IMAGE_REL_MIPS_REFWORDNB 042 -;;#define IMAGE_REL_MIPS_PAIR 045 -;; -;;// -;;// Alpha Relocation types. -;;// -;; -;;#define IMAGE_REL_ALPHA_ABSOLUTE 0x0 -;;#define IMAGE_REL_ALPHA_REFLONG 0x1 -;;#define IMAGE_REL_ALPHA_REFQUAD 0x2 -;;#define IMAGE_REL_ALPHA_GPREL32 0x3 -;;#define IMAGE_REL_ALPHA_LITERAL 0x4 -;;#define IMAGE_REL_ALPHA_LITUSE 0x5 -;;#define IMAGE_REL_ALPHA_GPDISP 0x6 -;;#define IMAGE_REL_ALPHA_BRADDR 0x7 -;;#define IMAGE_REL_ALPHA_HINT 0x8 -;;#define IMAGE_REL_ALPHA_INLINE_REFLONG 0x9 -;;#define IMAGE_REL_ALPHA_REFHI 0xA -;;#define IMAGE_REL_ALPHA_REFLO 0xB -;;#define IMAGE_REL_ALPHA_PAIR 0xC -;;#define IMAGE_REL_ALPHA_MATCH 0xD -;;#define IMAGE_REL_ALPHA_SECTION 0xE -;;#define IMAGE_REL_ALPHA_SECREL 0xF -;;#define IMAGE_REL_ALPHA_REFLONGNB 0x10 -;; -;;// -;;// Based relocation format. -;;// -;; -;;typedef struct _IMAGE_BASE_RELOCATION { -;; DWORD VirtualAddress; -;; DWORD SizeOfBlock; -;;// WORD TypeOffset[1]; -;;} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION; -;; -;;#define IMAGE_SIZEOF_BASE_RELOCATION 8 -;; -;;// -;;// Based relocation types. -;;// -;; -;;#define IMAGE_REL_BASED_ABSOLUTE 0 -;;#define IMAGE_REL_BASED_HIGH 1 -;;#define IMAGE_REL_BASED_LOW 2 -;;#define IMAGE_REL_BASED_HIGHLOW 3 -;;#define IMAGE_REL_BASED_HIGHADJ 4 -;;#define IMAGE_REL_BASED_MIPS_JMPADDR 5 -;;#define IMAGE_REL_BASED_I860_BRADDR 6 -;;#define IMAGE_REL_BASED_I860_SPLIT 7 -;; -;;// -;;// Line number format. -;;// -;; -;;typedef struct _IMAGE_LINENUMBER { -;; union { -;; DWORD SymbolTableIndex; // Symbol table index of function name if Linenumber is 0. -;; DWORD VirtualAddress; // Virtual address of line number. -;; } Type; -;; WORD Linenumber; // Line number. -;;} IMAGE_LINENUMBER; -;;typedef IMAGE_LINENUMBER UNALIGNED *PIMAGE_LINENUMBER; -;; -;;#define IMAGE_SIZEOF_LINENUMBER 6 -;; -;;// -;;// Archive format. -;;// -;; -;;#define IMAGE_ARCHIVE_START_SIZE 8 -;;#define IMAGE_ARCHIVE_START "!\n" -;;#define IMAGE_ARCHIVE_END "`\n" -;;#define IMAGE_ARCHIVE_PAD "\n" -;;#define IMAGE_ARCHIVE_LINKER_MEMBER "/ " -;;#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// " -;; -;;typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER { -;; BYTE Name[16]; // File member name - `/' terminated. -;; BYTE Date[12]; // File member date - decimal. -;; BYTE UserID[6]; // File member user id - decimal. -;; BYTE GroupID[6]; // File member group id - decimal. -;; BYTE Mode[8]; // File member mode - octal. -;; BYTE Size[10]; // File member size - decimal. -;; BYTE EndHeader[2]; // String to end header. -;;} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER; -;; -;;#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60 -;; -;;// -;;// DLL support. -;;// -;; -;;// -;;// Export Format -;;// -;; -;;typedef struct _IMAGE_EXPORT_DIRECTORY { -;; DWORD Characteristics; -;; DWORD TimeDateStamp; -;; WORD MajorVersion; -;; WORD MinorVersion; -;; DWORD Name; -;; DWORD Base; -;; DWORD NumberOfFunctions; -;; DWORD NumberOfNames; -;; PDWORD *AddressOfFunctions; -;; PDWORD *AddressOfNames; -;; PWORD *AddressOfNameOrdinals; -;;} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY; -;; -;;// -;;// Import Format -;;// -;; -;;typedef struct _IMAGE_IMPORT_BY_NAME { -;; WORD Hint; -;; BYTE Name[1]; -;;} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME; -;; -;;typedef struct _IMAGE_THUNK_DATA { -;; union { -;; PDWORD Function; -;; DWORD Ordinal; -;; PIMAGE_IMPORT_BY_NAME AddressOfData; -;; } u1; -;;} IMAGE_THUNK_DATA, *PIMAGE_THUNK_DATA; -;; -;;#define IMAGE_ORDINAL_FLAG 0x80000000 -;;#define IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG) != 0) -;;#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff) -;; -;;typedef struct _IMAGE_IMPORT_DESCRIPTOR { -;; DWORD Characteristics; -;; DWORD TimeDateStamp; -;; DWORD ForwarderChain; -;; DWORD Name; -;; PIMAGE_THUNK_DATA FirstThunk; -;;} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR; -;; -;;// -;;// Thread Local Storage -;;// -;; -;;typedef VOID -;;(NTAPI *PIMAGE_TLS_CALLBACK) ( -;; PVOID DllHandle, -;; DWORD Reason, -;; PVOID Reserved -;; ); -;; -;;typedef struct _IMAGE_TLS_DIRECTORY { -;; DWORD StartAddressOfRawData; -;; DWORD EndAddressOfRawData; -;; PDWORD AddressOfIndex; -;; PIMAGE_TLS_CALLBACK *AddressOfCallBacks; -;; DWORD SizeOfZeroFill; -;; DWORD Characteristics; -;;} IMAGE_TLS_DIRECTORY, *PIMAGE_TLS_DIRECTORY; -;; -;; -;;// -;;// Resource Format. -;;// -;; -;;// -;;// Resource directory consists of two counts, following by a variable length -;;// array of directory entries. The first count is the number of entries at -;;// beginning of the array that have actual names associated with each entry. -;;// The entries are in ascending order, case insensitive strings. The second -;;// count is the number of entries that immediately follow the named entries. -;;// This second count identifies the number of entries that have 31-bit integer -;;// Ids as their name. These entries are also sorted in ascending order. -;;// -;;// This structure allows fast lookup by either name or number, but for any -;;// given resource entry only one form of lookup is supported, not both. -;;// This is consistant with the syntax of the .RC file and the .RES file. -;;// -;; -;;typedef struct _IMAGE_RESOURCE_DIRECTORY { -;; DWORD Characteristics; -;; DWORD TimeDateStamp; -;; WORD MajorVersion; -;; WORD MinorVersion; -;; WORD NumberOfNamedEntries; -;; WORD NumberOfIdEntries; -;;// IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[]; -;;} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY; -;; -;;#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000 -;;#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000 -;; -;;// -;;// Each directory contains the 32-bit Name of the entry and an offset, -;;// relative to the beginning of the resource directory of the data associated -;;// with this directory entry. If the name of the entry is an actual text -;;// string instead of an integer Id, then the high order bit of the name field -;;// is set to one and the low order 31-bits are an offset, relative to the -;;// beginning of the resource directory of the string, which is of type -;;// IMAGE_RESOURCE_DIRECTORY_STRING. Otherwise the high bit is clear and the -;;// low-order 31-bits are the integer Id that identify this resource directory -;;// entry. If the directory entry is yet another resource directory (i.e. a -;;// subdirectory), then the high order bit of the offset field will be -;;// set to indicate this. Otherwise the high bit is clear and the offset -;;// field points to a resource data entry. -;;// -;; -;;typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { -;; DWORD Name; -;; DWORD OffsetToData; -;;} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY; -;; -;;// -;;// For resource directory entries that have actual string names, the Name -;;// field of the directory entry points to an object of the following type. -;;// All of these string objects are stored together after the last resource -;;// directory entry and before the first resource data object. This minimizes -;;// the impact of these variable length objects on the alignment of the fixed -;;// size directory entry objects. -;;// -;; -;;typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING { -;; WORD Length; -;; CHAR NameString[ 1 ]; -;;} IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING; -;; -;; -;;typedef struct _IMAGE_RESOURCE_DIR_STRING_U { -;; WORD Length; -;; WCHAR NameString[ 1 ]; -;;} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U; -;; -;; -;;// -;;// Each resource data entry describes a leaf node in the resource directory -;;// tree. It contains an offset, relative to the beginning of the resource -;;// directory of the data for the resource, a size field that gives the number -;;// of bytes of data at that offset, a CodePage that should be used when -;;// decoding code point values within the resource data. Typically for new -;;// applications the code page would be the unicode code page. -;;// -;; -;;typedef struct _IMAGE_RESOURCE_DATA_ENTRY { -;; DWORD OffsetToData; -;; DWORD Size; -;; DWORD CodePage; -;; DWORD Reserved; -;;} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY; -;; -;;// -;;// Load Configuration Directory Entry -;;// -;; -;;typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY { -;; DWORD Characteristics; -;; DWORD TimeDateStamp; -;; WORD MajorVersion; -;; WORD MinorVersion; -;; DWORD GlobalFlagsClear; -;; DWORD GlobalFlagsSet; -;; DWORD CriticalSectionDefaultTimeout; -;; DWORD DeCommitFreeBlockThreshold; -;; DWORD DeCommitTotalFreeThreshold; -;; DWORD Reserved[ 8 ]; -;;} IMAGE_LOAD_CONFIG_DIRECTORY, *PIMAGE_LOAD_CONFIG_DIRECTORY; -;; -;; -;;// -;;// Function table entry format for MIPS/ALPHA images. Function table is -;;// pointed to by the IMAGE_DIRECTORY_ENTRY_EXCEPTION directory entry. -;;// This definition duplicates ones in ntmips.h and ntalpha.h for use -;;// by portable image file mungers. -;;// -;; -;;typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY { -;; DWORD BeginAddress; -;; DWORD EndAddress; -;; PVOID ExceptionHandler; -;; PVOID HandlerData; -;; DWORD PrologEndAddress; -;;} IMAGE_RUNTIME_FUNCTION_ENTRY, *PIMAGE_RUNTIME_FUNCTION_ENTRY; -;; -;;// -;;// Debug Format -;;// -;; -;;typedef struct _IMAGE_DEBUG_DIRECTORY { -;; DWORD Characteristics; -;; DWORD TimeDateStamp; -;; WORD MajorVersion; -;; WORD MinorVersion; -;; DWORD Type; -;; DWORD SizeOfData; -;; DWORD AddressOfRawData; -;; DWORD PointerToRawData; -;;} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY; -;; -;;#define IMAGE_DEBUG_TYPE_UNKNOWN 0 -;;#define IMAGE_DEBUG_TYPE_COFF 1 -;;#define IMAGE_DEBUG_TYPE_CODEVIEW 2 -;;#define IMAGE_DEBUG_TYPE_FPO 3 -;;#define IMAGE_DEBUG_TYPE_MISC 4 -;;#define IMAGE_DEBUG_TYPE_EXCEPTION 5 -;;#define IMAGE_DEBUG_TYPE_FIXUP 6 -;;#define IMAGE_DEBUG_TYPE_RESERVED6 7 -;;#define IMAGE_DEBUG_TYPE_RESERVED7 8 -;; -;;typedef struct _IMAGE_COFF_SYMBOLS_HEADER { -;; DWORD NumberOfSymbols; -;; DWORD LvaToFirstSymbol; -;; DWORD NumberOfLinenumbers; -;; DWORD LvaToFirstLinenumber; -;; DWORD RvaToFirstByteOfCode; -;; DWORD RvaToLastByteOfCode; -;; DWORD RvaToFirstByteOfData; -;; DWORD RvaToLastByteOfData; -;;} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER; -;; -;;#define FRAME_FPO 0 -;;#define FRAME_TRAP 1 -;;#define FRAME_TSS 2 -;; -;;typedef struct _FPO_DATA { -;; DWORD ulOffStart; // offset 1st byte of function code -;; DWORD cbProcSize; // # bytes in function -;; DWORD cdwLocals; // # bytes in locals/4 -;; WORD cdwParams; // # bytes in params/4 -;; WORD cbProlog : 8; // # bytes in prolog -;; WORD cbRegs : 3; // # regs saved -;; WORD fHasSEH : 1; // TRUE if SEH in func -;; WORD fUseBP : 1; // TRUE if EBP has been allocated -;; WORD reserved : 1; // reserved for future use -;; WORD cbFrame : 2; // frame type -;;} FPO_DATA, *PFPO_DATA; -;;#define SIZEOF_RFPO_DATA 16 -;; -;; -;;#define IMAGE_DEBUG_MISC_EXENAME 1 -;; -;;typedef struct _IMAGE_DEBUG_MISC { -;; DWORD DataType; // type of misc data, see defines -;; DWORD Length; // total length of record, rounded to four -;; // byte multiple. -;; BOOLEAN Unicode; // TRUE if data is unicode string -;; BYTE Reserved[ 3 ]; -;; BYTE Data[ 1 ]; // Actual data -;;} IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC; -;; -;; -;;// -;;// Debugging information can be stripped from an image file and placed -;;// in a separate .DBG file, whose file name part is the same as the -;;// image file name part (e.g. symbols for CMD.EXE could be stripped -;;// and placed in CMD.DBG). This is indicated by the IMAGE_FILE_DEBUG_STRIPPED -;;// flag in the Characteristics field of the file header. The beginning of -;;// the .DBG file contains the following structure which captures certain -;;// information from the image file. This allows a debug to proceed even if -;;// the original image file is not accessable. This header is followed by -;;// zero of more IMAGE_SECTION_HEADER structures, followed by zero or more -;;// IMAGE_DEBUG_DIRECTORY structures. The latter structures and those in -;;// the image file contain file offsets relative to the beginning of the -;;// .DBG file. -;;// -;;// If symbols have been stripped from an image, the IMAGE_DEBUG_MISC structure -;;// is left in the image file, but not mapped. This allows a debugger to -;;// compute the name of the .DBG file, from the name of the image in the -;;// IMAGE_DEBUG_MISC structure. -;;// -;; -;;typedef struct _IMAGE_SEPARATE_DEBUG_HEADER { -;; WORD Signature; -;; WORD Flags; -;; WORD Machine; -;; WORD Characteristics; -;; DWORD TimeDateStamp; -;; DWORD CheckSum; -;; DWORD ImageBase; -;; DWORD SizeOfImage; -;; DWORD NumberOfSections; -;; DWORD ExportedNamesSize; -;; DWORD DebugDirectorySize; -;; DWORD Reserved[ 3 ]; -;;} IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER; -;; -;;#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944 -;; -;;#ifndef RC_INVOKED -;;#pragma pack () -;;#endif // !RC_INVOKED -;; -;;// -;;// End Image Format -;;// -;; -;;// -;;// for move macros -;;// -;;#include -;;#define HEAP_NO_SERIALIZE 0x00000001 -;;#define HEAP_GROWABLE 0x00000002 -;;#define HEAP_GENERATE_EXCEPTIONS 0x00000004 -;;#define HEAP_ZERO_MEMORY 0x00000008 -;;#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010 -;;#define HEAP_TAIL_CHECKING_ENABLED 0x00000020 -;;#define HEAP_FREE_CHECKING_ENABLED 0x00000040 -;;#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080 -;;#ifdef _M_IX86 -;;#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length)) -;;#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length)) -;;#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length)) -;;#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length)) -;;#else -;;#define RtlCopyMemory(Destination,Source,Length) RtlMoveMemory((Destination),(Source),(Length)) -;;VOID -;;NTAPI -;;RtlMoveMemory ( -;; PVOID Destination, -;; CONST VOID *Source, -;; DWORD Length -;; ); -;; -;;VOID -;;NTAPI -;;RtlFillMemory ( -;; PVOID Destination, -;; DWORD Length, -;; BYTE Fill -;; ); -;; -;;VOID -;;NTAPI -;;RtlZeroMemory ( -;; PVOID Destination, -;; DWORD Length -;; ); -;;#endif -;; -;;typedef struct _RTL_CRITICAL_SECTION_DEBUG { -;; WORD Type; -;; WORD CreatorBackTraceIndex; -;; struct _RTL_CRITICAL_SECTION *CriticalSection; -;; LIST_ENTRY ProcessLocksList; -;; DWORD EntryCount; -;; DWORD ContentionCount; -;; DWORD Depth; -;; PVOID OwnerBackTrace[ 5 ]; -;;} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG; -;; -;;#define RTL_CRITSECT_TYPE 0 -;;#define RTL_RESOURCE_TYPE 1 -;; -;;typedef struct _RTL_CRITICAL_SECTION { -;; PRTL_CRITICAL_SECTION_DEBUG DebugInfo; -;; -;; // -;; // The following three fields control entering and exiting the critical -;; // section for the resource -;; // -;; -;; LONG LockCount; -;; LONG RecursionCount; -;; HANDLE OwningThread; // from the thread's ClientId->UniqueThread -;; HANDLE LockSemaphore; -;; DWORD Reserved; -;;} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION; -;;#define DLL_PROCESS_ATTACH 1 -;;#define DLL_THREAD_ATTACH 2 -;;#define DLL_THREAD_DETACH 3 -;;#define DLL_PROCESS_DETACH 0 -;; -;;// -;;// Defines for the READ flags for Eventlogging -;;// -;;#define EVENTLOG_SEQUENTIAL_READ 0X0001 -;;#define EVENTLOG_SEEK_READ 0X0002 -;;#define EVENTLOG_FORWARDS_READ 0X0004 -;;#define EVENTLOG_BACKWARDS_READ 0X0008 -;; -;;// -;;// The types of events that can be logged. -;;// -;;#define EVENTLOG_SUCCESS 0X0000 -;;#define EVENTLOG_ERROR_TYPE 0x0001 -;;#define EVENTLOG_WARNING_TYPE 0x0002 -;;#define EVENTLOG_INFORMATION_TYPE 0x0004 -;;#define EVENTLOG_AUDIT_SUCCESS 0x0008 -;;#define EVENTLOG_AUDIT_FAILURE 0x0010 -;; -;;// -;;// Defines for the WRITE flags used by Auditing for paired events -;;// These are not implemented in Product 1 -;;// -;; -;;#define EVENTLOG_START_PAIRED_EVENT 0x0001 -;;#define EVENTLOG_END_PAIRED_EVENT 0x0002 -;;#define EVENTLOG_END_ALL_PAIRED_EVENTS 0x0004 -;;#define EVENTLOG_PAIRED_EVENT_ACTIVE 0x0008 -;;#define EVENTLOG_PAIRED_EVENT_INACTIVE 0x0010 -;; -;;// -;;// Structure that defines the header of the Eventlog record. This is the -;;// fixed-sized portion before all the variable-length strings, binary -;;// data and pad bytes. -;;// -;;// TimeGenerated is the time it was generated at the client. -;;// TimeWritten is the time it was put into the log at the server end. -;;// -;; -;;typedef struct _EVENTLOGRECORD { -;; DWORD Length; // Length of full record -;; DWORD Reserved; // Used by the service -;; DWORD RecordNumber; // Absolute record number -;; DWORD TimeGenerated; // Seconds since 1-1-1970 -;; DWORD TimeWritten; // Seconds since 1-1-1970 -;; DWORD EventID; -;; WORD EventType; -;; WORD NumStrings; -;; WORD EventCategory; -;; WORD ReservedFlags; // For use with paired events (auditing) -;; DWORD ClosingRecordNumber; // For use with paired events (auditing) -;; DWORD StringOffset; // Offset from beginning of record -;; DWORD UserSidLength; -;; DWORD UserSidOffset; -;; DWORD DataLength; -;; DWORD DataOffset; // Offset from beginning of record -;; // -;; // Then follow: -;; // -;; // WCHAR SourceName[] -;; // WCHAR Computername[] -;; // SID UserSid -;; // WCHAR Strings[] -;; // BYTE Data[] -;; // CHAR Pad[] -;; // DWORD Length; -;; // -;;} EVENTLOGRECORD, *PEVENTLOGRECORD; -;; -;;#define DBG_CONTINUE ((DWORD )0x00010002L) -;;#define DBG_TERMINATE_THREAD ((DWORD )0x40010003L) -;;#define DBG_TERMINATE_PROCESS ((DWORD )0x40010004L) -;;#define DBG_CONTROL_C ((DWORD )0x40010005L) -;;#define DBG_CONTROL_BREAK ((DWORD )0x40010008L) -;;#define DBG_EXCEPTION_NOT_HANDLED ((DWORD )0x80010001L) -;;// -;; -;;// begin_ntddk begin_nthal -;;// -;;// Registry Specific Access Rights. -;;// -;; -;;#define KEY_QUERY_VALUE (0x0001) -;;#define KEY_SET_VALUE (0x0002) -;;#define KEY_CREATE_SUB_KEY (0x0004) -;;#define KEY_ENUMERATE_SUB_KEYS (0x0008) -;;#define KEY_NOTIFY (0x0010) -;;#define KEY_CREATE_LINK (0x0020) -;; -;;#define KEY_READ ((STANDARD_RIGHTS_READ |\ -;; KEY_QUERY_VALUE |\ -;; KEY_ENUMERATE_SUB_KEYS |\ -;; KEY_NOTIFY) \ -;; & \ -;; (~SYNCHRONIZE)) -;; -;; -;;#define KEY_WRITE ((STANDARD_RIGHTS_WRITE |\ -;; KEY_SET_VALUE |\ -;; KEY_CREATE_SUB_KEY) \ -;; & \ -;; (~SYNCHRONIZE)) -;; -;;#define KEY_EXECUTE ((KEY_READ) \ -;; & \ -;; (~SYNCHRONIZE)) -;; -;;#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL |\ -;; KEY_QUERY_VALUE |\ -;; KEY_SET_VALUE |\ -;; KEY_CREATE_SUB_KEY |\ -;; KEY_ENUMERATE_SUB_KEYS |\ -;; KEY_NOTIFY |\ -;; KEY_CREATE_LINK) \ -;; & \ -;; (~SYNCHRONIZE)) -;; -;;// -;;// Open/Create Options -;;// -;; -;;#define REG_OPTION_RESERVED (0x00000000L) // Parameter is reserved -;; -;;#define REG_OPTION_NON_VOLATILE (0x00000000L) // Key is preserved -;; // when system is rebooted -;; -;;#define REG_OPTION_VOLATILE (0x00000001L) // Key is not preserved -;; // when system is rebooted -;; -;;#define REG_OPTION_CREATE_LINK (0x00000002L) // Created key is a -;; // symbolic link -;; -;;#define REG_OPTION_BACKUP_RESTORE (0x00000004L) // open for backup or restore -;; // special access rules -;; // privilege required -;; -;;#define REG_LEGAL_OPTION \ -;; (REG_OPTION_RESERVED |\ -;; REG_OPTION_NON_VOLATILE |\ -;; REG_OPTION_VOLATILE |\ -;; REG_OPTION_CREATE_LINK |\ -;; REG_OPTION_BACKUP_RESTORE) -;; -;;// -;;// Key creation/open disposition -;;// -;; -;;#define REG_CREATED_NEW_KEY (0x00000001L) // New Registry Key created -;;#define REG_OPENED_EXISTING_KEY (0x00000002L) // Existing Key opened -;; -;;// -;;// Key restore flags -;;// -;; -;;#define REG_WHOLE_HIVE_VOLATILE (0x00000001L) // Restore whole hive volatile -;;#define REG_REFRESH_HIVE (0x00000002L) // Unwind changes to last flush -;; -;;// end_ntddk end_nthal -;; -;;// -;;// Notify filter values -;;// -;;#define REG_NOTIFY_CHANGE_NAME (0x00000001L) // Create or delete (child) -;;#define REG_NOTIFY_CHANGE_ATTRIBUTES (0x00000002L) -;;#define REG_NOTIFY_CHANGE_LAST_SET (0x00000004L) // time stamp -;;#define REG_NOTIFY_CHANGE_SECURITY (0x00000008L) -;; -;;#define REG_LEGAL_CHANGE_FILTER \ -;; (REG_NOTIFY_CHANGE_NAME |\ -;; REG_NOTIFY_CHANGE_ATTRIBUTES |\ -;; REG_NOTIFY_CHANGE_LAST_SET |\ -;; REG_NOTIFY_CHANGE_SECURITY) -;; -;;// -;;// -;;// Predefined Value Types. -;;// -;; -;;#define REG_NONE ( 0 ) // No value type -;;#define REG_SZ ( 1 ) // Unicode nul terminated string -;;#define REG_EXPAND_SZ ( 2 ) // Unicode nul terminated string -;; // (with environment variable references) -;;#define REG_BINARY ( 3 ) // Free form binary -;;#define REG_DWORD ( 4 ) // 32-bit number -;;#define REG_DWORD_LITTLE_ENDIAN ( 4 ) // 32-bit number (same as REG_DWORD) -;;#define REG_DWORD_BIG_ENDIAN ( 5 ) // 32-bit number -;;#define REG_LINK ( 6 ) // Symbolic Link (unicode) -;;#define REG_MULTI_SZ ( 7 ) // Multiple Unicode strings -;;#define REG_RESOURCE_LIST ( 8 ) // Resource list in the resource map -;;#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) // Resource list in the hardware description -;; -;;// end_ntddk end_nthal -;; -;;// begin_ntddk begin_nthal -;;// -;;// Service Types (Bit Mask) -;;// -;;#define SERVICE_KERNEL_DRIVER 0x00000001 -;;#define SERVICE_FILE_SYSTEM_DRIVER 0x00000002 -;;#define SERVICE_ADAPTER 0x00000004 -;;#define SERVICE_RECOGNIZER_DRIVER 0x00000008 -;; -;;#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER | \ -;; SERVICE_FILE_SYSTEM_DRIVER | \ -;; SERVICE_RECOGNIZER_DRIVER) -;; -;;#define SERVICE_WIN32_OWN_PROCESS 0x00000010 -;;#define SERVICE_WIN32_SHARE_PROCESS 0x00000020 -;;#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | \ -;; SERVICE_WIN32_SHARE_PROCESS) -;; -;;#define SERVICE_TYPE_ALL (SERVICE_WIN32 | \ -;; SERVICE_ADAPTER | \ -;; SERVICE_DRIVER) -;; -;;// -;;// Start Type -;;// -;; -;;#define SERVICE_BOOT_START 0x00000000 -;;#define SERVICE_SYSTEM_START 0x00000001 -;;#define SERVICE_AUTO_START 0x00000002 -;;#define SERVICE_DEMAND_START 0x00000003 -;;#define SERVICE_DISABLED 0x00000004 -;; -;;// -;;// Error control type -;;// -;;#define SERVICE_ERROR_IGNORE 0x00000000 -;;#define SERVICE_ERROR_NORMAL 0x00000001 -;;#define SERVICE_ERROR_SEVERE 0x00000002 -;;#define SERVICE_ERROR_CRITICAL 0x00000003 -;; -;;// -;;// -;;// Define the registry driver node enumerations -;;// -;; -;;typedef enum _CM_SERVICE_NODE_TYPE { -;; DriverType = SERVICE_KERNEL_DRIVER, -;; FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, -;; Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, -;; Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, -;; AdapterType = SERVICE_ADAPTER, -;; RecognizerType = SERVICE_RECOGNIZER_DRIVER -;;} SERVICE_NODE_TYPE; -;; -;;typedef enum _CM_SERVICE_LOAD_TYPE { -;; BootLoad = SERVICE_BOOT_START, -;; SystemLoad = SERVICE_SYSTEM_START, -;; AutoLoad = SERVICE_AUTO_START, -;; DemandLoad = SERVICE_DEMAND_START, -;; DisableLoad = SERVICE_DISABLED -;;} SERVICE_LOAD_TYPE; -;; -;;typedef enum _CM_ERROR_CONTROL_TYPE { -;; IgnoreError = SERVICE_ERROR_IGNORE, -;; NormalError = SERVICE_ERROR_NORMAL, -;; SevereError = SERVICE_ERROR_SEVERE, -;; CriticalError = SERVICE_ERROR_CRITICAL -;;} SERVICE_ERROR_TYPE; -;; -;; -;;// -;;// IOCTL_TAPE_ERASE definitions -;;// -;; -;;#define TAPE_ERASE_SHORT 0L -;;#define TAPE_ERASE_LONG 1L -;; -;;typedef struct _TAPE_ERASE { -;; DWORD Type; -;; BOOLEAN Immediate; -;;} TAPE_ERASE, *PTAPE_ERASE; -;; -;;// -;;// IOCTL_TAPE_PREPARE definitions -;;// -;; -;;#define TAPE_LOAD 0L -;;#define TAPE_UNLOAD 1L -;;#define TAPE_TENSION 2L -;;#define TAPE_LOCK 3L -;;#define TAPE_UNLOCK 4L -;;#define TAPE_FORMAT 5L -;; -;;typedef struct _TAPE_PREPARE { -;; DWORD Operation; -;; BOOLEAN Immediate; -;;} TAPE_PREPARE, *PTAPE_PREPARE; -;; -;;// -;;// IOCTL_TAPE_WRITE_MARKS definitions -;;// -;; -;;#define TAPE_SETMARKS 0L -;;#define TAPE_FILEMARKS 1L -;;#define TAPE_SHORT_FILEMARKS 2L -;;#define TAPE_LONG_FILEMARKS 3L -;; -;;typedef struct _TAPE_WRITE_MARKS { -;; DWORD Type; -;; DWORD Count; -;; BOOLEAN Immediate; -;;} TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS; -;; -;;// -;;// IOCTL_TAPE_GET_POSITION definitions -;;// -;; -;;#define TAPE_ABSOLUTE_POSITION 0L -;;#define TAPE_LOGICAL_POSITION 1L -;;#define TAPE_PSEUDO_LOGICAL_POSITION 2L -;; -;;typedef struct _TAPE_GET_POSITION { -;; DWORD Type; -;; DWORD Partition; -;; LARGE_INTEGER Offset; -;;} TAPE_GET_POSITION, *PTAPE_GET_POSITION; -;; -;;// -;;// IOCTL_TAPE_SET_POSITION definitions -;;// -;; -;;#define TAPE_REWIND 0L -;;#define TAPE_ABSOLUTE_BLOCK 1L -;;#define TAPE_LOGICAL_BLOCK 2L -;;#define TAPE_PSEUDO_LOGICAL_BLOCK 3L -;;#define TAPE_SPACE_END_OF_DATA 4L -;;#define TAPE_SPACE_RELATIVE_BLOCKS 5L -;;#define TAPE_SPACE_FILEMARKS 6L -;;#define TAPE_SPACE_SEQUENTIAL_FMKS 7L -;;#define TAPE_SPACE_SETMARKS 8L -;;#define TAPE_SPACE_SEQUENTIAL_SMKS 9L -;; -;;typedef struct _TAPE_SET_POSITION { -;; DWORD Method; -;; DWORD Partition; -;; LARGE_INTEGER Offset; -;; BOOLEAN Immediate; -;;} TAPE_SET_POSITION, *PTAPE_SET_POSITION; -;; -;;// -;;// IOCTL_TAPE_GET_DRIVE_PARAMS definitions -;;// -;; -;;// -;;// Definitions for FeaturesLow parameter -;;// -;; -;;#define TAPE_DRIVE_FIXED 0x00000001 -;;#define TAPE_DRIVE_SELECT 0x00000002 -;;#define TAPE_DRIVE_INITIATOR 0x00000004 -;; -;;#define TAPE_DRIVE_ERASE_SHORT 0x00000010 -;;#define TAPE_DRIVE_ERASE_LONG 0x00000020 -;;#define TAPE_DRIVE_ERASE_BOP_ONLY 0x00000040 -;;#define TAPE_DRIVE_ERASE_IMMEDIATE 0x00000080 -;; -;;#define TAPE_DRIVE_TAPE_CAPACITY 0x00000100 -;;#define TAPE_DRIVE_TAPE_REMAINING 0x00000200 -;;#define TAPE_DRIVE_FIXED_BLOCK 0x00000400 -;;#define TAPE_DRIVE_VARIABLE_BLOCK 0x00000800 -;; -;;#define TAPE_DRIVE_WRITE_PROTECT 0x00001000 -;;#define TAPE_DRIVE_EOT_WZ_SIZE 0x00002000 -;; -;;#define TAPE_DRIVE_ECC 0x00010000 -;;#define TAPE_DRIVE_COMPRESSION 0x00020000 -;;#define TAPE_DRIVE_PADDING 0x00040000 -;;#define TAPE_DRIVE_REPORT_SMKS 0x00080000 -;; -;;#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x00100000 -;;#define TAPE_DRIVE_GET_LOGICAL_BLK 0x00200000 -;;#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x00400000 -;; -;;#define TAPE_DRIVE_RESERVED_BIT 0x80000000 //don't use this bit! -;;// //can't be a low features bit! -;;// //reserved; high features only -;; -;;// -;;// Definitions for FeaturesHigh parameter -;;// -;; -;;#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001 -;;#define TAPE_DRIVE_TENSION 0x80000002 -;;#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004 -;;#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008 -;; -;;#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010 -;;#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020 -;;#define TAPE_DRIVE_TENSION_IMMED 0x80000040 -;;#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080 -;; -;;#define TAPE_DRIVE_SET_ECC 0x80000100 -;;#define TAPE_DRIVE_SET_COMPRESSION 0x80000200 -;;#define TAPE_DRIVE_SET_PADDING 0x80000400 -;;#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800 -;; -;;#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000 -;;#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000 -;;#define TAPE_DRIVE_LOGICAL_BLK 0x80004000 -;;#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000 -;; -;;#define TAPE_DRIVE_END_OF_DATA 0x80010000 -;;#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000 -;;#define TAPE_DRIVE_FILEMARKS 0x80040000 -;;#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000 -;; -;;#define TAPE_DRIVE_SETMARKS 0x80100000 -;;#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000 -;;#define TAPE_DRIVE_REVERSE_POSITION 0x80400000 -;;#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000 -;; -;;#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000 -;;#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000 -;;#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000 -;;#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000 -;; -;;#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000 -;;#define TAPE_DRIVE_FORMAT 0xA0000000 -;;#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000 -;;#define TAPE_DRIVE_HIGH_FEATURES 0x80000000 //mask for high features flag -;; -;;typedef struct _TAPE_GET_DRIVE_PARAMETERS { -;; BOOLEAN ECC; -;; BOOLEAN Compression; -;; BOOLEAN DataPadding; -;; BOOLEAN ReportSetmarks; -;; DWORD DefaultBlockSize; -;; DWORD MaximumBlockSize; -;; DWORD MinimumBlockSize; -;; DWORD MaximumPartitionCount; -;; DWORD FeaturesLow; -;; DWORD FeaturesHigh; -;; DWORD EOTWarningZoneSize; -;;} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS; -;; -;;// -;;// IOCTL_TAPE_SET_DRIVE_PARAMETERS definitions -;;// -;; -;;typedef struct _TAPE_SET_DRIVE_PARAMETERS { -;; BOOLEAN ECC; -;; BOOLEAN Compression; -;; BOOLEAN DataPadding; -;; BOOLEAN ReportSetmarks; -;; DWORD EOTWarningZoneSize; -;;} TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS; -;; -;;// -;;// IOCTL_TAPE_GET_MEDIA_PARAMETERS definitions -;;// -;; -;;typedef struct _TAPE_GET_MEDIA_PARAMETERS { -;; LARGE_INTEGER Capacity; -;; LARGE_INTEGER Remaining; -;; DWORD BlockSize; -;; DWORD PartitionCount; -;; BOOLEAN WriteProtected; -;;} TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS; -;; -;;// -;;// IOCTL_TAPE_SET_MEDIA_PARAMETERS definitions -;;// -;; -;;typedef struct _TAPE_SET_MEDIA_PARAMETERS { -;; DWORD BlockSize; -;;} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS; -;; -;;// -;;// IOCTL_TAPE_CREATE_PARTITION definitions -;;// -;; -;;#define TAPE_FIXED_PARTITIONS 0L -;;#define TAPE_SELECT_PARTITIONS 1L -;;#define TAPE_INITIATOR_PARTITIONS 2L -;; -;;typedef struct _TAPE_CREATE_PARTITION { -;; DWORD Method; -;; DWORD Count; -;; DWORD Size; -;;} TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION; -;; -;; -;;#ifdef __cplusplus -;;} -;;#endif -;; -;;#endif /* _WINNT_ */ -;; +#| -*-Scheme-*- + +$Id: winnt.scm,v 1.2 1999/01/09 03:37:25 cph Exp $ + +Copyright (c) 1993, 1999 Massachusetts Institute of Technology + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +|# + +(define-integrable APPLICATION_ERROR_MASK #x20000000) \ No newline at end of file diff --git a/v7/src/win32/winuser.scm b/v7/src/win32/winuser.scm index 4092499b7..569f7bdfb 100644 --- a/v7/src/win32/winuser.scm +++ b/v7/src/win32/winuser.scm @@ -1,85 +1,25 @@ -;;/*++ BUILD Version: 0003 // Increment this if a change has global effects -;; -;;Copyright (c) 1985-91, Microsoft Corporation -;; -;;Module Name: -;; -;; winuser.h -;; -;;Abstract: -;; -;; Procedure declarations, constant definitions and macros for the User -;; component. -;; -;;--*/ -;; -;;#ifndef _WINUSER_ -;;#define _WINUSER_ -;; -;;#ifdef __cplusplus -;;extern "C" { -;;#endif /* __cplusplus */ -;; -;;#ifndef WINVER -;;#define WINVER 0x0314 // version 3.2 -;;#endif /* !WINVER */ -;; -;;#include "stdarg.h" -;; -;;#ifndef NOUSER -;; -;;typedef HANDLE HDWP; -;;typedef VOID MENUTEMPLATEA; -;;typedef VOID MENUTEMPLATEW; -;;#ifdef UNICODE -;;typedef MENUTEMPLATEW MENUTEMPLATE; -;;#else -;;typedef MENUTEMPLATEA MENUTEMPLATE; -;;#endif // UNICODE -;;typedef PVOID LPMENUTEMPLATEA; -;;typedef PVOID LPMENUTEMPLATEW; -;;#ifdef UNICODE -;;typedef LPMENUTEMPLATEW LPMENUTEMPLATE; -;;#else -;;typedef LPMENUTEMPLATEA LPMENUTEMPLATE; -;;#endif // UNICODE -;; -;;typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM); -;;#ifdef STRICT -;;typedef BOOL (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM); -;;typedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT, DWORD); -;;typedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int); -;;typedef BOOL (CALLBACK* PROPENUMPROC)(HWND, LPCSTR, HANDLE); -;;typedef BOOL (CALLBACK* PROPENUMPROCEX)(HWND, LPTSTR, HANDLE, DWORD); -;;typedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM); -;;typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam); -;;typedef int (CALLBACK* EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent, int cch, int code); -;;typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, DWORD, LRESULT); -;;#else /* !STRICT */ -;;typedef FARPROC DLGPROC; -;;typedef FARPROC TIMERPROC; -;;typedef FARPROC GRAYSTRINGPROC; -;;typedef FARPROC PROPENUMPROC; -;;typedef FARPROC PROPENUMPROCEX; -;;typedef FARPROC WNDENUMPROC; -;;typedef FARPROC HOOKPROC; -;;typedef FARPROC EDITWORDBREAKPROC; -;;typedef FARPROC SENDASYNCPROC; -;;#endif /* !STRICT */ -;; -;;#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) -;;#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) -;;#ifdef UNICODE -;;#define MAKEINTRESOURCE MAKEINTRESOURCEW -;;#else -;;#define MAKEINTRESOURCE MAKEINTRESOURCEA -;;#endif // !UNICODE -;; -;;#ifndef NORESOURCE -;; -;;/* -;; * Predefined Resource Types -;; */ +#| -*-Scheme-*- + +$Id: winuser.scm,v 1.2 1999/01/09 03:37:06 cph Exp $ + +Copyright (c) 1993, 1999 Massachusetts Institute of Technology + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +|# + +;;Predefined Resource Types (define-integrable RT_CURSOR 1) (define-integrable RT_BITMAP 2) (define-integrable RT_ICON 3) @@ -97,37 +37,14 @@ (define-integrable RT_GROUP_ICON (+ RT_ICON DIFFERENCE)) (define-integrable RT_VERSION 16) (define-integrable RT_DLGINCLUDE 17) -;; -;;#endif /* !NORESOURCE */ -;; -;;int WINAPI wvsprintfA(LPSTR, LPCSTR, CONST VOID *arglist); -;;int WINAPI wvsprintfW(LPWSTR, LPCWSTR, CONST VOID *arglist); -;;#ifdef UNICODE -;;#define wvsprintf wvsprintfW -;;#else -;;#define wvsprintf wvsprintfA -;;#endif // !UNICODE -;;int WINAPI wsprintfA(LPSTR, LPCSTR, ...); -;;int WINAPI wsprintfW(LPWSTR, LPCWSTR, ...); -;;#ifdef UNICODE -;;#define wsprintf wsprintfW -;;#else -;;#define wsprintf wsprintfA -;;#endif // !UNICODE -;; -;;#ifndef NOSCROLL -;; -;;/* -;; * Scroll Bar Constants -;; */ + +;;Scroll Bar Constants (define-integrable SB_HORZ 0) (define-integrable SB_VERT 1) (define-integrable SB_CTL 2) (define-integrable SB_BOTH 3) -;;/* -;; * Scroll Bar Commands -;; */ +;;Scroll Bar Commands (define-integrable SB_LINEUP 0) (define-integrable SB_LINELEFT 0) (define-integrable SB_LINEDOWN 1) @@ -144,13 +61,7 @@ (define-integrable SB_RIGHT 7) (define-integrable SB_ENDSCROLL 8) -;;#endif /* !NOSCROLL */ -;; -;;#ifndef NOSHOWWINDOW -;; -;;/* -;; * ShowWindow() Commands -;; */ +;;ShowWindow Commands (define-integrable SW_HIDE 0) (define-integrable SW_SHOWNORMAL 1) (define-integrable SW_NORMAL 1) @@ -166,44 +77,32 @@ (define-integrable SW_SHOWDEFAULT 10) (define-integrable SW_MAX 10) -;;/* -;; * Old ShowWindow() Commands -;; */ +;;Old ShowWindow Commands (define-integrable HIDE_WINDOW 0) (define-integrable SHOW_OPENWINDOW 1) (define-integrable SHOW_ICONWINDOW 2) (define-integrable SHOW_FULLSCREEN 3) (define-integrable SHOW_OPENNOACTIVATE 4) -;;/* -;; * Identifiers for the WM_SHOWWINDOW message -;; */ +;;Identifiers for the WM_SHOWWINDOW message (define-integrable SW_PARENTCLOSING 1) (define-integrable SW_OTHERZOOM 2) (define-integrable SW_PARENTOPENING 3) (define-integrable SW_OTHERUNZOOM 4) -;;#endif /* !NOSHOWWINDOW */ -;; -;;/* -;; * WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags -;; */ +;;WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags (define-integrable KF_EXTENDED #x0100) (define-integrable KF_DLGMODE #x0800) (define-integrable KF_MENUMODE #x1000) (define-integrable KF_ALTDOWN #x2000) (define-integrable KF_REPEAT #x4000) (define-integrable KF_UP #x8000) -;; -;;#ifndef NOVIRTUALKEYCODES -;; -;;/* -;; * Virtual Keys, Standard Set -;; */ + +;;Virtual Keys, Standard Set (define-integrable VK_LBUTTON #x01) (define-integrable VK_RBUTTON #x02) (define-integrable VK_CANCEL #x03) -(define-integrable VK_MBUTTON #x04) ; /* NOT contiguous with L & RBUTTON */ +(define-integrable VK_MBUTTON #x04) ;NOT contiguous with L & RBUTTON (define-integrable VK_BACK #x08) (define-integrable VK_TAB #x09) @@ -236,8 +135,8 @@ (define-integrable VK_DELETE #x2E) (define-integrable VK_HELP #x2F) -;;/* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) */ -;;/* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) */ +;;VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) +;;VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) (define-integrable VK_NUMPAD0 #x60) (define-integrable VK_NUMPAD1 #x61) @@ -283,11 +182,9 @@ (define-integrable VK_NUMLOCK #x90) (define-integrable VK_SCROLL #x91) -;;/* -;; * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. -;; * Used only as parameters to GetAsyncKeyState() and GetKeyState(). -;; * No other API or message will distinguish left and right keys in this way. -;; */ +;; VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. +;; Used only as parameters to GetAsyncKeyState and GetKeyState. +;; No other API or message will distinguish left and right keys in this way. (define-integrable VK_LSHIFT #xA0) (define-integrable VK_RSHIFT #xA1) (define-integrable VK_LCONTROL #xA2) @@ -305,13 +202,7 @@ (define-integrable VK_PA1 #xFD) (define-integrable VK_OEM_CLEAR #xFE) -;;#endif /* !NOVIRTUALKEYCODES */ -;; -;;#ifndef NOWH -;; -;;/* -;; * SetWindowsHook() codes -;; */ +;; SetWindowsHook codes (define-integrable WH_MIN -1) (define-integrable WH_MSGFILTER -1) (define-integrable WH_JOURNALRECORD 0) @@ -328,9 +219,7 @@ (define-integrable WH_FOREGROUNDIDLE 11) (define-integrable WH_MAX 11) -;;/* ;; * Hook Codes -;; */ (define-integrable HC_ACTION 0) (define-integrable HC_GETNEXT 1) (define-integrable HC_SKIP 2) @@ -339,9 +228,7 @@ (define-integrable HC_SYSMODALON 4) (define-integrable HC_SYSMODALOFF 5) -;;/* ;; * CBT Hook Codes -;; */ (define-integrable HCBT_MOVESIZE 0) (define-integrable HCBT_MINMAX 1) (define-integrable HCBT_QS 2) @@ -353,42 +240,7 @@ (define-integrable HCBT_SYSCOMMAND 8) (define-integrable HCBT_SETFOCUS 9) -;;/* -;; * HCBT_CREATEWND parameters pointed to by lParam -;; */ -;;typedef struct tagCBT_CREATEWNDA -;;{ -;; struct tagCREATESTRUCTA *lpcs; -;; HWND hwndInsertAfter; -;;} CBT_CREATEWNDA, *LPCBT_CREATEWNDA; -;;/* -;; * HCBT_CREATEWND parameters pointed to by lParam -;; */ -;;typedef struct tagCBT_CREATEWNDW -;;{ -;; struct tagCREATESTRUCTW *lpcs; -;; HWND hwndInsertAfter; -;;} CBT_CREATEWNDW, *LPCBT_CREATEWNDW; -;;#ifdef UNICODE -;;typedef CBT_CREATEWNDW CBT_CREATEWND; -;;typedef LPCBT_CREATEWNDW LPCBT_CREATEWND; -;;#else -;;typedef CBT_CREATEWNDA CBT_CREATEWND; -;;typedef LPCBT_CREATEWNDA LPCBT_CREATEWND; -;;#endif // UNICODE -;; -;;/* -;; * HCBT_ACTIVATE structure pointed to by lParam -;; */ -;;typedef struct tagCBTACTIVATESTRUCT -;;{ -;; BOOL fMouse; -;; HWND hWndActive; -;;} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT; -;; -;;/* ;; * WH_MSGFILTER Filter Proc Codes -;; */ (define-integrable MSGF_DIALOGBOX 0) (define-integrable MSGF_MESSAGEBOX 1) (define-integrable MSGF_MENU 2) @@ -400,16 +252,12 @@ (define-integrable MSGF_MAX 8) (define-integrable MSGF_USER 4096) -;;/* ;; * Shell support -;; */ (define-integrable HSHELL_WINDOWCREATED 1) (define-integrable HSHELL_WINDOWDESTROYED 2) (define-integrable HSHELL_ACTIVATESHELLWINDOW 3) -;;/* ;; * Window Manager Hook Codes -;; */ (define-integrable WC_INIT 1) (define-integrable WC_SWP 2) (define-integrable WC_DEFWINDOWPROC 3) @@ -418,52 +266,7 @@ (define-integrable WC_SIZE 6) (define-integrable WC_DRAWCAPTION 7) -;;/* -;; * Message Structure used in Journaling -;; */ -;;typedef struct tagEVENTMSG { -;; UINT message; -;; UINT paramL; -;; UINT paramH; -;; DWORD time; -;; HWND hwnd; -;;} EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG; -;; -;;typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG; -;; -;;/* -;; * Message structure used by WH_CALLWNDPROC -;; */ -;;typedef struct tagCWPSTRUCT { -;; LPARAM lParam; -;; WPARAM wParam; -;; DWORD message; -;; HWND hwnd; -;;} CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT; -;; -;;/* -;; * Structure used by WH_DEBUG -;; */ -;;typedef struct tagDEBUGHOOKINFO -;;{ -;; DWORD idThread; -;; LPARAM reserved; -;; LPARAM lParam; -;; WPARAM wParam; -;; int code; -;;} DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO; -;; -;;typedef struct tagMOUSEHOOKSTRUCT { -;; POINT pt; -;; HWND hwnd; -;; UINT wHitTestCode; -;; DWORD dwExtraInfo; -;;} MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT; -;;#endif /* !NOWH */ -;; -;;/* ;; * Keyboard Layout API -;; */ (define-integrable HKL_PREV 0) (define-integrable HKL_NEXT 1) @@ -472,32 +275,10 @@ (define-integrable KLF_UNLOADPREVIOUS #x00000004) (define-integrable KLF_REORDER #x00000008) -;;/* ;; * Size of KeyboardLayoutName (number of characters), including nul terminator -;; */ (define-integrable KL_NAMELENGTH 9) -;;HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID, UINT Flags); -;;HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID, UINT Flags); -;;#ifdef UNICODE -;;#define LoadKeyboardLayout LoadKeyboardLayoutW -;;#else -;;#define LoadKeyboardLayout LoadKeyboardLayoutA -;;#endif // !UNICODE -;;BOOL WINAPI ActivateKeyboardLayout(HKL hkl, UINT Flags); -;;BOOL WINAPI UnloadKeyboardLayout(HKL hkl); -;;BOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID); -;;BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID); -;;#ifdef UNICODE -;;#define GetKeyboardLayoutName GetKeyboardLayoutNameW -;;#else -;;#define GetKeyboardLayoutName GetKeyboardLayoutNameA -;;#endif // !UNICODE -;; -;;#ifndef NODESKTOP -;;/* ;; * Desktop-specific access flags -;; */ (define-integrable DESKTOP_ENUMWINDOWS #x0001) (define-integrable DESKTOP_CREATEWINDOW #x0002) (define-integrable DESKTOP_CREATEMENU #x0004) @@ -506,17 +287,7 @@ (define-integrable DESKTOP_JOURNALPLAYBACK #x0020) (define-integrable DESKTOP_ENUMERATE #x0040) -;;HDESK -;;WINAPI -;;GetThreadDesktop( -;; DWORD); -;; -;;#endif /* !NODESKTOP */ -;; -;;#ifndef NOWINDOWSTATION -;;/* ;; * Windowstation-specific access flags -;; */ (define-integrable WINSTA_ENUMDESKTOPS #x0001) (define-integrable WINSTA_READATTRIBUTES #x0002) (define-integrable WINSTA_ACCESSCLIPBOARD #x0004) @@ -527,107 +298,13 @@ (define-integrable WINSTA_ENUMERATE #x0100) (define-integrable WINSTA_READSCREEN #x0200) -;;HWINSTA -;;WINAPI -;;GetProcessWindowStation( -;; VOID); -;;#endif /* !NOWINDOWSTATION */ -;; -;;#ifndef NOSECURITY -;;/* ;; * window-specific access flags -;; */ (define-integrable WIN_ACCESSWINDOW #x0001) -;;/* ;; * menu-specific access flags -;; */ (define-integrable MENU_ACCESSMENU #x0001) -;;BOOL -;;WINAPI -;;SetUserObjectSecurity( -;; HANDLE hObj, -;; PSECURITY_INFORMATION pSIRequested, -;; PSECURITY_DESCRIPTOR pSID); -;; -;;BOOL -;;WINAPI -;;GetUserObjectSecurity( -;; HANDLE hObj, -;; PSECURITY_INFORMATION pSIRequested, -;; PSECURITY_DESCRIPTOR pSID, -;; DWORD nLength, -;; LPDWORD lpnLengthNeeded); -;; -;;#endif /* !NOSECURITY */ -;; -;;typedef struct tagWNDCLASSA { -;; UINT style; -;; WNDPROC lpfnWndProc; -;; int cbClsExtra; -;; int cbWndExtra; -;; HINSTANCE hInstance; -;; HICON hIcon; -;; HCURSOR hCursor; -;; HBRUSH hbrBackground; -;; LPCSTR lpszMenuName; -;; LPCSTR lpszClassName; -;;} WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA; -;;typedef struct tagWNDCLASSW { -;; UINT style; -;; WNDPROC lpfnWndProc; -;; int cbClsExtra; -;; int cbWndExtra; -;; HINSTANCE hInstance; -;; HICON hIcon; -;; HCURSOR hCursor; -;; HBRUSH hbrBackground; -;; LPCWSTR lpszMenuName; -;; LPCWSTR lpszClassName; -;;} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW; -;;#ifdef UNICODE -;;typedef WNDCLASSW WNDCLASS; -;;typedef PWNDCLASSW PWNDCLASS; -;;typedef NPWNDCLASSW NPWNDCLASS; -;;typedef LPWNDCLASSW LPWNDCLASS; -;;#else -;;typedef WNDCLASSA WNDCLASS; -;;typedef PWNDCLASSA PWNDCLASS; -;;typedef NPWNDCLASSA NPWNDCLASS; -;;typedef LPWNDCLASSA LPWNDCLASS; -;;#endif // UNICODE - - -;;#ifndef NOMSG -;; -;;/* -;; * Message structure -;; */ -;;typedef struct tagMSG { -;; HWND hwnd; -;; UINT message; -;; WPARAM wParam; -;; LPARAM lParam; -;; DWORD time; -;; POINT pt; -;;} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG; -;; -;;#define POINTSTOPOINT(pt,pts) {(pt).x = (SHORT)LOWORD(pts); \ -;; (pt).y = (SHORT)HIWORD(pts);} -;;#define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y))) -;;#define MAKEWPARAM(l, h) (WPARAM)MAKELONG(l, h) -;;#define MAKELPARAM(l, h) (LPARAM)MAKELONG(l, h) -;;#define MAKELRESULT(l, h) (LRESULT)MAKELONG(l, h) - - -;;#endif /* !NOMSG */ -;; -;;#ifndef NOWINOFFSETS -;; -;;/* -;; * Window field offsets for GetWindowLong() -;; */ +;; * Window field offsets for GetWindowLong (define-integrable GWL_WNDPROC -4) (define-integrable GWL_HINSTANCE -6) (define-integrable GWL_HWNDPARENT -8) @@ -636,9 +313,7 @@ (define-integrable GWL_USERDATA -21) (define-integrable GWL_ID -12) -;;/* -;; * Class field offsets for GetClassLong() -;; */ +;; * Class field offsets for GetClassLong (define-integrable GCL_MENUNAME -8) (define-integrable GCL_HBRBACKGROUND -10) (define-integrable GCL_HCURSOR -12) @@ -650,13 +325,7 @@ (define-integrable GCL_STYLE -26) -;;#endif /* !NOWINOFFSETS */ -;; -;;#ifndef NOWINMESSAGES -;; -;;/* ;; * Window Messages -;; */ (define-integrable WM_NULL #x0000) (define-integrable WM_CREATE #x0001) @@ -665,9 +334,7 @@ (define-integrable WM_SIZE #x0005) (define-integrable WM_ACTIVATE #x0006) -;;/* ;; * WM_ACTIVATE state values -;; */ (define-integrable WA_INACTIVE 0) (define-integrable WA_ACTIVE 1) (define-integrable WA_CLICKACTIVE 2) @@ -700,16 +367,7 @@ (define-integrable WM_QUEUESYNC #x0023) (define-integrable WM_GETMINMAXINFO #x0024) -;;/* ;; * STRUCT POINTED TO BY WM_GETMINMAXINFO LPARAM -;; */ -;;TYPEDEF STRUCT TAGMINMAXINFO { -;; POINT PTRESERVED; -;; POINT PTMAXSIZE; -;; POINT PTMAXPOSITION; -;; POINT PTMINTRACKSIZE; -;; POINT PTMAXTRACKSIZE; -;;} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO; (define-integrable WM_PAINTICON #x0026) (define-integrable WM_ICONERASEBKGND #x0027) @@ -735,9 +393,8 @@ (define-integrable WM_WINDOWPOSCHANGED #x0047) (define-integrable WM_POWER #x0048) -;;/* + ;; * WPARAM FOR WM_POWER WINDOW MESSAGE AND DRV_POWER DRIVER NOTIFICATION -;; */ (define-integrable PWR_OK 1) (define-integrable PWR_FAIL -1) (define-integrable PWR_SUSPENDREQUEST 1) @@ -746,14 +403,6 @@ (define-integrable WM_COPYDATA #x004A) (define-integrable WM_CANCELJOURNAL #x004B) -;;/* -;; * LPARAM OF WM_COPYDATA MESSAGE POINTS TO... -;; */ -;;TYPEDEF STRUCT TAGCOPYDATASTRUCT { -;; DWORD DWDATA; -;; DWORD CBDATA; -;; PVOID LPDATA; -;;} COPYDATASTRUCT, *PCOPYDATASTRUCT; (define-integrable WM_NCCREATE #x0081) (define-integrable WM_NCDESTROY #x0082) @@ -833,7 +482,6 @@ (define-integrable WM_DROPFILES #x0233) (define-integrable WM_MDIREFRESHMENU #x0234) - (define-integrable WM_CUT #x0300) (define-integrable WM_COPY #x0301) (define-integrable WM_PASTE #x0302) @@ -860,24 +508,17 @@ -;;/* ;; * NOTE: ALL MESSAGE NUMBERS BELOW 0X0400 ARE RESERVED. -;; * + ;; * PRIVATE WINDOW MESSAGES START HERE: -;; */ + (define-integrable WM_USER #x0400) -;;#IFNDEF NONCMESSAGES -;; -;;/* ;; * WM_SYNCTASK COMMANDS -;; */ (define-integrable ST_BEGINSWP 0) (define-integrable ST_ENDSWP 1) -;;/* ;; * WM_NCHITTEST AND MOUSEHOOKSTRUCT MOUSE POSITION CODES -;; */ (define-integrable HTERROR -2) (define-integrable HTTRANSPARENT -1) (define-integrable HTNOWHERE 0) @@ -905,79 +546,32 @@ (define-integrable HTSIZEFIRST 10) (define-integrable HTSIZELAST 17) -;;/* ;; * SENDMESSAGETIMEOUT VALUES -;; */ (define-integrable SMTO_NORMAL #x0000) (define-integrable SMTO_BLOCK #x0001) (define-integrable SMTO_ABORTIFHUNG #x0002) -;;#ENDIF /* !NONCMESSAGES */ -;; -;;/* ;; * WM_MOUSEACTIVATE RETURN CODES -;; */ (define-integrable MA_ACTIVATE 1) (define-integrable MA_ACTIVATEANDEAT 2) (define-integrable MA_NOACTIVATE 3) (define-integrable MA_NOACTIVATEANDEAT 4) -;;UINT -;;WINAPI -;;REGISTERWINDOWMESSAGEA( -;; LPCSTR LPSTRING); -;;UINT -;;WINAPI -;;REGISTERWINDOWMESSAGEW( -;; LPCWSTR LPSTRING); -;;#IFDEF UNICODE -;;#DEFINE REGISTERWINDOWMESSAGE REGISTERWINDOWMESSAGEW -;;#ELSE -;;#DEFINE REGISTERWINDOWMESSAGE REGISTERWINDOWMESSAGEA -;;#ENDIF // !UNICODE -;; -;;/* ;; * WM_SIZE MESSAGE WPARAM VALUES -;; */ (define-integrable SIZE_RESTORED 0) (define-integrable SIZE_MINIMIZED 1) (define-integrable SIZE_MAXIMIZED 2) (define-integrable SIZE_MAXSHOW 3) (define-integrable SIZE_MAXHIDE 4) -;;/* ;; * OBSOLETE CONSTANT NAMES -;; */ (define-integrable SIZENORMAL 0) (define-integrable SIZEICONIC 1) (define-integrable SIZEFULLSCREEN 2) (define-integrable SIZEZOOMSHOW 3) (define-integrable SIZEZOOMHIDE 4) -;;/* -;; * WM_WINDOWPOSCHANGING/CHANGED STRUCT POINTED TO BY LPARAM -;; */ -;;TYPEDEF STRUCT TAGWINDOWPOS { -;; HWND HWND; -;; HWND HWNDINSERTAFTER; -;; INT X; -;; INT Y; -;; INT CX; -;; INT CY; -;; UINT FLAGS; -;;} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS; -;; -;;/* -;; * WM_NCCALCSIZE PARAMETER STRUCTURE -;; */ -;;TYPEDEF STRUCT TAGNCCALCSIZE_PARAMS { -;; RECT RGRC[3]; -;; PWINDOWPOS LPPOS; -;;} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS; -;; -;;/* ;; * WM_NCCALCSIZE "WINDOW VALID RECT" RETURN VALUES -;; */ (define-integrable WVR_ALIGNTOP #x0010) (define-integrable WVR_ALIGNLEFT #x0020) (define-integrable WVR_ALIGNBOTTOM #x0040) @@ -988,27 +582,14 @@ WVR_VREDRAW)) (define-integrable WVR_VALIDRECTS #x0400) - -;;#IFNDEF NOKEYSTATES -;; -;;/* ;; * KEY STATE MASKS FOR MOUSE MESSAGES -;; */ (define-integrable MK_LBUTTON #x0001) (define-integrable MK_RBUTTON #x0002) (define-integrable MK_SHIFT #x0004) (define-integrable MK_CONTROL #x0008) (define-integrable MK_MBUTTON #x0010) -;; -;;#ENDIF /* !NOKEYSTATES */ -;; -;;#ENDIF /* !NOWINMESSAGES */ -;; -;;#IFNDEF NOWINSTYLES -;; -;;/* + ;; * WINDOW STYLES -;; */ (define-integrable WS_OVERLAPPED #x00000000) (define-integrable WS_POPUP #x80000000) (define-integrable WS_CHILD #x40000000) @@ -1036,9 +617,7 @@ (define-integrable WS_SIZEBOX WS_THICKFRAME) (define-integrable WS_TILEDWINDOW (+ WS_OVERLAPPED WS_CAPTION WS_SYSMENU WS_THICKFRAME WS_MINIMIZEBOX WS_MAXIMIZEBOX)) -;;/* ;; * COMMON WINDOW STYLES -;; */ (define-integrable WS_OVERLAPPEDWINDOW (+ WS_OVERLAPPED WS_CAPTION WS_SYSMENU @@ -1052,18 +631,14 @@ (define-integrable WS_CHILDWINDOW WS_CHILD) -;;/* ;; * EXTENDED WINDOW STYLES -;; */ (define-integrable WS_EX_DLGMODALFRAME #x00000001) (define-integrable WS_EX_NOPARENTNOTIFY #x00000004) (define-integrable WS_EX_TOPMOST #x00000008) (define-integrable WS_EX_ACCEPTFILES #x00000010) (define-integrable WS_EX_TRANSPARENT #x00000020) -;;/* ;; * CLASS STYLES -;; */ (define-integrable CS_VREDRAW #x0001) (define-integrable CS_HREDRAW #x0002) (define-integrable CS_KEYCVTWINDOW #x0004) @@ -1078,13 +653,7 @@ (define-integrable CS_BYTEALIGNWINDOW #X2000) (define-integrable CS_GLOBALCLASS #X4000) -;;#ENDIF /* !NOWINSTYLES */ -;; -;;#IFNDEF NOCLIPBOARD -;; -;;/* ;; * PREDEFINED CLIPBOARD FORMATS -;; */ (define-integrable CF_TEXT 1) (define-integrable CF_BITMAP 2) (define-integrable CF_METAFILEPICT 3) @@ -1106,1665 +675,90 @@ (define-integrable CF_DSPMETAFILEPICT #x0083) (define-integrable CF_DSPENHMETAFILE #x008E) -;;/* -;; * "PRIVATE" FORMATS DON'T GET GLOBALFREE()'D -;; */ +;; * "PRIVATE" FORMATS DON'T GET GLOBALFREE'D (define-integrable CF_PRIVATEFIRST #x0200) (define-integrable CF_PRIVATELAST #x02FF) -;;/* -;; * "GDIOBJ" FORMATS DO GET DELETEOBJECT()'D -;; */ +;; * "GDIOBJ" FORMATS DO GET DELETEOBJECT'D (define-integrable CF_GDIOBJFIRST #x0300) (define-integrable CF_GDIOBJLAST #x03FF) -;;#ENDIF /* !NOCLIPBOARD */ -;; -;;/* ;; * DEFINES FOR THE FVIRT FIELD OF THE ACCELERATOR TABLE STRUCTURE. -;; */ (define-integrable FVIRTKEY #t) (define-integrable FNOINVERT #x02) (define-integrable FSHIFT #x04) (define-integrable FCONTROL #x08) (define-integrable FALT #X10) -;;TYPEDEF STRUCT TAGACCEL { -;; BYTE FVIRT; /* ALSO CALLED THE FLAGS FIELD */ -;; WORD KEY; -;; WORD CMD; -;;} ACCEL, *LPACCEL; -;; -;;TYPEDEF STRUCT TAGPAINTSTRUCT { -;; HDC HDC; -;; BOOL FERASE; -;; RECT RCPAINT; -;; BOOL FRESTORE; -;; BOOL FINCUPDATE; -;; BYTE RGBRESERVED[32]; -;;} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT; -;; -;;TYPEDEF STRUCT TAGCREATESTRUCTA { -;; LPVOID LPCREATEPARAMS; -;; HINSTANCE HINSTANCE; -;; HMENU HMENU; -;; HWND HWNDPARENT; -;; INT CY; -;; INT CX; -;; INT Y; -;; INT X; -;; LONG STYLE; -;; LPCSTR LPSZNAME; -;; LPCSTR LPSZCLASS; -;; DWORD DWEXSTYLE; -;;} CREATESTRUCTA, *LPCREATESTRUCTA; -;;TYPEDEF STRUCT TAGCREATESTRUCTW { -;; LPVOID LPCREATEPARAMS; -;; HINSTANCE HINSTANCE; -;; HMENU HMENU; -;; HWND HWNDPARENT; -;; INT CY; -;; INT CX; -;; INT Y; -;; INT X; -;; LONG STYLE; -;; LPCWSTR LPSZNAME; -;; LPCWSTR LPSZCLASS; -;; DWORD DWEXSTYLE; -;;} CREATESTRUCTW, *LPCREATESTRUCTW; -;;#IFDEF UNICODE -;;TYPEDEF CREATESTRUCTW CREATESTRUCT; -;;TYPEDEF LPCREATESTRUCTW LPCREATESTRUCT; -;;#ELSE -;;TYPEDEF CREATESTRUCTA CREATESTRUCT; -;;TYPEDEF LPCREATESTRUCTA LPCREATESTRUCT; -;;#ENDIF // UNICODE - -;;TYPEDEF STRUCT TAGWINDOWPLACEMENT { -;; UINT LENGTH; -;; UINT FLAGS; -;; UINT SHOWCMD; -;; POINT PTMINPOSITION; -;; POINT PTMAXPOSITION; -;; RECT RCNORMALPOSITION; -;;} WINDOWPLACEMENT; -;;TYPEDEF WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT; - (define-integrable WPF_SETMINPOSITION #x0001) (define-integrable WPF_RESTORETOMAXIMIZED #x0002) -;;/* ;; * OWNER DRAW CONTROL TYPES -;; */ (define-integrable ODT_MENU 1) (define-integrable ODT_LISTBOX 2) (define-integrable ODT_COMBOBOX 3) (define-integrable ODT_BUTTON 4) -;;/* ;; * OWNER DRAW ACTIONS -;; */ (define-integrable ODA_DRAWENTIRE #x0001) (define-integrable ODA_SELECT #x0002) (define-integrable ODA_FOCUS #x0004) -;;/* ;; * OWNER DRAW STATE -;; */ (define-integrable ODS_SELECTED #x0001) (define-integrable ODS_GRAYED #x0002) (define-integrable ODS_DISABLED #x0004) (define-integrable ODS_CHECKED #x0008) (define-integrable ODS_FOCUS #x0010) -;;/* -;; * MEASUREITEMSTRUCT FOR OWNERDRAW -;; */ -;;TYPEDEF STRUCT TAGMEASUREITEMSTRUCT { -;; UINT CTLTYPE; -;; UINT CTLID; -;; UINT ITEMID; -;; UINT ITEMWIDTH; -;; UINT ITEMHEIGHT; -;; DWORD ITEMDATA; -;;} MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT; - - - -;;/* -;; * DRAWITEMSTRUCT FOR OWNERDRAW -;; */ -;;TYPEDEF STRUCT TAGDRAWITEMSTRUCT { -;; UINT CTLTYPE; -;; UINT CTLID; -;; UINT ITEMID; -;; UINT ITEMACTION; -;; UINT ITEMSTATE; -;; HWND HWNDITEM; -;; HDC HDC; -;; RECT RCITEM; -;; DWORD ITEMDATA; -;;} DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT; -;; -;;/* -;; * DELETEITEMSTRUCT FOR OWNERDRAW -;; */ -;;TYPEDEF STRUCT TAGDELETEITEMSTRUCT { -;; UINT CTLTYPE; -;; UINT CTLID; -;; UINT ITEMID; -;; HWND HWNDITEM; -;; UINT ITEMDATA; -;;} DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT; -;; -;;/* -;; * COMPAREITEMSTUCT FOR OWNERDRAW SORTING -;; */ -;;TYPEDEF STRUCT TAGCOMPAREITEMSTRUCT { -;; UINT CTLTYPE; -;; UINT CTLID; -;; HWND HWNDITEM; -;; UINT ITEMID1; -;; DWORD ITEMDATA1; -;; UINT ITEMID2; -;; DWORD ITEMDATA2; -;; DWORD DWLOCALEID; -;;} COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT; -;; -;;#IFNDEF NOMSG - -;;/* -;; * MESSAGE FUNCTION TEMPLATES -;; */ -;;BOOL -;;WINAPI -;;GETMESSAGEA( -;; LPMSG LPMSG, -;; HWND HWND , -;; UINT WMSGFILTERMIN, -;; UINT WMSGFILTERMAX); -;;/* -;; * MESSAGE FUNCTION TEMPLATES -;; */ -;;BOOL -;;WINAPI -;;GETMESSAGEW( -;; LPMSG LPMSG, -;; HWND HWND , -;; UINT WMSGFILTERMIN, -;; UINT WMSGFILTERMAX); -;;#IFDEF UNICODE -;;#DEFINE GETMESSAGE GETMESSAGEW -;;#ELSE -;;#DEFINE GETMESSAGE GETMESSAGEA -;;#ENDIF // !UNICODE -;; -;;BOOL -;;WINAPI -;;TRANSLATEMESSAGE( -;; CONST MSG *LPMSG); - -;;LONG -;;WINAPI -;;DISPATCHMESSAGEA( -;; CONST MSG *LPMSG); -;;LONG -;;WINAPI -;;DISPATCHMESSAGEW( -;; CONST MSG *LPMSG); -;;#IFDEF UNICODE -;;#DEFINE DISPATCHMESSAGE DISPATCHMESSAGEW -;;#ELSE -;;#DEFINE DISPATCHMESSAGE DISPATCHMESSAGEA -;;#ENDIF // !UNICODE - - -;;BOOL -;;WINAPI -;;SETMESSAGEQUEUE( -;; INT CMESSAGESMAX); -;; -;;BOOL -;;WINAPI -;;PEEKMESSAGEA( -;; LPMSG LPMSG, -;; HWND HWND , -;; UINT WMSGFILTERMIN, -;; UINT WMSGFILTERMAX, -;; UINT WREMOVEMSG); -;;BOOL -;;WINAPI -;;PEEKMESSAGEW( -;; LPMSG LPMSG, -;; HWND HWND , -;; UINT WMSGFILTERMIN, -;; UINT WMSGFILTERMAX, -;; UINT WREMOVEMSG); -;;#IFDEF UNICODE -;;#DEFINE PEEKMESSAGE PEEKMESSAGEW -;;#ELSE -;;#DEFINE PEEKMESSAGE PEEKMESSAGEA -;;#ENDIF // !UNICODE -;; -;;/* -;; * PEEKMESSAGE() OPTIONS -;; */ +;; * PEEKMESSAGE OPTIONS (define-integrable PM_NOREMOVE #x0000) (define-integrable PM_REMOVE #x0001) (define-integrable PM_NOYIELD #x0002) -;;#ENDIF /* !NOMSG */ -;; -;;BOOL -;;WINAPI -;;REGISTERHOTKEY( -;; HWND HWND , -;; INT ID, -;; UINT FSMODIFIERS, -;; UINT VK); -;; -;;BOOL -;;WINAPI -;;UNREGISTERHOTKEY( -;; HWND HWND, -;; INT ID); - (define-integrable MOD_ALT #x0001) (define-integrable MOD_CONTROL #x0002) (define-integrable MOD_SHIFT #x0004) -(define-integrable IDHOT_SNAPWINDOW -1) ; /* SHIFT-PRINTSCRN */ -(define-integrable IDHOT_SNAPDESKTOP -2) ; /* PRINTSCRN */ - -;;#IFDEF WIN_INTERNAL -;; #IFNDEF LSTRING -;; #DEFINE NOLSTRING -;; #ENDIF /* LSTRING */ -;; #IFNDEF LFILEIO -;; #DEFINE NOLFILEIO -;; #ENDIF /* LFILEIO */ -;;#ENDIF /* WIN_INTERNAL */ - +(define-integrable IDHOT_SNAPWINDOW -1) ;SHIFT-PRINTSCRN +(define-integrable IDHOT_SNAPDESKTOP -2) ;PRINTSCRN (define-integrable EWX_LOGOFF 0) (define-integrable EWX_SHUTDOWN 1) (define-integrable EWX_REBOOT 2) (define-integrable EWX_FORCE 4) - -;;#DEFINE EXITWINDOWS(DWRESERVED, CODE) EXITWINDOWSEX(EWX_LOGOFF, 0XFFFFFFFF) -;; -;;BOOL -;;WINAPI -;;EXITWINDOWSEX( -;; UINT UFLAGS, -;; DWORD DWRESERVED); -;; -;;BOOL -;;WINAPI -;;SWAPMOUSEBUTTON( -;; BOOL FSWAP); -;; -;;DWORD -;;WINAPI -;;GETMESSAGEPOS( -;; VOID); -;; -;;LONG -;;WINAPI -;;GETMESSAGETIME( -;; VOID); -;; -;;LONG -;;WINAPI -;;GETMESSAGEEXTRAINFO( -;; VOID); -;; -;;LRESULT -;;WINAPI -;;SENDMESSAGEA( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;LRESULT -;;WINAPI -;;SENDMESSAGEW( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE SENDMESSAGE SENDMESSAGEW -;;#ELSE -;;#DEFINE SENDMESSAGE SENDMESSAGEA -;;#ENDIF // !UNICODE -;; -;;LRESULT -;;WINAPI -;;SENDMESSAGETIMEOUTA( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM, -;; UINT FUFLAGS, -;; UINT UTIMEOUT, -;; LPDWORD LPDWRESULT); -;;LRESULT -;;WINAPI -;;SENDMESSAGETIMEOUTW( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM, -;; UINT FUFLAGS, -;; UINT UTIMEOUT, -;; LPDWORD LPDWRESULT); -;;#IFDEF UNICODE -;;#DEFINE SENDMESSAGETIMEOUT SENDMESSAGETIMEOUTW -;;#ELSE -;;#DEFINE SENDMESSAGETIMEOUT SENDMESSAGETIMEOUTA -;;#ENDIF // !UNICODE - -;;BOOL -;;WINAPI -;;SENDNOTIFYMESSAGEA( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;BOOL -;;WINAPI -;;SENDNOTIFYMESSAGEW( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE SENDNOTIFYMESSAGE SENDNOTIFYMESSAGEW -;;#ELSE -;;#DEFINE SENDNOTIFYMESSAGE SENDNOTIFYMESSAGEA -;;#ENDIF // !UNICODE - -;;BOOL -;;WINAPI -;;SENDMESSAGECALLBACKA( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM, -;; SENDASYNCPROC LPRESULTCALLBACK, -;; DWORD DWDATA); -;;BOOL -;;WINAPI -;;SENDMESSAGECALLBACKW( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM, -;; SENDASYNCPROC LPRESULTCALLBACK, -;; DWORD DWDATA); -;;#IFDEF UNICODE -;;#DEFINE SENDMESSAGECALLBACK SENDMESSAGECALLBACKW -;;#ELSE -;;#DEFINE SENDMESSAGECALLBACK SENDMESSAGECALLBACKA -;;#ENDIF // !UNICODE - -;;BOOL -;;WINAPI -;;POSTMESSAGEA( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;BOOL -;;WINAPI -;;POSTMESSAGEW( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE POSTMESSAGE POSTMESSAGEW -;;#ELSE -;;#DEFINE POSTMESSAGE POSTMESSAGEA -;;#ENDIF // !UNICODE - -;;BOOL -;;WINAPI -;;POSTTHREADMESSAGEA( -;; DWORD IDTHREAD, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;BOOL -;;WINAPI -;;POSTTHREADMESSAGEW( -;; DWORD IDTHREAD, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE POSTTHREADMESSAGE POSTTHREADMESSAGEW -;;#ELSE -;;#DEFINE POSTTHREADMESSAGE POSTTHREADMESSAGEA -;;#ENDIF // !UNICODE - -;;#DEFINE POSTAPPMESSAGEA(IDTHREAD, WMSG, WPARAM, LPARAM)\ -;; POSTTHREADMESSAGEA((DWORD)IDTHREAD, WMSG, WPARAM, LPARAM) -;;#DEFINE POSTAPPMESSAGEW(IDTHREAD, WMSG, WPARAM, LPARAM)\ -;; POSTTHREADMESSAGEW((DWORD)IDTHREAD, WMSG, WPARAM, LPARAM) -;;#IFDEF UNICODE -;;#DEFINE POSTAPPMESSAGE POSTAPPMESSAGEW -;;#ELSE -;;#DEFINE POSTAPPMESSAGE POSTAPPMESSAGEA -;;#ENDIF // !UNICODE - -;;/* -;; * SPECIAL HWND VALUE FOR USE WITH POSTMESSAGE() AND SENDMESSAGE() -;; */ +;; * SPECIAL HWND VALUE FOR USE WITH POSTMESSAGE AND SENDMESSAGE (define-integrable HWND_BROADCAST #xFFFF) ; ((HWND)0XFFFF) -;;BOOL -;;WINAPI -;;ATTACHTHREADINPUT( -;; DWORD IDATTACH, -;; DWORD IDATTACHTO, -;; BOOL FATTACH); -;; -;; -;;BOOL -;;WINAPI -;;REPLYMESSAGE( -;; LRESULT LRESULT); -;; -;;BOOL -;;WINAPI -;;WAITMESSAGE( -;; VOID); -;; -;;DWORD -;;WINAPI -;;WAITFORINPUTIDLE( -;; HANDLE HPROCESS, -;; DWORD DWMILLISECONDS); -;; -;;LRESULT -;;WINAPI -;;DEFWINDOWPROCA( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;LRESULT -;;WINAPI -;;DEFWINDOWPROCW( -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE DEFWINDOWPROC DEFWINDOWPROCW -;;#ELSE -;;#DEFINE DEFWINDOWPROC DEFWINDOWPROCA -;;#ENDIF // !UNICODE -;; -;;VOID -;;WINAPI -;;POSTQUITMESSAGE( -;; INT NEXITCODE); -;; -;;#IFDEF STRICT -;; -;;LRESULT -;;WINAPI -;;CALLWINDOWPROCA( -;; WNDPROC LPPREVWNDFUNC, -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;LRESULT -;;WINAPI -;;CALLWINDOWPROCW( -;; WNDPROC LPPREVWNDFUNC, -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCW -;;#ELSE -;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCA -;;#ENDIF // !UNICODE -;; -;;#ELSE /* !STRICT */ -;; -;;LRESULT -;;WINAPI -;;CALLWINDOWPROCA( -;; FARPROC LPPREVWNDFUNC, -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;LRESULT -;;WINAPI -;;CALLWINDOWPROCW( -;; FARPROC LPPREVWNDFUNC, -;; HWND HWND, -;; UINT MSG, -;; WPARAM WPARAM, -;; LPARAM LPARAM); -;;#IFDEF UNICODE -;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCW -;;#ELSE -;;#DEFINE CALLWINDOWPROC CALLWINDOWPROCA -;;#ENDIF // !UNICODE -;; -;;#ENDIF /* !STRICT */ -;; -;;BOOL -;;WINAPI -;;INSENDMESSAGE( -;; VOID); -;; -;;UINT -;;WINAPI -;;GETDOUBLECLICKTIME( -;; VOID); -;; -;;BOOL -;;WINAPI -;;SETDOUBLECLICKTIME( -;; UINT); -;; -;;ATOM -;;WINAPI -;;REGISTERCLASSA( -;; CONST WNDCLASSA *LPWNDCLASS); -;;ATOM -;;WINAPI -;;REGISTERCLASSW( -;; CONST WNDCLASSW *LPWNDCLASS); -;;#IFDEF UNICODE -;;#DEFINE REGISTERCLASS REGISTERCLASSW -;;#ELSE -;;#DEFINE REGISTERCLASS REGISTERCLASSA -;;#ENDIF // !UNICODE -;; -;;BOOL -;;WINAPI -;;UNREGISTERCLASSA( -;; LPCSTR LPCLASSNAME, -;; HINSTANCE HINSTANCE); -;;BOOL -;;WINAPI -;;UNREGISTERCLASSW( -;; LPCWSTR LPCLASSNAME, -;; HINSTANCE HINSTANCE); -;;#IFDEF UNICODE -;;#DEFINE UNREGISTERCLASS UNREGISTERCLASSW -;;#ELSE -;;#DEFINE UNREGISTERCLASS UNREGISTERCLASSA -;;#ENDIF // !UNICODE -;; -;;BOOL -;;WINAPI -;;GETCLASSINFOA( -;; HINSTANCE HINSTANCE , -;; LPCSTR LPCLASSNAME, -;; LPWNDCLASSA LPWNDCLASS); -;;BOOL -;;WINAPI -;;GETCLASSINFOW( -;; HINSTANCE HINSTANCE , -;; LPCWSTR LPCLASSNAME, -;; LPWNDCLASSW LPWNDCLASS); -;;#IFDEF UNICODE -;;#DEFINE GETCLASSINFO GETCLASSINFOW -;;#ELSE -;;#DEFINE GETCLASSINFO GETCLASSINFOA -;;#ENDIF // !UNICODE - (define-integrable CW_USEDEFAULT #x80000000) ; ((UINT)0X80000000) -;;/* ;; * SPECIAL VALUE FOR CREATEWINDOW, ET AL. -;; */ (define-integrable HWND_DESKTOP 0) ; ((HWND)0) -;;HWND -;;WINAPI -;;CreateWindowExA( -;; DWORD dwExStyle, -;; LPCSTR lpClassName, -;; LPCSTR lpWindowName, -;; DWORD dwStyle, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight, -;; HWND hWndParent , -;; HMENU hMenu, -;; HINSTANCE hInstance, -;; LPVOID lpParam); -;;HWND -;;WINAPI -;;CreateWindowExW( -;; DWORD dwExStyle, -;; LPCWSTR lpClassName, -;; LPCWSTR lpWindowName, -;; DWORD dwStyle, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight, -;; HWND hWndParent , -;; HMENU hMenu, -;; HINSTANCE hInstance, -;; LPVOID lpParam); -;;#ifdef UNICODE -;;#define CreateWindowEx CreateWindowExW -;;#else -;;#define CreateWindowEx CreateWindowExA -;;#endif // !UNICODE -;; -;;#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\ -;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\ -;;CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\ -;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) -;;#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\ -;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\ -;;CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\ -;;nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) -;;#ifdef UNICODE -;;#define CreateWindow CreateWindowW -;;#else -;;#define CreateWindow CreateWindowA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;IsWindow( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;IsMenu( -;; HMENU hMenu); -;; -;;BOOL -;;WINAPI -;;IsChild( -;; HWND hWndParent, -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;DestroyWindow( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;ShowWindow( -;; HWND hWnd, -;; int nCmdShow); -;; -;;BOOL -;;WINAPI -;;FlashWindow( -;; HWND hWnd, -;; BOOL bInvert); -;; -;;BOOL -;;WINAPI -;;ShowOwnedPopups( -;; HWND hWnd, -;; BOOL fShow); -;; -;;BOOL -;;WINAPI -;;OpenIcon( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;CloseWindow( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;MoveWindow( -;; HWND hWnd, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight, -;; BOOL bRepaint); -;; -;;BOOL -;;WINAPI -;;SetWindowPos( -;; HWND hWnd, -;; HWND hWndInsertAfter , -;; int X, -;; int Y, -;; int cx, -;; int cy, -;; UINT uFlags); -;; -;;BOOL -;;WINAPI -;;GetWindowPlacement( -;; HWND hWnd, -;; WINDOWPLACEMENT *lpwndpl); -;; -;;BOOL -;;WINAPI -;;SetWindowPlacement( -;; HWND hWnd, -;; CONST WINDOWPLACEMENT *lpwndpl); -;; -;; -;;#ifndef NODEFERWINDOWPOS -;; -;;HDWP -;;WINAPI -;;BeginDeferWindowPos( -;; int nNumWindows); -;; -;;HDWP -;;WINAPI -;;DeferWindowPos( -;; HDWP hWinPosInfo, -;; HWND hWnd, -;; HWND hWndInsertAfter , -;; int x, -;; int y, -;; int cx, -;; int cy, -;; UINT uFlags); -;; -;;BOOL -;;WINAPI -;;EndDeferWindowPos( -;; HDWP hWinPosInfo); -;; -;;#endif /* !NODEFERWINDOWPOS */ -;; -;;BOOL -;;WINAPI -;;IsWindowVisible( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;IsIconic( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;AnyPopup( -;; VOID); -;; -;;BOOL -;;WINAPI -;;BringWindowToTop( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;IsZoomed( -;; HWND hWnd); -;; -;;/* ;; * SetWindowPos Flags -;; */ (define-integrable SWP_NOSIZE #x0001) (define-integrable SWP_NOMOVE #x0002) (define-integrable SWP_NOZORDER #x0004) (define-integrable SWP_NOREDRAW #x0008) (define-integrable SWP_NOACTIVATE #x0010) -(define-integrable SWP_FRAMECHANGED #x0020) ; /* The frame changed: send WM_NCCALCSIZE */ +(define-integrable SWP_FRAMECHANGED #x0020) ;The frame changed: send WM_NCCALCSIZE (define-integrable SWP_SHOWWINDOW #x0040) (define-integrable SWP_HIDEWINDOW #x0080) (define-integrable SWP_NOCOPYBITS #x0100) -(define-integrable SWP_NOOWNERZORDER #x0200) ; /* Don't do owner Z ordering */ +(define-integrable SWP_NOOWNERZORDER #x0200) ;Don't do owner Z ordering (define-integrable SWP_DRAWFRAME SWP_FRAMECHANGED) (define-integrable SWP_NOREPOSITION SWP_NOOWNERZORDER) - (define-integrable HWND_TOP 0) ;((HWND)0) (define-integrable HWND_BOTTOM 1) ;((HWND)1) (define-integrable HWND_TOPMOST -1) ;((HWND)-1) (define-integrable HWND_NOTOPMOST -2) ;((HWND)-2) -;;#ifndef NOCTLMGR - -;;#ifndef RC_INVOKED // RC can't handle #pragmas -;; -;;/* -;; * WARNING: -;; * The following structures must NOT be DWORD padded because they are -;; * followed by strings, etc that do not have to be DWORD aligned. -;; */ -;;#pragma pack(2) - -;;typedef struct { -;; DWORD style; -;; DWORD dwExtendedStyle; -;; WORD cdit; -;; short x; -;; short y; -;; short cx; -;; short cy; -;;} DLGTEMPLATE; -;;typedef DLGTEMPLATE *LPDLGTEMPLATEA; -;;typedef DLGTEMPLATE *LPDLGTEMPLATEW; -;;#ifdef UNICODE -;;typedef LPDLGTEMPLATEW LPDLGTEMPLATE; -;;#else -;;typedef LPDLGTEMPLATEA LPDLGTEMPLATE; -;;#endif // UNICODE -;;typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA; -;;typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW; -;;#ifdef UNICODE -;;typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE; -;;#else -;;typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE; -;;#endif // UNICODE -;; -;;/* -;; * Dialog item template (dit) -;; */ -;;typedef struct { -;; DWORD style; -;; DWORD dwExtendedStyle; -;; short x; -;; short y; -;; short cx; -;; short cy; -;; WORD id; -;;} DLGITEMTEMPLATE; -;;typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA; -;;typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW; -;;#ifdef UNICODE -;;typedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE; -;;#else -;;typedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE; -;;#endif // UNICODE -;;typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA; -;;typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW; -;;#ifdef UNICODE -;;typedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE; -;;#else -;;typedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE; -;;#endif // UNICODE -;; -;;#pragma pack() // Resume normal packing -;;#endif /* !RC_INVOKED */ -;; -;;HWND -;;WINAPI -;;CreateDialogParamA( -;; HINSTANCE hInstance, -;; LPCSTR lpTemplateName, -;; HWND hWndParent , -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;HWND -;;WINAPI -;;CreateDialogParamW( -;; HINSTANCE hInstance, -;; LPCWSTR lpTemplateName, -;; HWND hWndParent , -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;#ifdef UNICODE -;;#define CreateDialogParam CreateDialogParamW -;;#else -;;#define CreateDialogParam CreateDialogParamA -;;#endif // !UNICODE -;; -;;HWND -;;WINAPI -;;CreateDialogIndirectParamA( -;; HINSTANCE hInstance, -;; LPCDLGTEMPLATEA lpTemplate, -;; HWND hWndParent, -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;HWND -;;WINAPI -;;CreateDialogIndirectParamW( -;; HINSTANCE hInstance, -;; LPCDLGTEMPLATEW lpTemplate, -;; HWND hWndParent, -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;#ifdef UNICODE -;;#define CreateDialogIndirectParam CreateDialogIndirectParamW -;;#else -;;#define CreateDialogIndirectParam CreateDialogIndirectParamA -;;#endif // !UNICODE - -;;#define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \ -;;CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L) -;;#define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \ -;;CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L) -;;#ifdef UNICODE -;;#define CreateDialog CreateDialogW -;;#else -;;#define CreateDialog CreateDialogA -;;#endif // !UNICODE -;; -;;#define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ -;;CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) -;;#define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ -;;CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) -;;#ifdef UNICODE -;;#define CreateDialogIndirect CreateDialogIndirectW -;;#else -;;#define CreateDialogIndirect CreateDialogIndirectA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;DialogBoxParamA( -;; HINSTANCE hInstance, -;; LPCSTR lpTemplateName, -;; HWND hWndParent , -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;int -;;WINAPI -;;DialogBoxParamW( -;; HINSTANCE hInstance, -;; LPCWSTR lpTemplateName, -;; HWND hWndParent , -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;#ifdef UNICODE -;;#define DialogBoxParam DialogBoxParamW -;;#else -;;#define DialogBoxParam DialogBoxParamA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;DialogBoxIndirectParamA( -;; HINSTANCE hInstance, -;; LPCDLGTEMPLATEA hDialogTemplate, -;; HWND hWndParent , -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;int -;;WINAPI -;;DialogBoxIndirectParamW( -;; HINSTANCE hInstance, -;; LPCDLGTEMPLATEW hDialogTemplate, -;; HWND hWndParent , -;; DLGPROC lpDialogFunc, -;; LPARAM dwInitParam); -;;#ifdef UNICODE -;;#define DialogBoxIndirectParam DialogBoxIndirectParamW -;;#else -;;#define DialogBoxIndirectParam DialogBoxIndirectParamA -;;#endif // !UNICODE -;; -;;#define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ -;;DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) -;;#define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ -;;DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) -;;#ifdef UNICODE -;;#define DialogBox DialogBoxW -;;#else -;;#define DialogBox DialogBoxA -;;#endif // !UNICODE -;; -;;#define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ -;;DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) -;;#define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ -;;DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) -;;#ifdef UNICODE -;;#define DialogBoxIndirect DialogBoxIndirectW -;;#else -;;#define DialogBoxIndirect DialogBoxIndirectA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;EndDialog( -;; HWND hDlg, -;; int nResult); -;; -;;HWND -;;WINAPI -;;GetDlgItem( -;; HWND hDlg, -;; int nIDDlgItem); - -;;BOOL -;;WINAPI -;;SetDlgItemInt( -;; HWND hDlg, -;; int nIDDlgItem, -;; UINT uValue, -;; BOOL bSigned); -;; -;;UINT -;;WINAPI -;;GetDlgItemInt( -;; HWND hDlg, -;; int nIDDlgItem, -;; BOOL *lpTranslated, -;; BOOL bSigned); -;; -;;BOOL -;;WINAPI -;;SetDlgItemTextA( -;; HWND hDlg, -;; int nIDDlgItem, -;; LPCSTR lpString); -;;BOOL -;;WINAPI -;;SetDlgItemTextW( -;; HWND hDlg, -;; int nIDDlgItem, -;; LPCWSTR lpString); -;;#ifdef UNICODE -;;#define SetDlgItemText SetDlgItemTextW -;;#else -;;#define SetDlgItemText SetDlgItemTextA -;;#endif // !UNICODE -;; -;;UINT -;;WINAPI -;;GetDlgItemTextA( -;; HWND hDlg, -;; int nIDDlgItem, -;; LPSTR lpString, -;; int nMaxCount); -;;UINT -;;WINAPI -;;GetDlgItemTextW( -;; HWND hDlg, -;; int nIDDlgItem, -;; LPWSTR lpString, -;; int nMaxCount); -;;#ifdef UNICODE -;;#define GetDlgItemText GetDlgItemTextW -;;#else -;;#define GetDlgItemText GetDlgItemTextA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;CheckDlgButton( -;; HWND hDlg, -;; int nIDButton, -;; UINT uCheck); - -;;BOOL -;;WINAPI -;;CheckRadioButton( -;; HWND hDlg, -;; int nIDFirstButton, -;; int nIDLastButton, -;; int nIDCheckButton); -;; -;;UINT -;;WINAPI -;;IsDlgButtonChecked( -;; HWND hDlg, -;; int nIDButton); -;; -;;LONG -;;WINAPI -;;SendDlgItemMessageA( -;; HWND hDlg, -;; int nIDDlgItem, -;; UINT Msg, -;; WPARAM wParam, -;; LPARAM lParam); -;;LONG -;;WINAPI -;;SendDlgItemMessageW( -;; HWND hDlg, -;; int nIDDlgItem, -;; UINT Msg, -;; WPARAM wParam, -;; LPARAM lParam); -;;#ifdef UNICODE -;;#define SendDlgItemMessage SendDlgItemMessageW -;;#else -;;#define SendDlgItemMessage SendDlgItemMessageA -;;#endif // !UNICODE -;; -;;HWND -;;WINAPI -;;GetNextDlgGroupItem( -;; HWND hDlg, -;; HWND hCtl, -;; BOOL bPrevious); -;; -;;HWND -;;WINAPI -;;GetNextDlgTabItem( -;; HWND hDlg, -;; HWND hCtl, -;; BOOL bPrevious); -;; -;;int -;;WINAPI -;;GetDlgCtrlID( -;; HWND hWnd); -;; -;;long -;;WINAPI -;;GetDialogBaseUnits(VOID); -;; -;;LRESULT -;;WINAPI -;;DefDlgProcA( -;; HWND hDlg, -;; UINT Msg, -;; WPARAM wParam, -;; LPARAM lParam); -;;LRESULT -;;WINAPI -;;DefDlgProcW( -;; HWND hDlg, -;; UINT Msg, -;; WPARAM wParam, -;; LPARAM lParam); -;;#ifdef UNICODE -;;#define DefDlgProc DefDlgProcW -;;#else -;;#define DefDlgProc DefDlgProcA -;;#endif // !UNICODE -;; -;;/* ;; * Window extra byted needed for private dialog classes. -;; */ (define DLGWINDOWEXTRA 30) -;;#endif /* !NOCTLMGR */ -;; -;;#ifndef NOMSG -;;BOOL -;;WINAPI -;;CallMsgFilter( -;; LPMSG lpMsg, -;; int nCode); -;;#endif /* !NOMSG */ -;; -;;#ifndef NOCLIPBOARD -;; -;;/* -;; * Clipboard Manager Functions -;; */ -;;BOOL -;;WINAPI -;;OpenClipboard( -;; HWND hWndNewOwner); -;; -;;BOOL -;;WINAPI -;;CloseClipboard( -;; VOID); -;; -;;HWND -;;WINAPI -;;GetClipboardOwner( -;; VOID); -;; -;;HWND -;;WINAPI -;;SetClipboardViewer( -;; HWND hWndNewViewer); -;; -;;HWND -;;WINAPI -;;GetClipboardViewer( -;; VOID); -;; -;;BOOL -;;WINAPI -;;ChangeClipboardChain( -;; HWND hWndRemove, -;; HWND hWndNewNext); -;; -;;HANDLE -;;WINAPI -;;SetClipboardData( -;; UINT uFormat, -;; HANDLE hMem); -;; -;;HANDLE -;;WINAPI -;; GetClipboardData( -;; UINT uFormat); -;; -;;UINT -;;WINAPI -;;RegisterClipboardFormatA( -;; LPCSTR lpszFormat); -;;UINT -;;WINAPI -;;RegisterClipboardFormatW( -;; LPCWSTR lpszFormat); -;;#ifdef UNICODE -;;#define RegisterClipboardFormat RegisterClipboardFormatW -;;#else -;;#define RegisterClipboardFormat RegisterClipboardFormatA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;CountClipboardFormats( -;; VOID); -;; -;;UINT -;;WINAPI -;;EnumClipboardFormats( -;; UINT format); -;; -;;int -;;WINAPI -;;GetClipboardFormatNameA( -;; UINT format, -;; LPSTR lpszFormatName, -;; int cchMaxCount); -;;int -;;WINAPI -;;GetClipboardFormatNameW( -;; UINT format, -;; LPWSTR lpszFormatName, -;; int cchMaxCount); -;;#ifdef UNICODE -;;#define GetClipboardFormatName GetClipboardFormatNameW -;;#else -;;#define GetClipboardFormatName GetClipboardFormatNameA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;EmptyClipboard( -;; VOID); - -;;BOOL -;;WINAPI -;;IsClipboardFormatAvailable( -;; UINT format); -;; -;;int -;;WINAPI -;;GetPriorityClipboardFormat( -;; UINT *paFormatPriorityList, -;; int cFormats); -;; -;;HWND -;;WINAPI -;;GetOpenClipboardWindow( -;; VOID); -;; -;;#endif /* !NOCLIPBOARD */ -;; -;;/* -;; * Character Translation Routines -;; */ -;; -;;BOOL -;;WINAPI -;;CharToOemA( -;; LPCSTR lpszSrc, -;; LPSTR lpszDst); -;;BOOL -;;WINAPI -;;CharToOemW( -;; LPCWSTR lpszSrc, -;; LPSTR lpszDst); -;;#ifdef UNICODE -;;#define CharToOem CharToOemW -;;#else -;;#define CharToOem CharToOemA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;OemToCharA( -;; LPCSTR lpszSrc, -;; LPSTR lpszDst); -;;BOOL -;;WINAPI -;;OemToCharW( -;; LPCSTR lpszSrc, -;; LPWSTR lpszDst); -;;#ifdef UNICODE -;;#define OemToChar OemToCharW -;;#else -;;#define OemToChar OemToCharA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;CharToOemBuffA( -;; LPCSTR lpszSrc, -;; LPSTR lpszDst, -;; DWORD cchDstLength); -;;BOOL -;;WINAPI -;;CharToOemBuffW( -;; LPCWSTR lpszSrc, -;; LPSTR lpszDst, -;; DWORD cchDstLength); -;;#ifdef UNICODE -;;#define CharToOemBuff CharToOemBuffW -;;#else -;;#define CharToOemBuff CharToOemBuffA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;OemToCharBuffA( -;; LPCSTR lpszSrc, -;; LPSTR lpszDst, -;; DWORD cchDstLength); -;;BOOL -;;WINAPI -;;OemToCharBuffW( -;; LPCSTR lpszSrc, -;; LPWSTR lpszDst, -;; DWORD cchDstLength); -;;#ifdef UNICODE -;;#define OemToCharBuff OemToCharBuffW -;;#else -;;#define OemToCharBuff OemToCharBuffA -;;#endif // !UNICODE -;; -;;LPSTR -;;WINAPI -;;CharUpperA( -;; LPSTR lpsz); -;;LPWSTR -;;WINAPI -;;CharUpperW( -;; LPWSTR lpsz); -;;#ifdef UNICODE -;;#define CharUpper CharUpperW -;;#else -;;#define CharUpper CharUpperA -;;#endif // !UNICODE -;; -;;DWORD -;;WINAPI -;;CharUpperBuffA( -;; LPSTR lpsz, -;; DWORD cchLength); -;;DWORD -;;WINAPI -;;CharUpperBuffW( -;; LPWSTR lpsz, -;; DWORD cchLength); -;;#ifdef UNICODE -;;#define CharUpperBuff CharUpperBuffW -;;#else -;;#define CharUpperBuff CharUpperBuffA -;;#endif // !UNICODE -;; -;;LPSTR -;;WINAPI -;;CharLowerA( -;; LPSTR lpsz); -;;LPWSTR -;;WINAPI -;;CharLowerW( -;; LPWSTR lpsz); -;;#ifdef UNICODE -;;#define CharLower CharLowerW -;;#else -;;#define CharLower CharLowerA -;;#endif // !UNICODE -;; -;;DWORD -;;WINAPI -;;CharLowerBuffA( -;; LPSTR lpsz, -;; DWORD cchLength); -;;DWORD -;;WINAPI -;;CharLowerBuffW( -;; LPWSTR lpsz, -;; DWORD cchLength); -;;#ifdef UNICODE -;;#define CharLowerBuff CharLowerBuffW -;;#else -;;#define CharLowerBuff CharLowerBuffA -;;#endif // !UNICODE -;; -;;LPSTR -;;WINAPI -;;CharNextA( -;; LPCSTR lpsz); -;;LPWSTR -;;WINAPI -;;CharNextW( -;; LPCWSTR lpsz); -;;#ifdef UNICODE -;;#define CharNext CharNextW -;;#else -;;#define CharNext CharNextA -;;#endif // !UNICODE -;; -;;LPSTR -;;WINAPI -;;CharPrevA( -;; LPCSTR lpszStart, -;; LPCSTR lpszCurrent); -;;LPWSTR -;;WINAPI -;;CharPrevW( -;; LPCWSTR lpszStart, -;; LPCWSTR lpszCurrent); -;;#ifdef UNICODE -;;#define CharPrev CharPrevW -;;#else -;;#define CharPrev CharPrevA -;;#endif // !UNICODE -;; -;;/* -;; * Compatibility defines for character translation routines -;; */ -;;#define AnsiToOem CharToOemA -;;#define OemToAnsi OemToCharA -;;#define AnsiToOemBuff CharToOemBuffA -;;#define OemToAnsiBuff OemToCharBuffA -;;#define AnsiUpper CharUpperA -;;#define AnsiUpperBuff CharUpperBuffA -;;#define AnsiLower CharLowerA -;;#define AnsiLowerBuff CharLowerBuffA -;;#define AnsiNext CharNextA -;;#define AnsiPrev CharPrevA -;; -;;#ifndef NOLANGUAGE -;;/* -;; * Language dependent Routines -;; */ -;; -;;BOOL -;;WINAPI -;;IsCharAlphaA( -;; CHAR ch); -;;BOOL -;;WINAPI -;;IsCharAlphaW( -;; WCHAR ch); -;;#ifdef UNICODE -;;#define IsCharAlpha IsCharAlphaW -;;#else -;;#define IsCharAlpha IsCharAlphaA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;IsCharAlphaNumericA( -;; CHAR ch); -;;BOOL -;;WINAPI -;;IsCharAlphaNumericW( -;; WCHAR ch); -;;#ifdef UNICODE -;;#define IsCharAlphaNumeric IsCharAlphaNumericW -;;#else -;;#define IsCharAlphaNumeric IsCharAlphaNumericA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;IsCharUpperA( -;; CHAR ch); -;;BOOL -;;WINAPI -;;IsCharUpperW( -;; WCHAR ch); -;;#ifdef UNICODE -;;#define IsCharUpper IsCharUpperW -;;#else -;;#define IsCharUpper IsCharUpperA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;IsCharLowerA( -;; CHAR ch); -;;BOOL -;;WINAPI -;;IsCharLowerW( -;; WCHAR ch); -;;#ifdef UNICODE -;;#define IsCharLower IsCharLowerW -;;#else -;;#define IsCharLower IsCharLowerA -;;#endif // !UNICODE -;; -;;#endif /* !NOLANGUAGE */ -;; -;;HWND -;;WINAPI -;;SetFocus( -;; HWND hWnd); -;; -;;HWND -;;WINAPI -;;GetActiveWindow( -;; VOID); -;; -;;HWND -;;WINAPI -;;GetFocus( -;; VOID); -;; -;;UINT -;;WINAPI -;;GetKBCodePage( -;; VOID); -;; -;;SHORT -;;WINAPI -;;GetKeyState( -;; int nVirtKey); -;; -;;SHORT -;;WINAPI -;;GetAsyncKeyState( -;; int vKey); -;; -;;BOOL -;;WINAPI -;;GetKeyboardState( -;; PBYTE lpKeyState); -;; -;;BOOL -;;WINAPI -;;SetKeyboardState( -;; LPBYTE lpKeyState); -;; -;;int -;;WINAPI -;;GetKeyNameTextA( -;; LONG lParam, -;; LPSTR lpString, -;; int nSize -;; ); -;;int -;;WINAPI -;;GetKeyNameTextW( -;; LONG lParam, -;; LPWSTR lpString, -;; int nSize -;; ); -;;#ifdef UNICODE -;;#define GetKeyNameText GetKeyNameTextW -;;#else -;;#define GetKeyNameText GetKeyNameTextA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;GetKeyboardType( -;; int nTypeFlag); -;; -;;int -;;WINAPI -;;ToAscii( -;; UINT uVirtKey, -;; UINT uScanCode, -;; PBYTE lpKeyState, -;; LPWORD lpChar, -;; UINT uFlags); -;; -;;int -;;WINAPI -;;ToUnicode( -;; UINT wVirtKey, -;; UINT wScanCode, -;; PBYTE lpKeyState, -;; LPWSTR pwszBuff, -;; int cchBuff, -;; UINT wFlags); -;; -;;DWORD -;;WINAPI -;;OemKeyScan( -;; WORD wOemChar); -;; -;;SHORT -;;WINAPI -;;VkKeyScanA( -;; CHAR ch); -;;SHORT -;;WINAPI -;;VkKeyScanW( -;; WCHAR ch); -;;#ifdef UNICODE -;;#define VkKeyScan VkKeyScanW -;;#else -;;#define VkKeyScan VkKeyScanA -;;#endif // !UNICODE -;; -;;#define KEYEVENTF_EXTENDEDKEY 0x0001 -;;#define KEYEVENTF_KEYUP 0x0002 -;; -;;VOID WINAPI -;;keybd_event( -;; BYTE bVk, -;; BYTE bScan, -;; DWORD dwFlags, -;; DWORD dwExtraInfo); - (define-integrable MOUSEEVENTF_MOVE #x0001) ; // mouse move (define-integrable MOUSEEVENTF_LEFTDOWN #x0002) ; // left button down (define-integrable MOUSEEVENTF_LEFTUP #x0004) ; // left button up @@ -2774,67 +768,7 @@ (define-integrable MOUSEEVENTF_MIDDLEUP #x0040) ; // middle button up (define-integrable MOUSEEVENTF_ABSOLUTE #x8000) ; // absolute move -;;VOID WINAPI -;;mouse_event( -;; DWORD dwFlags, -;; DWORD dx, -;; DWORD dy, -;; DWORD cButtons, -;; DWORD dwExtraInfo); -;; -;;UINT -;;WINAPI -;;MapVirtualKeyA( -;; UINT uCode, -;; UINT uMapType); -;;UINT -;;WINAPI -;;MapVirtualKeyW( -;; UINT uCode, -;; UINT uMapType); -;;#ifdef UNICODE -;;#define MapVirtualKey MapVirtualKeyW -;;#else -;;#define MapVirtualKey MapVirtualKeyA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;GetInputState( -;; VOID); -;; -;;DWORD -;;WINAPI -;;GetQueueStatus( -;; UINT flags); -;; -;;HWND -;;WINAPI -;;GetCapture( -;; VOID); -;; -;;HWND -;;WINAPI -;;SetCapture( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;ReleaseCapture( -;; VOID); -;; -;;DWORD -;;WINAPI -;;MsgWaitForMultipleObjects( -;; DWORD nCount, -;; LPHANDLE pHandles, -;; BOOL fWaitAll, -;; DWORD dwMilliseconds, -;; DWORD dwWakeMask); -;; -;;/* -;; * Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() -;; */ +;; * Queue status flags for GetQueueStatus and MsgWaitForMultipleObjects (define-integrable QS_KEY #x01) (define-integrable QS_MOUSEMOVE #x02) (define-integrable QS_MOUSEBUTTON #x04) @@ -2856,14 +790,7 @@ QS_PAINT QS_HOTKEY)) -;;UINT -;;WINAPI -;;GetSysInputMode( -;; VOID); -;; -;;/* ;; * GetSysInputMode return values -;; */ (define-integrable IMD_NONE 0) (define-integrable IMD_MENU 1) (define-integrable IMD_DIALOGBOX 2) @@ -2875,107 +802,7 @@ (define-integrable IMD_DRAGOBJECT 8) (define-integrable IMD_DRAGDETECT 9) - -;;/* -;; * Windows Functions -;; */ -;;UINT -;;WINAPI -;;SetTimer( -;; HWND hWnd , -;; UINT nIDEvent, -;; UINT uElapse, -;; TIMERPROC lpTimerFunc); -;; -;;BOOL -;;WINAPI -;;KillTimer( -;; HWND hWnd, -;; UINT uIDEvent); -;; -;;BOOL -;;WINAPI -;;IsWindowUnicode( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;EnableWindow( -;; HWND hWnd, -;; BOOL bEnable); -;; -;;BOOL -;;WINAPI -;;IsWindowEnabled( -;; HWND hWnd); -;; -;;HACCEL -;;WINAPI -;;LoadAcceleratorsA( -;; HINSTANCE hInstance, -;; LPCSTR lpTableName); -;;HACCEL -;;WINAPI -;;LoadAcceleratorsW( -;; HINSTANCE hInstance, -;; LPCWSTR lpTableName); -;;#ifdef UNICODE -;;#define LoadAccelerators LoadAcceleratorsW -;;#else -;;#define LoadAccelerators LoadAcceleratorsA -;;#endif // !UNICODE -;; -;;HACCEL -;;WINAPI -;;CreateAcceleratorTableA( -;; LPACCEL, int); -;;HACCEL -;;WINAPI -;;CreateAcceleratorTableW( -;; LPACCEL, int); -;;#ifdef UNICODE -;;#define CreateAcceleratorTable CreateAcceleratorTableW -;;#else -;;#define CreateAcceleratorTable CreateAcceleratorTableA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;DestroyAcceleratorTable( -;; HACCEL hAccel); -;; -;;int -;;WINAPI -;;CopyAcceleratorTableA( -;; HACCEL hAccelSrc, -;; LPACCEL lpAccelDst, -;; int cAccelEntries); -;;int -;;WINAPI -;;CopyAcceleratorTableW( -;; HACCEL hAccelSrc, -;; LPACCEL lpAccelDst, -;; int cAccelEntries); -;;#ifdef UNICODE -;;#define CopyAcceleratorTable CopyAcceleratorTableW -;;#else -;;#define CopyAcceleratorTable CopyAcceleratorTableA -;;#endif // !UNICODE -;; -;;#ifndef NOMSG -;;int -;;WINAPI -;;TranslateAccelerator( -;; HWND hWnd, -;; HACCEL hAccTable, -;; LPMSG lpMsg); -;;#endif /* !NOMSG */ -;; -;;#ifndef NOSYSMETRICS -;; -;;/* -;; * GetSystemMetrics() codes -;; */ +;; * GetSystemMetrics codes (define-integrable SM_CXSCREEN 0) (define-integrable SM_CYSCREEN 1) (define-integrable SM_CXVSCROLL 2) @@ -3022,304 +849,14 @@ (define-integrable SM_CMOUSEBUTTONS 43) (define-integrable SM_CMETRICS 44) -;;int -;;WINAPI -;;GetSystemMetrics( -;; int nIndex); -;; -;;#endif /* !NOSYSMETRICS */ -;; -;;#ifndef NOMENUS -;; -;;HMENU -;;WINAPI -;;LoadMenuA( -;; HINSTANCE hInstance, -;; LPCSTR lpMenuName); -;;HMENU -;;WINAPI -;;LoadMenuW( -;; HINSTANCE hInstance, -;; LPCWSTR lpMenuName); -;;#ifdef UNICODE -;;#define LoadMenu LoadMenuW -;;#else -;;#define LoadMenu LoadMenuA -;;#endif // !UNICODE -;; -;;HMENU -;;WINAPI -;;LoadMenuIndirectA( -;; CONST MENUTEMPLATEA *lpMenuTemplate); -;;HMENU -;;WINAPI -;;LoadMenuIndirectW( -;; CONST MENUTEMPLATEW *lpMenuTemplate); -;;#ifdef UNICODE -;;#define LoadMenuIndirect LoadMenuIndirectW -;;#else -;;#define LoadMenuIndirect LoadMenuIndirectA -;;#endif // !UNICODE -;; -;;HMENU -;;WINAPI -;;GetMenu( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;SetMenu( -;; HWND hWnd, -;; HMENU hMenu); -;; -;;BOOL -;;WINAPI -;;ChangeMenuA( -;; HMENU hMenu, -;; UINT cmd, -;; LPCSTR lpszNewItem, -;; UINT cmdInsert, -;; UINT flags); -;;BOOL -;;WINAPI -;;ChangeMenuW( -;; HMENU hMenu, -;; UINT cmd, -;; LPCWSTR lpszNewItem, -;; UINT cmdInsert, -;; UINT flags); -;;#ifdef UNICODE -;;#define ChangeMenu ChangeMenuW -;;#else -;;#define ChangeMenu ChangeMenuA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;HiliteMenuItem( -;; HWND hWnd, -;; HMENU hMenu, -;; UINT uIDHiliteItem, -;; UINT uHilite); -;; -;;int -;;WINAPI -;;GetMenuStringA( -;; HMENU hMenu, -;; UINT uIDItem, -;; LPSTR lpString, -;; int nMaxCount, -;; UINT uFlag); -;;int -;;WINAPI -;;GetMenuStringW( -;; HMENU hMenu, -;; UINT uIDItem, -;; LPWSTR lpString, -;; int nMaxCount, -;; UINT uFlag); -;;#ifdef UNICODE -;;#define GetMenuString GetMenuStringW -;;#else -;;#define GetMenuString GetMenuStringA -;;#endif // !UNICODE -;; -;;UINT -;;WINAPI -;;GetMenuState( -;; HMENU hMenu, -;; UINT uId, -;; UINT uFlags); -;; -;;BOOL -;;WINAPI -;;DrawMenuBar( -;; HWND hWnd); -;; -;;HMENU -;;WINAPI -;;GetSystemMenu( -;; HWND hWnd, -;; BOOL bRevert); -;; -;;HMENU -;;WINAPI -;;CreateMenu( -;; VOID); -;; -;;HMENU -;;WINAPI -;;CreatePopupMenu( -;; VOID); -;; -;;BOOL -;;WINAPI -;;DestroyMenu( -;; HMENU hMenu); -;; -;;DWORD -;;WINAPI -;;CheckMenuItem( -;; HMENU hMenu, -;; UINT uIDCheckItem, -;; UINT uCheck); -;; -;;BOOL -;;WINAPI -;;EnableMenuItem( -;; HMENU hMenu, -;; UINT uIDEnableItem, -;; UINT uEnable); -;; -;;HMENU -;;WINAPI -;;GetSubMenu( -;; HMENU hMenu, -;; int nPos); -;; -;;UINT -;;WINAPI -;;GetMenuItemID( -;; HMENU hMenu, -;; int nPos); -;; -;;int -;;WINAPI -;;GetMenuItemCount( -;; HMENU hMenu); -;; -;;BOOL -;;WINAPI -;;InsertMenuA( -;; HMENU hMenu, -;; UINT uPosition, -;; UINT uFlags, -;; UINT uIDNewItem, -;; LPCSTR lpNewItem -;; ); -;;BOOL -;;WINAPI -;;InsertMenuW( -;; HMENU hMenu, -;; UINT uPosition, -;; UINT uFlags, -;; UINT uIDNewItem, -;; LPCWSTR lpNewItem -;; ); -;;#ifdef UNICODE -;;#define InsertMenu InsertMenuW -;;#else -;;#define InsertMenu InsertMenuA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;AppendMenuA( -;; HMENU hMenu, -;; UINT uFlags, -;; UINT uIDNewItem, -;; LPCSTR lpNewItem -;; ); -;;BOOL -;;WINAPI -;;AppendMenuW( -;; HMENU hMenu, -;; UINT uFlags, -;; UINT uIDNewItem, -;; LPCWSTR lpNewItem -;; ); -;;#ifdef UNICODE -;;#define AppendMenu AppendMenuW -;;#else -;;#define AppendMenu AppendMenuA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;ModifyMenuA( -;; HMENU hMnu, -;; UINT uPosition, -;; UINT uFlags, -;; UINT uIDNewItem, -;; LPCSTR lpNewItem -;; ); -;;BOOL -;;WINAPI -;;ModifyMenuW( -;; HMENU hMnu, -;; UINT uPosition, -;; UINT uFlags, -;; UINT uIDNewItem, -;; LPCWSTR lpNewItem -;; ); -;;#ifdef UNICODE -;;#define ModifyMenu ModifyMenuW -;;#else -;;#define ModifyMenu ModifyMenuA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI RemoveMenu( -;; HMENU hMenu, -;; UINT uPosition, -;; UINT uFlags); -;; -;;BOOL -;;WINAPI -;;DeleteMenu( -;; HMENU hMenu, -;; UINT uPosition, -;; UINT uFlags); -;; -;;BOOL -;;WINAPI -;;SetMenuItemBitmaps( -;; HMENU hMenu, -;; UINT uPosition, -;; UINT uFlags, -;; HBITMAP hBitmapUnchecked, -;; HBITMAP hBitmapChecked); -;; -;;LONG -;;WINAPI -;;GetMenuCheckMarkDimensions( -;; VOID); -;; -;;BOOL -;;WINAPI -;;TrackPopupMenu( -;; HMENU hMenu, -;; UINT uFlags, -;; int x, -;; int y, -;; int nReserved, -;; HWND hWnd, -;; CONST RECT *prcRect); -;; -;;/* ;; * Flags for TrackPopupMenu -;; */ (define-integrable TPM_LEFTBUTTON #x0000) (define-integrable TPM_RIGHTBUTTON #x0002) (define-integrable TPM_LEFTALIGN #x0000) (define-integrable TPM_CENTERALIGN #x0004) (define-integrable TPM_RIGHTALIGN #x0008) -;;#endif /* !NOMENUS */ -;; -;;BOOL -;;WINAPI -;;DrawIcon( -;; HDC hDC, -;; int X, -;; int Y, -;; HICON hIcon); -;; -;;#ifndef NODRAWTEXT -;; -;;/* -;; * DrawText() Format Flags -;; */ +;; * DrawText Format Flags (define-integrable DT_TOP #x0000) (define-integrable DT_LEFT #x0000) (define-integrable DT_CENTER #x0001) @@ -3336,148 +873,7 @@ (define-integrable DT_NOPREFIX #x0800) (define-integrable DT_INTERNAL #x1000) -;;#endif /* !NODRAWTEXT */ -;; -;;int -;;WINAPI DrawTextA( -;; HDC hDC, -;; LPCSTR lpString, -;; int nCount, -;; LPRECT lpRect, -;; UINT uFormat); -;;int -;;WINAPI DrawTextW( -;; HDC hDC, -;; LPCWSTR lpString, -;; int nCount, -;; LPRECT lpRect, -;; UINT uFormat); -;;#ifdef UNICODE -;;#define DrawText DrawTextW -;;#else -;;#define DrawText DrawTextA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;GrayStringA( -;; HDC hDC, -;; HBRUSH hBrush, -;; GRAYSTRINGPROC lpOutputFunc, -;; LPARAM lpData, -;; int nCount, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight); -;;BOOL -;;WINAPI -;;GrayStringW( -;; HDC hDC, -;; HBRUSH hBrush, -;; GRAYSTRINGPROC lpOutputFunc, -;; LPARAM lpData, -;; int nCount, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight); -;;#ifdef UNICODE -;;#define GrayString GrayStringW -;;#else -;;#define GrayString GrayStringA -;;#endif // !UNICODE -;; -;;LONG -;;WINAPI -;;TabbedTextOutA( -;; HDC hDC, -;; int X, -;; int Y, -;; LPCSTR lpString, -;; int nCount, -;; int nTabPositions, -;; LPINT lpnTabStopPositions, -;; int nTabOrigin); -;;LONG -;;WINAPI -;;TabbedTextOutW( -;; HDC hDC, -;; int X, -;; int Y, -;; LPCWSTR lpString, -;; int nCount, -;; int nTabPositions, -;; LPINT lpnTabStopPositions, -;; int nTabOrigin); -;;#ifdef UNICODE -;;#define TabbedTextOut TabbedTextOutW -;;#else -;;#define TabbedTextOut TabbedTextOutA -;;#endif // !UNICODE -;; -;;DWORD -;;WINAPI -;;GetTabbedTextExtentA( -;; HDC hDC, -;; LPCSTR lpString, -;; int nCount, -;; int nTabPositions, -;; LPINT lpnTabStopPositions); -;;DWORD -;;WINAPI -;;GetTabbedTextExtentW( -;; HDC hDC, -;; LPCWSTR lpString, -;; int nCount, -;; int nTabPositions, -;; LPINT lpnTabStopPositions); -;;#ifdef UNICODE -;;#define GetTabbedTextExtent GetTabbedTextExtentW -;;#else -;;#define GetTabbedTextExtent GetTabbedTextExtentA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;UpdateWindow( -;; HWND hWnd); -;; -;;HWND -;;WINAPI -;;SetActiveWindow( -;; HWND hWnd); -;; -;;HWND -;;WINAPI -;;GetForegroundWindow( -;; VOID); -;; -;;BOOL -;;WINAPI -;;SetForegroundWindow( -;; HWND hWnd); -;; -;;HWND -;;WINAPI -;;WindowFromDC( -;; HDC hDC); -;; -;;HDC -;;WINAPI -;;GetDC( -;; HWND hWnd); -;; -;;HDC -;;WINAPI -;;GetDCEx( -;; HWND hWnd , -;; HRGN hrgnClip, -;; DWORD flags); -;; -;;/* -;; * GetDCEx() flags -;; */ +;; * GetDCEx flags (define-integrable DCX_WINDOW #x00000001) (define-integrable DCX_CACHE #x00000002) (define-integrable DCX_NORESETATTRS #x00000004) @@ -3496,86 +892,7 @@ (define-integrable DCX_NORECOMPUTE #x00100000) (define-integrable DCX_VALIDATE #x00200000) - -;;HDC -;;WINAPI -;;GetWindowDC( -;; HWND hWnd); -;; -;;int -;;WINAPI -;;ReleaseDC( -;; HWND hWnd, -;; HDC hDC); -;; -;;HDC -;;WINAPI -;;BeginPaint( -;; HWND hWnd, -;; LPPAINTSTRUCT lpPaint); -;; -;;BOOL -;;WINAPI -;;EndPaint( -;; HWND hWnd, -;; CONST PAINTSTRUCT *lpPaint); -;; -;;BOOL -;;WINAPI -;;GetUpdateRect( -;; HWND hWnd, -;; LPRECT lpRect, -;; BOOL bErase); -;; -;;int -;;WINAPI -;;GetUpdateRgn( -;; HWND hWnd, -;; HRGN hRgn, -;; BOOL bErase); -;; -;;int -;;WINAPI -;;ExcludeUpdateRgn( -;; HDC hDC, -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;InvalidateRect( -;; HWND hWnd , -;; CONST RECT *lpRect, -;; BOOL bErase); -;; -;;BOOL -;;WINAPI -;;ValidateRect( -;; HWND hWnd , -;; CONST RECT *lpRect); -;; -;;BOOL -;;WINAPI -;;InvalidateRgn( -;; HWND hWnd, -;; HRGN hRgn, -;; BOOL bErase); -;; -;;BOOL -;;WINAPI -;;ValidateRgn( -;; HWND hWnd, -;; HRGN hRgn); -;; -;; -;;BOOL WINAPI RedrawWindow( -;; HWND hWnd, -;; CONST RECT *lprcUpdate, -;; HRGN hrgnUpdate, -;; UINT flags); -;; -;;/* -;; * RedrawWindow() flags -;; */ +;; * RedrawWindow flags (define-integrable RDW_INVALIDATE #x0001) (define-integrable RDW_INTERNALPAINT #x0002) (define-integrable RDW_ERASE #x0004) @@ -3593,102 +910,12 @@ (define-integrable RDW_FRAME #x0400) (define-integrable RDW_NOFRAME #x0800) - -;;/* ;; * LockWindowUpdate API -;; */ -;;BOOL -;;WINAPI -;;LockWindowUpdate( -;; HWND hWndLock); -;; -;;BOOL -;;WINAPI -;;ScrollWindow( -;; HWND hWnd, -;; int XAmount, -;; int YAmount, -;; CONST RECT *lpRect, -;; CONST RECT *lpClipRect); -;; -;;BOOL -;;WINAPI -;;ScrollDC( -;; HDC hDC, -;; int dx, -;; int dy, -;; CONST RECT *lprcScroll, -;; CONST RECT *lprcClip , -;; HRGN hrgnUpdate, -;; LPRECT lprcUpdate); -;; -;;int -;;WINAPI -;;ScrollWindowEx( -;; HWND hWnd, -;; int dx, -;; int dy, -;; CONST RECT *prcScroll, -;; CONST RECT *prcClip , -;; HRGN hrgnUpdate, -;; LPRECT prcUpdate, -;; UINT flags); - -(define-integrable SW_SCROLLCHILDREN #x0001) ; /* Scroll children within *lprcScroll. */ -(define-integrable SW_INVALIDATE #x0002) ; /* Invalidate after scrolling */ -(define-integrable SW_ERASE #x0004) ; /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */ - - -;;#ifndef NOSCROLL -;;int -;;WINAPI -;;SetScrollPos( -;; HWND hWnd, -;; int nBar, -;; int nPos, -;; BOOL bRedraw); -;; -;;int -;;WINAPI -;;GetScrollPos( -;; HWND hWnd, -;; int nBar); -;; -;;BOOL -;;WINAPI -;;SetScrollRange( -;; HWND hWnd, -;; int nBar, -;; int nMinPos, -;; int nMaxPos, -;; BOOL bRedraw); -;; -;;BOOL -;;WINAPI -;;GetScrollRange( -;; HWND hWnd, -;; int nBar, -;; LPINT lpMinPos, -;; LPINT lpMaxPos); -;; -;;BOOL -;;WINAPI -;;ShowScrollBar( -;; HWND hWnd, -;; int wBar, -;; BOOL bShow); -;; -;;BOOL -;;WINAPI -;;EnableScrollBar( -;; HWND hWnd, -;; UINT wSBflags, -;; UINT wArrows); -;; -;; -;;/* -;; * EnableScrollBar() flags -;; */ +(define-integrable SW_SCROLLCHILDREN #x0001) ;Scroll children within *lprcScroll. +(define-integrable SW_INVALIDATE #x0002) ;Invalidate after scrolling +(define-integrable SW_ERASE #x0004) ;If SW_INVALIDATE, don't send WM_ERASEBACKGROUND + +;; * EnableScrollBar flags (define-integrable ESB_ENABLE_BOTH #x0000) (define-integrable ESB_DISABLE_BOTH #x0003) @@ -3701,173 +928,7 @@ (define-integrable ESB_DISABLE_LTUP ESB_DISABLE_LEFT) (define-integrable ESB_DISABLE_RTDN ESB_DISABLE_RIGHT) - -;;#endif /* !NOSCROLL */ -;; -;;BOOL -;;WINAPI -;;SetPropA( -;; HWND hWnd, -;; LPCSTR lpString, -;; HANDLE hData); -;;BOOL -;;WINAPI -;;SetPropW( -;; HWND hWnd, -;; LPCWSTR lpString, -;; HANDLE hData); -;;#ifdef UNICODE -;;#define SetProp SetPropW -;;#else -;;#define SetProp SetPropA -;;#endif // !UNICODE -;; -;;HANDLE -;;WINAPI -;;GetPropA( -;; HWND hWnd, -;; LPCSTR lpString); -;;HANDLE -;;WINAPI -;;GetPropW( -;; HWND hWnd, -;; LPCWSTR lpString); -;;#ifdef UNICODE -;;#define GetProp GetPropW -;;#else -;;#define GetProp GetPropA -;;#endif // !UNICODE -;; -;;HANDLE -;;WINAPI -;;RemovePropA( -;; HWND hWnd, -;; LPCSTR lpString); -;;HANDLE -;;WINAPI -;;RemovePropW( -;; HWND hWnd, -;; LPCWSTR lpString); -;;#ifdef UNICODE -;;#define RemoveProp RemovePropW -;;#else -;;#define RemoveProp RemovePropA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;EnumPropsExA( -;; HWND hWnd, -;; PROPENUMPROC lpEnumFunc, -;; LPARAM lParam); -;;int -;;WINAPI -;;EnumPropsExW( -;; HWND hWnd, -;; PROPENUMPROC lpEnumFunc, -;; LPARAM lParam); -;;#ifdef UNICODE -;;#define EnumPropsEx EnumPropsExW -;;#else -;;#define EnumPropsEx EnumPropsExA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;EnumPropsA( -;; HWND hWnd, -;; PROPENUMPROC lpEnumFunc); -;;int -;;WINAPI -;;EnumPropsW( -;; HWND hWnd, -;; PROPENUMPROC lpEnumFunc); -;;#ifdef UNICODE -;;#define EnumProps EnumPropsW -;;#else -;;#define EnumProps EnumPropsA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;SetWindowTextA( -;; HWND hWnd, -;; LPCSTR lpString); -;;BOOL -;;WINAPI -;;SetWindowTextW( -;; HWND hWnd, -;; LPCWSTR lpString); -;;#ifdef UNICODE -;;#define SetWindowText SetWindowTextW -;;#else -;;#define SetWindowText SetWindowTextA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;GetWindowTextA( -;; HWND hWnd, -;; LPSTR lpString, -;; int nMaxCount); -;;int -;;WINAPI -;;GetWindowTextW( -;; HWND hWnd, -;; LPWSTR lpString, -;; int nMaxCount); -;;#ifdef UNICODE -;;#define GetWindowText GetWindowTextW -;;#else -;;#define GetWindowText GetWindowTextA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;GetWindowTextLengthA( -;; HWND hWnd); -;;int -;;WINAPI -;;GetWindowTextLengthW( -;; HWND hWnd); -;;#ifdef UNICODE -;;#define GetWindowTextLength GetWindowTextLengthW -;;#else -;;#define GetWindowTextLength GetWindowTextLengthA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;GetClientRect( -;; HWND hWnd, -;; LPRECT lpRect); -;; -;;BOOL -;;WINAPI -;;GetWindowRect( -;; HWND hWnd, -;; LPRECT lpRect); -;; -;;BOOL -;;WINAPI -;;AdjustWindowRect( -;; LPRECT lpRect, -;; DWORD dwStyle, -;; BOOL bMenu); -;; -;;BOOL -;;WINAPI -;;AdjustWindowRectEx( -;; LPRECT lpRect, -;; DWORD dwStyle, -;; BOOL bMenu, -;; DWORD dwExStyle); -;; -;;#ifndef NOMB -;; -;;/* -;; * MessageBox() Flags -;; */ +;; * MessageBox Flags (define-integrable MB_OK #x00000000) (define-integrable MB_OKCANCEL #x00000001) (define-integrable MB_ABORTRETRYIGNORE #x00000002) @@ -3901,171 +962,7 @@ (define-integrable MB_MODEMASK #x00003000) (define-integrable MB_MISCMASK #x0000C000) -;;int -;;WINAPI -;;MessageBoxA( -;; HWND hWnd , -;; LPCSTR lpText, -;; LPCSTR lpCaption , -;; UINT uType); -;;int -;;WINAPI -;;MessageBoxW( -;; HWND hWnd , -;; LPCWSTR lpText, -;; LPCWSTR lpCaption , -;; UINT uType); -;;#ifdef UNICODE -;;#define MessageBox MessageBoxW -;;#else -;;#define MessageBox MessageBoxA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;MessageBoxExA( -;; HWND hWnd , -;; LPCSTR lpText, -;; LPCSTR lpCaption , -;; UINT uType, -;; WORD wLanguageId); -;;int -;;WINAPI -;;MessageBoxExW( -;; HWND hWnd , -;; LPCWSTR lpText, -;; LPCWSTR lpCaption , -;; UINT uType, -;; WORD wLanguageId); -;;#ifdef UNICODE -;;#define MessageBoxEx MessageBoxExW -;;#else -;;#define MessageBoxEx MessageBoxExA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;MessageBeep( -;; UINT uType); -;; -;;#endif /* !NOMB */ -;; -;;int -;;WINAPI -;;ShowCursor( -;; BOOL bShow); -;; -;;BOOL -;;WINAPI -;;SetCursorPos( -;; int X, -;; int Y); -;; -;;HCURSOR -;;WINAPI -;;SetCursor( -;; HCURSOR hCursor); -;; -;;BOOL -;;WINAPI -;;GetCursorPos( -;; LPPOINT lpPoint); -;; -;;BOOL -;;WINAPI -;;ClipCursor( -;; CONST RECT *lpRect); -;; -;;BOOL -;;WINAPI -;;GetClipCursor( -;; LPRECT lpRect); -;; -;;HCURSOR -;;WINAPI -;;GetCursor( -;; VOID); -;; -;;BOOL -;;WINAPI -;;CreateCaret( -;; HWND hWnd, -;; HBITMAP hBitmap , -;; int nWidth, -;; int nHeight); -;; -;;UINT -;;WINAPI -;;GetCaretBlinkTime( -;; VOID); -;; -;;BOOL -;;WINAPI -;;SetCaretBlinkTime( -;; UINT uMSeconds); -;; -;;BOOL -;;WINAPI -;;DestroyCaret( -;; VOID); -;; -;;BOOL -;;WINAPI -;;HideCaret( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;ShowCaret( -;; HWND hWnd); -;; -;;BOOL -;;WINAPI -;;SetCaretPos( -;; int X, -;; int Y); -;; -;;BOOL -;;WINAPI -;;GetCaretPos( -;; LPPOINT lpPoint); -;; -;;BOOL -;;WINAPI -;;ClientToScreen( -;; HWND hWnd, -;; LPPOINT lpPoint); -;; -;;BOOL -;;WINAPI -;;ScreenToClient( -;; HWND hWnd, -;; LPPOINT lpPoint); -;; -;;int -;;WINAPI -;;MapWindowPoints( -;; HWND hWndFrom, -;; HWND hWndTo, -;; LPPOINT lpPoints, -;; UINT cPoints); -;; -;;HWND -;;WINAPI -;;WindowFromPoint( -;; POINT Point); -;; -;;HWND -;;WINAPI -;;ChildWindowFromPoint( -;; HWND hWndParent, -;; POINT Point); -;; -;;#ifndef NOCOLOR -;; -;;/* ;; * Color Types -;; */ (define-integrable CTLCOLOR_MSGBOX 0) (define-integrable CTLCOLOR_EDIT 1) (define-integrable CTLCOLOR_LISTBOX 2) @@ -4073,7 +970,7 @@ (define-integrable CTLCOLOR_DLG 4) (define-integrable CTLCOLOR_SCROLLBAR 5) (define-integrable CTLCOLOR_STATIC 6) -(define-integrable CTLCOLOR_MAX 8) ; /* three bits max */ +(define-integrable CTLCOLOR_MAX 8) ;three bits max (define-integrable COLOR_SCROLLBAR 0) (define-integrable COLOR_BACKGROUND 1) @@ -4097,319 +994,7 @@ (define-integrable COLOR_INACTIVECAPTIONTEXT 19) (define-integrable COLOR_BTNHIGHLIGHT 20) -;;DWORD -;;WINAPI -;;GetSysColor( -;; int nIndex); -;; -;;BOOL -;;WINAPI -;;SetSysColors( -;; int cElements, -;; CONST INT * lpaElements, -;; CONST COLORREF * lpaRgbValues); -;; -;;#endif /* !NOCOLOR */ -;; -;;BOOL -;;WINAPI -;;DrawFocusRect( -;; HDC hDC, -;; CONST RECT * lprc); -;; -;;int -;;WINAPI -;;FillRect( -;; HDC hDC, -;; CONST RECT *lprc, -;; HBRUSH hbr); -;; -;;int -;;WINAPI -;;FrameRect( -;; HDC hDC, -;; CONST RECT *lprc, -;; HBRUSH hbr); -;; -;;BOOL -;;WINAPI -;;InvertRect( -;; HDC hDC, -;; CONST RECT *lprc); -;; -;;BOOL -;;WINAPI -;;SetRect( -;; LPRECT lprc, -;; int xLeft, -;; int yTop, -;; int xRight, -;; int yBottom); -;; -;;BOOL -;;WINAPI -;; SetRectEmpty( -;; LPRECT lprc); -;; -;;BOOL -;;WINAPI -;;CopyRect( -;; LPRECT lprcDst, -;; CONST RECT *lprcSrc); -;; -;;BOOL -;;WINAPI -;;InflateRect( -;; LPRECT lprc, -;; int dx, -;; int dy); -;; -;;BOOL -;;WINAPI -;;IntersectRect( -;; LPRECT lprcDst, -;; CONST RECT *lprcSrc1, -;; CONST RECT *lprcSrc2); -;; -;;BOOL -;;WINAPI -;;UnionRect( -;; LPRECT lprcDst, -;; CONST RECT *lprcSrc1, -;; CONST RECT *lprcSrc2); -;; -;;BOOL -;;WINAPI -;;SubtractRect( -;; LPRECT lprcDst, -;; CONST RECT *lprcSrc1, -;; CONST RECT *lprcSrc2); -;; -;;BOOL -;;WINAPI -;;OffsetRect( -;; LPRECT lprc, -;; int dx, -;; int dy); -;; -;;BOOL -;;WINAPI -;;IsRectEmpty( -;; CONST RECT *lprc); -;; -;;BOOL -;;WINAPI -;;EqualRect( -;; CONST RECT *lprc1, -;; CONST RECT *lprc2); -;; -;;BOOL -;;WINAPI -;;PtInRect( -;; CONST RECT *lprc, -;; POINT pt); -;; -;;#ifndef NOWINOFFSETS -;; -;;WORD -;;WINAPI -;;GetWindowWord( -;; HWND hWnd, -;; int nIndex); -;; -;;WORD -;;WINAPI -;;SetWindowWord( -;; HWND hWnd, -;; int nIndex, -;; WORD wNewWord); -;; -;;LONG -;;WINAPI -;;GetWindowLongA( -;; HWND hWnd, -;; int nIndex); -;;LONG -;;WINAPI -;;GetWindowLongW( -;; HWND hWnd, -;; int nIndex); -;;#ifdef UNICODE -;;#define GetWindowLong GetWindowLongW -;;#else -;;#define GetWindowLong GetWindowLongA -;;#endif // !UNICODE -;; -;;LONG -;;WINAPI -;;SetWindowLongA( -;; HWND hWnd, -;; int nIndex, -;; LONG dwNewLong); -;;LONG -;;WINAPI -;;SetWindowLongW( -;; HWND hWnd, -;; int nIndex, -;; LONG dwNewLong); -;;#ifdef UNICODE -;;#define SetWindowLong SetWindowLongW -;;#else -;;#define SetWindowLong SetWindowLongA -;;#endif // !UNICODE -;; -;;WORD -;;WINAPI -;;GetClassWord( -;; HWND hWnd, -;; int nIndex); -;; -;;WORD -;;WINAPI -;;SetClassWord( -;; HWND hWnd, -;; int nIndex, -;; WORD wNewWord); -;; -;;DWORD -;;WINAPI -;;GetClassLongA( -;; HWND hWnd, -;; int nIndex); -;;DWORD -;;WINAPI -;;GetClassLongW( -;; HWND hWnd, -;; int nIndex); -;;#ifdef UNICODE -;;#define GetClassLong GetClassLongW -;;#else -;;#define GetClassLong GetClassLongA -;;#endif // !UNICODE -;; -;;DWORD -;;WINAPI -;;SetClassLongA( -;; HWND hWnd, -;; int nIndex, -;; LONG dwNewLong); -;;DWORD -;;WINAPI -;;SetClassLongW( -;; HWND hWnd, -;; int nIndex, -;; LONG dwNewLong); -;;#ifdef UNICODE -;;#define SetClassLong SetClassLongW -;;#else -;;#define SetClassLong SetClassLongA -;;#endif // !UNICODE -;; -;;#endif /* !NOWINOFFSETS */ -;; -;;HWND -;;WINAPI -;;GetDesktopWindow( -;; VOID); -;; -;;BOOL -;;WINAPI -;;SetDeskWallpaper( -;; LPCSTR lpString); -;; -;;HWND -;;WINAPI -;;GetParent( -;; HWND hWnd); -;; -;;HWND -;;WINAPI -;;SetParent( -;; HWND hWndChild, -;; HWND hWndNewParent); -;; -;;BOOL -;;WINAPI -;;EnumChildWindows( -;; HWND hWndParent, -;; WNDENUMPROC lpEnumFunc, -;; LPARAM lParam); -;; -;;HWND -;;WINAPI -;;FindWindowA( -;; LPCSTR lpClassName , -;; LPCSTR lpWindowName); -;;HWND -;;WINAPI -;;FindWindowW( -;; LPCWSTR lpClassName , -;; LPCWSTR lpWindowName); -;;#ifdef UNICODE -;;#define FindWindow FindWindowW -;;#else -;;#define FindWindow FindWindowA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;EnumWindows( -;; WNDENUMPROC lpEnumFunc, -;; LPARAM lParam); -;; -;;BOOL -;;WINAPI -;;EnumThreadWindows( -;; DWORD dwThreadId, -;; WNDENUMPROC lpfn, -;; LPARAM lParam); -;; -;;#define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows((DWORD)hTask, lpfn, lParam) -;; -;;int -;;WINAPI -;;GetClassNameA( -;; HWND hWnd, -;; LPSTR lpClassName, -;; int nMaxCount); -;;int -;;WINAPI -;;GetClassNameW( -;; HWND hWnd, -;; LPWSTR lpClassName, -;; int nMaxCount); -;;#ifdef UNICODE -;;#define GetClassName GetClassNameW -;;#else -;;#define GetClassName GetClassNameA -;;#endif // !UNICODE -;; -;;HWND -;;WINAPI -;;GetTopWindow( -;; HWND hWnd); -;; -;;#define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd) -;;#define GetSysModalWindow() (NULL) -;;#define SetSysModalWindow(hWnd) (NULL) -;; -;;DWORD -;;WINAPI -;;GetWindowThreadProcessId( -;; HWND hWnd, -;; LPDWORD lpdwProcessId); -;; -;;#define GetWindowTask(hWnd) \ -;; ((HANDLE)GetWindowThreadProcessId(hWnd, NULL)) -;; -;;HWND -;;WINAPI -;;GetLastActivePopup( -;; HWND hWnd); -;; -;;/* -;; * GetWindow() Constants -;; */ +;; * GetWindow Constants (define-integrable GW_HWNDFIRST 0) (define-integrable GW_HWNDLAST 1) (define-integrable GW_HWNDNEXT 2) @@ -4418,108 +1003,7 @@ (define-integrable GW_CHILD 5) (define-integrable GW_MAX 5) -;;HWND -;;WINAPI -;;GetWindow( -;; HWND hWnd, -;; UINT uCmd); -;; -;;#ifndef NOWH -;; -;;#ifdef STRICT -;; -;;HHOOK -;;WINAPI -;;SetWindowsHookA( -;; int nFilterType, -;; HOOKPROC pfnFilterProc); -;;HHOOK -;;WINAPI -;;SetWindowsHookW( -;; int nFilterType, -;; HOOKPROC pfnFilterProc); -;;#ifdef UNICODE -;;#define SetWindowsHook SetWindowsHookW -;;#else -;;#define SetWindowsHook SetWindowsHookA -;;#endif // !UNICODE -;; -;;#else /* !STRICT */ -;; -;;HOOKPROC -;;WINAPI -;;SetWindowsHookA( -;; int nFilterType, -;; HOOKPROC pfnFilterProc); -;;HOOKPROC -;;WINAPI -;;SetWindowsHookW( -;; int nFilterType, -;; HOOKPROC pfnFilterProc); -;;#ifdef UNICODE -;;#define SetWindowsHook SetWindowsHookW -;;#else -;;#define SetWindowsHook SetWindowsHookA -;;#endif // !UNICODE -;; -;;#endif /* !STRICT */ -;; -;;BOOL -;;WINAPI -;;UnhookWindowsHook( -;; int nCode, -;; HOOKPROC pfnFilterProc); -;; -;;HHOOK -;;WINAPI -;;SetWindowsHookExA( -;; int idHook, -;; HOOKPROC lpfn, -;; HINSTANCE hmod, -;; DWORD dwThreadId); -;;HHOOK -;;WINAPI -;;SetWindowsHookExW( -;; int idHook, -;; HOOKPROC lpfn, -;; HINSTANCE hmod, -;; DWORD dwThreadId); -;;#ifdef UNICODE -;;#define SetWindowsHookEx SetWindowsHookExW -;;#else -;;#define SetWindowsHookEx SetWindowsHookExA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;UnhookWindowsHookEx( -;; HHOOK hhk); -;; -;;LRESULT -;;WINAPI CallNextHookEx( -;; HHOOK hhk, -;; int nCode, -;; WPARAM wParam, -;; LPARAM lParam); -;; -;;/* -;; * Macros for source-level compatibility with old functions. -;; */ -;;#ifdef STRICT -;;#define DefHookProc(nCode, wParam, lParam, phhk)\ -;; CallNextHookEx(*phhk, nCode, wParam, lParam) -;;#else -;;#define DefHookProc(nCode, wParam, lParam, phhk)\ -;; CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam) -;;#endif // STRICT -;; -;;#endif /* !NOWH */ -;; -;;#ifndef NOMENUS -;; -;;/* -;; * Menu flags for Add/Check/EnableMenuItem() -;; */ +;; * Menu flags for Add/Check/EnableMenuItem (define-integrable MF_INSERT #x00000000) (define-integrable MF_CHANGE #x00000080) (define-integrable MF_APPEND #x00000100) @@ -4554,30 +1038,7 @@ (define-integrable MF_HELP #x00004000) (define-integrable MF_MOUSESELECT #x00008000) - -;;/* -;; * Menu item resource format -;; */ -;;typedef struct { -;; WORD versionNumber; -;; WORD offset; -;;} MENUITEMTEMPLATEHEADER; -;; -;;typedef struct { -;; WORD mtOption; -;; WORD mtID; -;; char mtString[1]; -;;} MENUITEMTEMPLATE; -;; -;;#define MF_END 0x00000080L -;; -;;#endif /* !NOMENUS */ -;; -;;#ifndef NOSYSCOMMANDS -;; -;;/* ;; * System Menu Command Values -;; */ (define-integrable SC_SIZE #xF000) (define-integrable SC_MOVE #xF010) (define-integrable SC_MINIMIZE #xF020) @@ -4595,71 +1056,11 @@ (define-integrable SC_SCREENSAVE #xF140) (define-integrable SC_HOTKEY #xF150) -;;/* ;; * Obsolete names -;; */ (define-integrable SC_ICON SC_MINIMIZE) (define-integrable SC_ZOOM SC_MAXIMIZE) -;;#endif /* !NOSYSCOMMANDS */ -;; -;;/* -;; * Resource Loading Routines -;; */ -;; -;;HBITMAP -;;WINAPI -;;LoadBitmapA( -;; HINSTANCE hInstance, -;; LPCSTR lpBitmapName); -;;HBITMAP -;;WINAPI -;;LoadBitmapW( -;; HINSTANCE hInstance, -;; LPCWSTR lpBitmapName); -;;#ifdef UNICODE -;;#define LoadBitmap LoadBitmapW -;;#else -;;#define LoadBitmap LoadBitmapA -;;#endif // !UNICODE -;; -;;HCURSOR -;;WINAPI -;;LoadCursorA( -;; HINSTANCE hInstance, -;; LPCSTR lpCursorName); -;;HCURSOR -;;WINAPI -;;LoadCursorW( -;; HINSTANCE hInstance, -;; LPCWSTR lpCursorName); -;;#ifdef UNICODE -;;#define LoadCursor LoadCursorW -;;#else -;;#define LoadCursor LoadCursorA -;;#endif // !UNICODE -;; -;;HCURSOR -;;WINAPI -;;CreateCursor( -;; HINSTANCE hInst, -;; int xHotSpot, -;; int yHotSpot, -;; int nWidth, -;; int nHeight, -;; CONST VOID *pvANDPlane, -;; CONST VOID *pvXORPlane); -;; -;;BOOL -;;WINAPI -;;DestroyCursor( -;; HCURSOR hCursor); -;; -;;#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur))) -;; -;;/* ;; * Standard Cursor IDs -;; */ (define-integrable IDC_ARROW 32512) (define-integrable IDC_IBEAM 32513) (define-integrable IDC_WAIT 32514) @@ -4675,82 +1076,7 @@ (define-integrable IDC_NO 32648) ; //not in win3.1 (define-integrable IDC_APPSTARTING 32650) ; //not in win3.1 -;;typedef struct _ICONINFO { -;; BOOL fIcon; -;; DWORD xHotspot; -;; DWORD yHotspot; -;; HBITMAP hbmMask; -;; HBITMAP hbmColor; -;;} ICONINFO; -;;typedef ICONINFO *PICONINFO; -;; -;;HICON -;;WINAPI -;;LoadIconA( -;; HINSTANCE hInstance, -;; LPCSTR lpIconName); -;;HICON -;;WINAPI -;;LoadIconW( -;; HINSTANCE hInstance, -;; LPCWSTR lpIconName); -;;#ifdef UNICODE -;;#define LoadIcon LoadIconW -;;#else -;;#define LoadIcon LoadIconA -;;#endif // !UNICODE -;; -;;HICON -;;WINAPI -;;CreateIcon( -;; HINSTANCE hInstance, -;; int nWidth, -;; int nHeight, -;; BYTE cPlanes, -;; BYTE cBitsPixel, -;; CONST BYTE *lpbANDbits, -;; CONST BYTE *lpbXORbits); -;; -;;BOOL -;;WINAPI -;;DestroyIcon( -;; HICON hIcon); -;; -;;int -;;WINAPI -;;LookupIconIdFromDirectory( -;; PBYTE presbits, -;; BOOL fIcon); -;; -;;HICON -;;WINAPI -;;CreateIconFromResource( -;; PBYTE presbits, -;; DWORD dwResSize, -;; BOOL fIcon, -;; DWORD dwVer); -;; -;;HICON -;;WINAPI -;;CreateIconIndirect( -;; PICONINFO piconinfo); -;; -;;HICON -;;WINAPI -;;CopyIcon( -;; HICON hIcon); -;; -;;BOOL -;;WINAPI -;;GetIconInfo( -;; HICON hIcon, -;; PICONINFO piconinfo); -;; -;;#ifdef OEMRESOURCE -;; -;;/* ;; * OEM Resource Ordinal Numbers -;; */ (define-integrable OBM_CLOSE 32754) (define-integrable OBM_UPARROW 32753) (define-integrable OBM_DNARROW 32752) @@ -4808,48 +1134,16 @@ (define-integrable OIC_BANG 32515) (define-integrable OIC_NOTE 32516) -;;#endif /* OEMRESOURCE */ +(define-integrable ORD_LANGDRIVER 1) ;The ordinal number for the entry point of -(define-integrable ORD_LANGDRIVER 1) ; /* The ordinal number for the entry point of -;; ** language drivers. -;; */ -;; -;;#ifndef NOICONS -;; -;;/* ;; * Standard Icon IDs -;; */ (define-integrable IDI_APPLICATION 32512) (define-integrable IDI_HAND 32513) (define-integrable IDI_QUESTION 32514) (define-integrable IDI_EXCLAMATION 32515) (define-integrable IDI_ASTERISK 32516) -;;#endif /* !NOICONS */ -;; -;;int -;;WINAPI -;;LoadStringA( -;; HINSTANCE hInstance, -;; UINT uID, -;; LPSTR lpBuffer, -;; int nBufferMax); -;;int -;;WINAPI -;;LoadStringW( -;; HINSTANCE hInstance, -;; UINT uID, -;; LPWSTR lpBuffer, -;; int nBufferMax); -;;#ifdef UNICODE -;;#define LoadString LoadStringW -;;#else -;;#define LoadString LoadStringA -;;#endif // !UNICODE -;; -;;/* ;; * Dialog Box Command IDs -;; */ (define-integrable IDOK 1) (define-integrable IDCANCEL 2) (define-integrable IDABORT 3) @@ -4858,17 +1152,7 @@ (define-integrable IDYES 6) (define-integrable IDNO 7) -;;#ifndef NOCTLMGR -;; -;;/* -;; * Control Manager Structures and Definitions -;; */ -;; -;;#ifndef NOWINSTYLES -;; -;;/* ;; * Edit Control Styles -;; */ (define-integrable ES_LEFT #x0000) (define-integrable ES_CENTER #x0001) (define-integrable ES_RIGHT #x0002) @@ -4884,11 +1168,7 @@ (define-integrable ES_WANTRETURN #x1000) -;;#endif /* !NOWINSTYLES */ -;; -;;/* ;; * Edit Control Notification Codes -;; */ (define-integrable EN_SETFOCUS #x0100) (define-integrable EN_KILLFOCUS #x0200) (define-integrable EN_CHANGE #x0300) @@ -4898,11 +1178,7 @@ (define-integrable EN_HSCROLL #x0601) (define-integrable EN_VSCROLL #x0602) -;;#ifndef NOWINMESSAGES -;; -;;/* ;; * Edit Control Messages -;; */ (define-integrable EM_GETSEL #x00B0) (define-integrable EM_SETSEL #x00B1) (define-integrable EM_GETRECT #x00B2) @@ -4935,18 +1211,12 @@ (define-integrable EM_GETWORDBREAKPROC #x00D1) (define-integrable EM_GETPASSWORDCHAR #x00D2) -;;#endif /* !NOWINMESSAGES */ -;; -;;/* ;; * EDITWORDBREAKPROC code values -;; */ (define-integrable WB_LEFT 0) (define-integrable WB_RIGHT 1) (define-integrable WB_ISDELIMITER 2) -;;/* ;; * Button Control Styles -;; */ (define-integrable BS_PUSHBUTTON #x00) (define-integrable BS_DEFPUSHBUTTON #x01) (define-integrable BS_CHECKBOX #x02) @@ -4960,10 +1230,7 @@ (define-integrable BS_OWNERDRAW #x0B) (define-integrable BS_LEFTTEXT #x20) - -;;/* ;; * User Button Notification Codes -;; */ (define-integrable BN_CLICKED 0) (define-integrable BN_PAINT 1) (define-integrable BN_HILITE 2) @@ -4971,18 +1238,14 @@ (define-integrable BN_DISABLE 4) (define-integrable BN_DOUBLECLICKED 5) -;;/* ;; * Button Control Messages -;; */ (define-integrable BM_GETCHECK #x00F0) (define-integrable BM_SETCHECK #x00F1) (define-integrable BM_GETSTATE #x00F2) (define-integrable BM_SETSTATE #x00F3) (define-integrable BM_SETSTYLE #x00F4) -;;/* ;; * Static Control Constants -;; */ (define-integrable SS_LEFT #x00) (define-integrable SS_CENTER #x01) (define-integrable SS_RIGHT #x02) @@ -4996,72 +1259,22 @@ (define-integrable SS_USERITEM #x0A) (define-integrable SS_SIMPLE #x0B) (define-integrable SS_LEFTNOWORDWRAP #x0C) -(define-integrable SS_NOPREFIX #x80) ; /* Don't do "&" character translation */ +(define-integrable SS_NOPREFIX #x80) ;Don't do "&" character translation -;;#ifndef NOWINMESSAGES -;;/* ;; * Static Control Mesages -;; */ (define-integrable STM_SETICON #x170) (define-integrable STM_GETICON #x171) (define-integrable STM_MSGMAX #x172) -;;#endif /* !NOWINMESSAGES */ -;;/* ;; * Dialog window class -;; */ (define-integrable WC_DIALOG #x8002) ; (MAKEINTATOM(0x8002)) -;;/* ;; * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows -;; */ (define-integrable DWL_MSGRESULT 0) (define-integrable DWL_DLGPROC 4) (define-integrable DWL_USER 8) -;;/* -;; * Dialog Manager Routines -;; */ -;; -;;#ifndef NOMSG -;;BOOL -;;WINAPI -;;IsDialogMessage( -;; HWND hDlg, -;; LPMSG lpMsg); -;;#endif /* !NOMSG */ -;; -;;BOOL -;;WINAPI -;;MapDialogRect( -;; HWND hDlg, -;; LPRECT lpRect); -;; -;;int -;;WINAPI -;;DlgDirListA( -;; HWND hDlg, -;; LPSTR lpPathSpec, -;; int nIDListBox, -;; int nIDStaticPath, -;; UINT uFileType); -;;int -;;WINAPI -;;DlgDirListW( -;; HWND hDlg, -;; LPWSTR lpPathSpec, -;; int nIDListBox, -;; int nIDStaticPath, -;; UINT uFileType); -;;#ifdef UNICODE -;;#define DlgDirList DlgDirListW -;;#else -;;#define DlgDirList DlgDirListA -;;#endif // !UNICODE -;; -;;/* ;; * DlgDirList, DlgDirListComboBox flags values -;; */ (define-integrable DDL_READWRITE #x0000) (define-integrable DDL_READONLY #x0001) (define-integrable DDL_HIDDEN #x0002) @@ -5073,123 +1286,42 @@ (define-integrable DDL_DRIVES #x4000) (define-integrable DDL_EXCLUSIVE #x8000) - -;;BOOL -;;WINAPI -;;DlgDirSelectExA( -;; HWND hDlg, -;; LPSTR lpString, -;; int nCount, -;; int nIDListBox); -;;BOOL -;;WINAPI -;;DlgDirSelectExW( -;; HWND hDlg, -;; LPWSTR lpString, -;; int nCount, -;; int nIDListBox); -;;#ifdef UNICODE -;;#define DlgDirSelectEx DlgDirSelectExW -;;#else -;;#define DlgDirSelectEx DlgDirSelectExA -;;#endif // !UNICODE -;; -;;int -;;WINAPI -;;DlgDirListComboBoxA( -;; HWND hDlg, -;; LPSTR lpPathSpec, -;; int nIDComboBox, -;; int nIDStaticPath, -;; UINT uFiletype); -;;int -;;WINAPI -;;DlgDirListComboBoxW( -;; HWND hDlg, -;; LPWSTR lpPathSpec, -;; int nIDComboBox, -;; int nIDStaticPath, -;; UINT uFiletype); -;;#ifdef UNICODE -;;#define DlgDirListComboBox DlgDirListComboBoxW -;;#else -;;#define DlgDirListComboBox DlgDirListComboBoxA -;;#endif // !UNICODE -;; -;;BOOL -;;WINAPI -;;DlgDirSelectComboBoxExA( -;; HWND hDlg, -;; LPSTR lpString, -;; int nCount, -;; int nIDComboBox); -;;BOOL -;;WINAPI -;;DlgDirSelectComboBoxExW( -;; HWND hDlg, -;; LPWSTR lpString, -;; int nCount, -;; int nIDComboBox); -;;#ifdef UNICODE -;;#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW -;;#else -;;#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA -;;#endif // !UNICODE -;; -;;/* ;; * Dialog Styles -;; */ (define-integrable DS_ABSALIGN #x01) (define-integrable DS_SYSMODAL #x02) -(define-integrable DS_LOCALEDIT #x20) ; /* Edit items get Local storage. */ -(define-integrable DS_SETFONT #x40) ; /* User specified font for Dlg controls */ -(define-integrable DS_MODALFRAME #x80) ; /* Can be combined with WS_CAPTION */ -(define-integrable DS_NOIDLEMSG #x100) ; /* WM_ENTERIDLE message will not be sent */ +(define-integrable DS_LOCALEDIT #x20) ;Edit items get Local storage. +(define-integrable DS_SETFONT #x40) ;User specified font for Dlg controls +(define-integrable DS_MODALFRAME #x80) ;Can be combined with WS_CAPTION +(define-integrable DS_NOIDLEMSG #x100) ;WM_ENTERIDLE message will not be sent (define-integrable DS_SETFOREGROUND #x200) ; //not in win3.1 (define-integrable DM_GETDEFID (+ WM_USER 0)) (define-integrable DM_SETDEFID (+ WM_USER 1)) -;;/* -;; * Returned in HIWORD() of DM_GETDEFID result if msg is supported -;; */ +;; * Returned in HIWORD of DM_GETDEFID result if msg is supported (define-integrable DC_HASDEFID #x534B) -;;/* ;; * Dialog Codes -;; */ -(define-integrable DLGC_WANTARROWS #x0001) ; /* Control wants arrow keys */ -(define-integrable DLGC_WANTTAB #x0002) ; /* Control wants tab keys */ -(define-integrable DLGC_WANTALLKEYS #x0004) ; /* Control wants all keys */ -(define-integrable DLGC_WANTMESSAGE #x0004) ; /* Pass message to control */ -(define-integrable DLGC_HASSETSEL #x0008) ; /* Understands EM_SETSEL message */ -(define-integrable DLGC_DEFPUSHBUTTON #x0010) ; /* Default pushbutton */ -(define-integrable DLGC_UNDEFPUSHBUTTON #x0020) ; /* Non-default pushbutton */ -(define-integrable DLGC_RADIOBUTTON #x0040) ; /* Radio button */ -(define-integrable DLGC_WANTCHARS #x0080) ; /* Want WM_CHAR messages */ -(define-integrable DLGC_STATIC #x0100) ; /* Static item: don't include */ -(define-integrable DLGC_BUTTON #x2000) ; /* Button item: can be checked */ +(define-integrable DLGC_WANTARROWS #x0001) ;Control wants arrow keys +(define-integrable DLGC_WANTTAB #x0002) ;Control wants tab keys +(define-integrable DLGC_WANTALLKEYS #x0004) ;Control wants all keys +(define-integrable DLGC_WANTMESSAGE #x0004) ;Pass message to control +(define-integrable DLGC_HASSETSEL #x0008) ;Understands EM_SETSEL message +(define-integrable DLGC_DEFPUSHBUTTON #x0010) ;Default pushbutton +(define-integrable DLGC_UNDEFPUSHBUTTON #x0020) ;Non-default pushbutton +(define-integrable DLGC_RADIOBUTTON #x0040) ;Radio button +(define-integrable DLGC_WANTCHARS #x0080) ;Want WM_CHAR messages +(define-integrable DLGC_STATIC #x0100) ;Static item: don't include +(define-integrable DLGC_BUTTON #x2000) ;Button item: can be checked (define-integrable LB_CTLCODE 0) -;;/* ;; * Listbox Return Values -;; */ (define-integrable LB_OKAY 0) (define-integrable LB_ERR -1) (define-integrable LB_ERRSPACE -2) -;;/* -;;** The idStaticPath parameter to DlgDirList can have the following values -;;** ORed if the list box should show other details of the files along with -;;** the name of the files; -;;*/ -;; /* all other details also will be returned */ -;; -;; -;;/* ;; * Listbox Notification Codes -;; */ (define-integrable LBN_ERRSPACE -2) (define-integrable LBN_SELCHANGE 1) (define-integrable LBN_DBLCLK 2) @@ -5197,13 +1329,7 @@ (define-integrable LBN_SETFOCUS 4) (define-integrable LBN_KILLFOCUS 5) - - -;;#ifndef NOWINMESSAGES -;; -;;/* ;; * Listbox messages -;; */ (define-integrable LB_ADDSTRING #x0180) (define-integrable LB_INSERTSTRING #x0181) (define-integrable LB_DELETESTRING #x0182) @@ -5244,13 +1370,7 @@ (define-integrable LB_SETCOUNT #x01A7) (define-integrable LB_MSGMAX #x01A8) -;;#endif /* !NOWINMESSAGES */ -;; -;;#ifndef NOWINSTYLES -;; -;;/* ;; * Listbox Styles -;; */ (define-integrable LBS_NOTIFY #x0001) (define-integrable LBS_SORT #x0002) (define-integrable LBS_NOREDRAW #x0004) @@ -5267,20 +1387,12 @@ (define-integrable LBS_NODATA #x2000) (define-integrable LBS_STANDARD (+ LBS_NOTIFY LBS_SORT WS_VSCROLL WS_BORDER)) -;;#endif /* !NOWINSTYLES */ -;; -;; -;;/* ;; * Combo Box return Values -;; */ (define-integrable CB_OKAY 0) (define-integrable CB_ERR -1) (define-integrable CB_ERRSPACE -2) - -;;/* ;; * Combo Box Notification Codes -;; */ (define-integrable CBN_ERRSPACE -1) (define-integrable CBN_SELCHANGE 1) (define-integrable CBN_DBLCLK 2) @@ -5293,10 +1405,7 @@ (define-integrable CBN_SELENDOK 9) (define-integrable CBN_SELENDCANCEL 10) -;;/* ;; * Combo Box styles -;; */ -;;#ifndef NOWINSTYLES (define-integrable CBS_SIMPLE #x0001) (define-integrable CBS_DROPDOWN #x0002) (define-integrable CBS_DROPDOWNLIST #x0003) @@ -5308,13 +1417,8 @@ (define-integrable CBS_HASSTRINGS #x0200) (define-integrable CBS_NOINTEGRALHEIGHT #x0400) (define-integrable CBS_DISABLENOSCROLL #x0800) -;;#endif /* !NOWINSTYLES */ - -;;/* ;; * Combo Box messages -;; */ -;;#ifndef NOWINMESSAGES (define-integrable CB_GETEDITSEL #x0140) (define-integrable CB_LIMITTEXT #x0141) (define-integrable CB_SETEDITSEL #x0142) @@ -5343,15 +1447,8 @@ (define-integrable CB_SETLOCALE #x0159) (define-integrable CB_GETLOCALE #x015a) (define-integrable CB_MSGMAX #x015b) -;;#endif /* !NOWINMESSAGES */ - - -;;#ifndef NOWINSTYLES -;; -;;/* ;; * Scroll Bar Styles -;; */ (define-integrable SBS_HORZ #x0000) (define-integrable SBS_VERT #x0001) (define-integrable SBS_TOPALIGN #x0002) @@ -5361,263 +1458,40 @@ (define-integrable SBS_SIZEBOXTOPLEFTALIGN #x0002) (define-integrable SBS_SIZEBOXBOTTOMRIGHTALIGN #x0004) (define-integrable SBS_SIZEBOX #x0008) -;;#endif /* !NOWINSTYLES */ -;;/* ;; * Scroll bar messages -;; */ -;;#ifndef NOWINMESSAGES (define-integrable SBM_SETPOS #x00E0) ; //not in win3.1 (define-integrable SBM_GETPOS #x00E1) ; //not in win3.1 (define-integrable SBM_SETRANGE #x00E2) ; //not in win3.1 (define-integrable SBM_SETRANGEREDRAW #x00E6) ; //not in win3.1 (define-integrable SBM_GETRANGE #x00E3) ; //not in win3.1 (define-integrable SBM_ENABLE_ARROWS #x00E4) ; //not in win3.1 -;;#endif /* !NOWINMESSAGES */ -;;#endif /* !NOCTLMGR */ - -;;#ifndef NOMDI -;;/* ;; * MDI client style bits -;; */ (define-integrable MDIS_ALLCHILDSTYLES #x0001) -;;/* ;; * wParam Flags for WM_MDITILE and WM_MDICASCADE messages. -;; */ (define-integrable MDITILE_VERTICAL #x0000) ; //not in win3.1 (define-integrable MDITILE_HORIZONTAL #x0001) ; //not in win3.1 (define-integrable MDITILE_SKIPDISABLED #x0002) ; //not in win3.1 -;;typedef struct tagMDICREATESTRUCTA { -;; LPCSTR szClass; -;; LPCSTR szTitle; -;; HANDLE hOwner; -;; int x; -;; int y; -;; int cx; -;; int cy; -;; DWORD style; -;; LPARAM lParam; /* app-defined stuff */ -;;} MDICREATESTRUCTA, *LPMDICREATESTRUCTA; -;;typedef struct tagMDICREATESTRUCTW { -;; LPCWSTR szClass; -;; LPCWSTR szTitle; -;; HANDLE hOwner; -;; int x; -;; int y; -;; int cx; -;; int cy; -;; DWORD style; -;; LPARAM lParam; /* app-defined stuff */ -;;} MDICREATESTRUCTW, *LPMDICREATESTRUCTW; -;;#ifdef UNICODE -;;typedef MDICREATESTRUCTW MDICREATESTRUCT; -;;typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT; -;;#else -;;typedef MDICREATESTRUCTA MDICREATESTRUCT; -;;typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT; -;;#endif // UNICODE -;; -;;typedef struct tagCLIENTCREATESTRUCT { -;; HANDLE hWindowMenu; -;; UINT idFirstChild; -;;} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT; -;; -;;LRESULT -;;WINAPI -;;DefFrameProcA( -;; HWND hWnd, -;; HWND hWndMDIClient , -;; UINT uMsg, -;; WPARAM wParam, -;; LPARAM lParam); -;;LRESULT -;;WINAPI -;;DefFrameProcW( -;; HWND hWnd, -;; HWND hWndMDIClient , -;; UINT uMsg, -;; WPARAM wParam, -;; LPARAM lParam); -;;#ifdef UNICODE -;;#define DefFrameProc DefFrameProcW -;;#else -;;#define DefFrameProc DefFrameProcA -;;#endif // !UNICODE -;; -;;LRESULT -;;WINAPI -;;DefMDIChildProcA( -;; HWND hWnd, -;; UINT uMsg, -;; WPARAM wParam, -;; LPARAM lParam); -;;LRESULT -;;WINAPI -;;DefMDIChildProcW( -;; HWND hWnd, -;; UINT uMsg, -;; WPARAM wParam, -;; LPARAM lParam); -;;#ifdef UNICODE -;;#define DefMDIChildProc DefMDIChildProcW -;;#else -;;#define DefMDIChildProc DefMDIChildProcA -;;#endif // !UNICODE -;; -;;#ifndef NOMSG -;;BOOL -;;WINAPI -;;TranslateMDISysAccel( -;; HWND hWndClient, -;; LPMSG lpMsg); -;;#endif /* !NOMSG */ -;; -;;UINT -;;WINAPI -;;ArrangeIconicWindows( -;; HWND hWnd); -;; -;;HWND -;;WINAPI -;;CreateMDIWindowA( -;; LPSTR lpClassName, -;; LPSTR lpWindowName, -;; DWORD dwStyle, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight, -;; HWND hWndParent, -;; HINSTANCE hInstance, -;; LPARAM lParam -;; ); -;;HWND -;;WINAPI -;;CreateMDIWindowW( -;; LPWSTR lpClassName, -;; LPWSTR lpWindowName, -;; DWORD dwStyle, -;; int X, -;; int Y, -;; int nWidth, -;; int nHeight, -;; HWND hWndParent, -;; HINSTANCE hInstance, -;; LPARAM lParam -;; ); -;;#ifdef UNICODE -;;#define CreateMDIWindow CreateMDIWindowW -;;#else -;;#define CreateMDIWindow CreateMDIWindowA -;;#endif // !UNICODE -;; -;;#endif /* !NOMDI */ -;;#endif /* !NOUSER */ -;; -;;/****** Help support ********************************************************/ -;; -;;#ifndef NOHELP -;; -;;typedef DWORD HELPPOLY; -;;typedef struct tagMULTIKEYHELPA { -;; DWORD mkSize; -;; CHAR mkKeylist; -;; CHAR szKeyphrase[1]; -;;} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA; -;;typedef struct tagMULTIKEYHELPW { -;; DWORD mkSize; -;; WCHAR mkKeylist; -;; WCHAR szKeyphrase[1]; -;;} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW; -;;#ifdef UNICODE -;;typedef MULTIKEYHELPW MULTIKEYHELP; -;;typedef PMULTIKEYHELPW PMULTIKEYHELP; -;;typedef LPMULTIKEYHELPW LPMULTIKEYHELP; -;;#else -;;typedef MULTIKEYHELPA MULTIKEYHELP; -;;typedef PMULTIKEYHELPA PMULTIKEYHELP; -;;typedef LPMULTIKEYHELPA LPMULTIKEYHELP; -;;#endif // UNICODE -;; -;;typedef struct tagHELPWININFOA { -;; int wStructSize; -;; int x; -;; int y; -;; int dx; -;; int dy; -;; int wMax; -;; CHAR rgchMember[2]; -;;} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA; -;;typedef struct tagHELPWININFOW { -;; int wStructSize; -;; int x; -;; int y; -;; int dx; -;; int dy; -;; int wMax; -;; WCHAR rgchMember[2]; -;;} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW; -;;#ifdef UNICODE -;;typedef HELPWININFOW HELPWININFO; -;;typedef PHELPWININFOW PHELPWININFO; -;;typedef LPHELPWININFOW LPHELPWININFO; -;;#else -;;typedef HELPWININFOA HELPWININFO; -;;typedef PHELPWININFOA PHELPWININFO; -;;typedef LPHELPWININFOA LPHELPWININFO; -;;#endif // UNICODE -;; -;;/* -;; * Commands to pass to WinHelp() -;; */ -(define-integrable HELP_CONTEXT #x0001) ; /* Display topic in ulTopic */ -(define-integrable HELP_QUIT #x0002) ; /* Terminate help */ -(define-integrable HELP_INDEX #x0003) ; /* Display index */ +;; * Commands to pass to WinHelp +(define-integrable HELP_CONTEXT #x0001) ;Display topic in ulTopic +(define-integrable HELP_QUIT #x0002) ;Terminate help +(define-integrable HELP_INDEX #x0003) ;Display index (define-integrable HELP_CONTENTS #x0003) -(define-integrable HELP_HELPONHELP #x0004) ; /* Display help on using help */ -(define-integrable HELP_SETINDEX #x0005) ; /* Set current Index for multi index help */ +(define-integrable HELP_HELPONHELP #x0004) ;Display help on using help +(define-integrable HELP_SETINDEX #x0005) ;Set current Index for multi index help (define-integrable HELP_SETCONTENTS #x0005) (define-integrable HELP_CONTEXTPOPUP #x0008) (define-integrable HELP_FORCEFILE #x0009) -(define-integrable HELP_KEY #x0101) ; /* Display topic for keyword in offabData */ +(define-integrable HELP_KEY #x0101) ;Display topic for keyword in offabData (define-integrable HELP_COMMAND #x0102) (define-integrable HELP_PARTIALKEY #x0105) (define-integrable HELP_MULTIKEY #x0201) (define-integrable HELP_SETWINPOS #x0203) - -;;BOOL -;;WINAPI -;;WinHelpA( -;; HWND hWndMain, -;; LPCSTR lpszHelp, -;; UINT uCommand, -;; DWORD dwData -;; ); -;;BOOL -;;WINAPI -;;WinHelpW( -;; HWND hWndMain, -;; LPCWSTR lpszHelp, -;; UINT uCommand, -;; DWORD dwData -;; ); -;;#ifdef UNICODE -;;#define WinHelp WinHelpW -;;#else -;;#define WinHelp WinHelpA -;;#endif // !UNICODE -;; -;;#endif /* !NOHELP */ -;; -;;#ifndef NOSYSPARAMSINFO -;;/* -;; * Parameter for SystemParametersInfo() -;; */ - +;; * Parameter for SystemParametersInfo (define-integrable SPI_GETBEEP 1) (define-integrable SPI_SETBEEP 2) (define-integrable SPI_GETMOUSE 3) @@ -5652,38 +1526,6 @@ (define-integrable SPI_GETFASTTASKSWITCH 35) (define-integrable SPI_SETFASTTASKSWITCH 36) -;;/* ;; * Flags -;; */ (define-integrable SPIF_UPDATEINIFILE #x0001) -(define-integrable SPIF_SENDWININICHANGE #x0002) - - -;;BOOL -;;WINAPI -;;SystemParametersInfoA( -;; UINT uiAction, -;; UINT uiParam, -;; PVOID pvParam, -;; UINT fWinIni); -;;BOOL -;;WINAPI -;;SystemParametersInfoW( -;; UINT uiAction, -;; UINT uiParam, -;; PVOID pvParam, -;; UINT fWinIni); -;;#ifdef UNICODE -;;#define SystemParametersInfo SystemParametersInfoW -;;#else -;;#define SystemParametersInfo SystemParametersInfoA -;;#endif // !UNICODE -;; -;;#endif /* !NOSYSPARAMSINFO */ -;; -;; -;;#ifdef __cplusplus -;;} -;;#endif /* __cplusplus */ -;; -;;#endif /* !_WINUSER_ */ +(define-integrable SPIF_SENDWININICHANGE #x0002) \ No newline at end of file