home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Mammon_ / Windows.inc < prev    next >
Text File  |  2000-05-25  |  67KB  |  2,354 lines

  1.  
  2. ;*************************************************************************
  3. ;
  4. ;       WINDOWS.INC - Windows assembly language structures & constants
  5. ;
  6. ;*************************************************************************
  7. ;
  8. ;
  9. ;       C/C++ Run Time Library - Version 7.0
  10. ;       Copyright (c) 1985, 1996 by Borland International
  11. ;       All Rights Reserved.
  12. ;
  13. ; Conditional Block includes:   (True states)
  14. ;     NOTEXT - don't include TextMetric struc & text drawing modes & stock objs.
  15. ;     NORASTOPS - don't include binary and ternary raster ops.
  16. ;     NOVK      - don't include virtual key definitions
  17. ;     NOMB      - don't include message box definitions
  18. ;     NOWM      - don't include window messages
  19. ;
  20. ;
  21. FALSE   =       0
  22. TRUE    =       1
  23. NULL    =       0
  24.  
  25. ;*******************************************************************
  26. ;
  27. ;       Rectangle
  28. ;
  29. ;*******************************************************************
  30.  
  31. RECT    struc
  32.         rcLeft          dw      ?
  33.         rcTop           dw      ?
  34.         rcRight         dw      ?
  35.         rcBottom        dw      ?
  36. RECT    ends
  37.  
  38. ;*******************************************************************
  39. ;
  40. ;  Window Class structure
  41. ;
  42. ;*******************************************************************
  43.  
  44. WNDCLASS struc
  45.         clsStyle        dw      ?       ; class style
  46.         clsLpfnWndProc  dd      ?
  47.         clsCbClsExtra   dw      ?
  48.         clsCbWndExtra   dw      ?
  49.         clsHInstance    dw      ?       ; instance handle
  50.         clsHIcon        dw      ?       ; class icon handle
  51.         clsHCursor      dw      ?       ; class cursor handle
  52.         clsHbrBackground dw     ?       ; class background brush
  53.         clsLpszMenuName dd      ?       ; menu name
  54.         clsLpszClassName dd     ?       ; far ptr to class name
  55. WNDCLASS ends
  56.  
  57. IFNDEF NOTEXT
  58. TEXTMETRIC struc
  59.     tmHeight        dw      ?
  60.     tmAscent        dw      ?
  61.     tmDescent       dw      ?
  62.     tmIntLeading    dw      ?
  63.     tmExtLeading    dw      ?
  64.     tmAveCharWidth  dw      ?
  65.     tmMaxCharWidth  dw      ?
  66.     tmWeight        dw      ?
  67.     tmItalic        db      ?
  68.     tmUnderlined    db      ?
  69.     tmStruckOut     db      ?
  70.     tmFirstChar     db      ?
  71.     tmLastChar      db      ?
  72.     tmDefaultChar   db      ?
  73.     tmBreakChar     db      ?
  74.     tmPitch         db      ?
  75.     tmCharSet       db      ?
  76.     tmOverhang      dw      ?
  77.     tmAspectX       dw      ?
  78.     tmAspectY       dw      ?
  79. TEXTMETRIC ends
  80.  
  81. LF_FACESIZE     EQU     32
  82.  
  83. LOGFONT struc
  84.     lfHeight          dw   ?
  85.     lfWidth           dw   ?
  86.     lfEscapement      dw   ?
  87.     lfOrientation     dw   ?
  88.     lfWeight          dw   ?
  89.     lfItalic          db   ?
  90.     lfUnderline       db   ?
  91.     lfStrikeOut       db   ?
  92.     lfCharSet         db   ?
  93.     lfOutPrecision    db   ?
  94.     lfClipPrecision   db   ?
  95.     lfQuality         db   ?
  96.     lfPitchAndFamily  db   ?
  97.     lfFaceName        db   LF_FACESIZE dup(?)
  98. LOGFONT ends
  99.  
  100. LOGBRUSH struc
  101.     lbStyle         dw ?
  102.     lbColor         dd ?
  103.     lbHatch         dw ?
  104. LOGBRUSH ends
  105.  
  106. ;
  107. ;  Text Drawing modes
  108. ;
  109. TRANSPARENT     = 1
  110. OPAQUE          = 2
  111. ;
  112. ; Mapping Modes
  113. ;
  114. MM_TEXT         =   1
  115. MM_LOMETRIC     =   2
  116. MM_HIMETRIC     =   3
  117. MM_LOENGLISH    =   4
  118. MM_HIENGLISH    =   5
  119. MM_TWIPS        =   6
  120. MM_ISOTROPIC    =   7
  121. MM_ANISOTROPIC  =   8
  122. ;
  123. ; Coordinate Modes
  124. ;
  125. ABSOLUTE        =   1
  126. RELATIVE        =   2
  127. ;
  128. ;  Stock Logical Objects
  129. ;
  130. WHITE_BRUSH         =  0
  131. LTGRAY_BRUSH        =  1
  132. GRAY_BRUSH          =  2
  133. DKGRAY_BRUSH        =  3
  134. BLACK_BRUSH         =  4
  135. NULL_BRUSH          =  5
  136. HOLLOW_BRUSH        =  5
  137. WHITE_PEN           =  6
  138. BLACK_PEN           =  7
  139. NULL_PEN            =  8
  140. DOT_MARKER          =  9
  141. OEM_FIXED_FONT      = 10
  142. ANSI_FIXED_FONT     = 11
  143. ANSI_VAR_FONT       = 12
  144. SYSTEM_FONT         = 13
  145. DEVICE_DEFAULT_FONT = 14
  146. DEFAULT_PALETTE     = 15
  147. SYSTEM_FIXED_FONT   = 16
  148. ENDIF
  149. ;
  150. ; Brush Styles
  151. ;
  152. BS_SOLID        =   0
  153. BS_NULL         =   1
  154. BS_HOLLOW       =   BS_NULL
  155. BS_HATCHED      =   2
  156. BS_PATTERN      =   3
  157. BS_INDEXED      =   4
  158. BS_DIBPATTERN   =   5
  159. ;
  160. ; Hatch Styles
  161. ;
  162. HS_HORIZONTAL   =   0       ; -----
  163. HS_VERTICAL     =   1       ; |||||
  164. HS_FDIAGONAL    =   2       ; \\\\\
  165. HS_BDIAGONAL    =   3       ; /////
  166. HS_CROSS        =   4       ; +++++
  167. HS_DIAGCROSS    =   5       ; xxxxx
  168. ;
  169. ; Pen Styles
  170. ;
  171. PS_SOLID        =   0
  172. PS_DASH         =   1       ; -------
  173. PS_DOT          =   2       ; .......
  174. PS_DASHDOT      =   3       ; _._._._
  175. PS_DASHDOTDOT   =   4       ; _.._.._
  176. PS_NULL         =   5
  177. PS_INSIDEFRAME  =   6
  178. ;
  179. ; Device Parameters for GetDeviceCaps()
  180. ;
  181. DRIVERVERSION =0     ; Device driver version
  182. TECHNOLOGY    =2     ; Device classification
  183. HORZSIZE      =4     ; Horizontal size in millimeters
  184. VERTSIZE      =6     ; Vertical size in millimeters
  185. HORZRES       =8     ; Horizontal width in pixels
  186. VERTRES       =10    ; Vertical width in pixels
  187. BITSPIXEL     =12    ; Number of bits per pixel
  188. PLANES        =14    ; Number of planes
  189. NUMBRUSHES    =16    ; Number of brushes the device has
  190. NUMPENS       =18    ; Number of pens the device has
  191. NUMMARKERS    =20    ; Number of markers the device has
  192. NUMFONTS      =22    ; Number of fonts the device has
  193. NUMCOLORS     =24    ; Number of colors the device supports
  194. PDEVICESIZE   =26    ; Size required for device descriptor
  195. CURVECAPS     =28    ; Curve capabilities
  196. LINECAPS      =30    ; Line capabilities
  197. POLYGONALCAPS =32    ; Polygonal capabilities
  198. TEXTCAPS      =34    ; Text capabilities
  199. CLIPCAPS      =36    ; Clipping capabilities
  200. RASTERCAPS    =38    ; Bitblt capabilities
  201. ASPECTX       =40    ; Length of the X leg
  202. ASPECTY       =42    ; Length of the Y leg
  203. ASPECTXY      =44    ; Length of the hypotenuse
  204.  
  205. LOGPIXELSX    =88    ; Logical pixels/inch in X
  206. LOGPIXELSY    =90    ; Logical pixels/inch in Y
  207.  
  208. SIZEPALETTE   =104   ; Number of entries in physical palette
  209. NUMRESERVED   =106   ; Number of reserved entries in palette
  210. COLORRES      =108   ; Actual color resolution
  211. ;
  212. ifndef NOGDICAPMASKS
  213. ;
  214. ; Device Capability Masks:
  215. ;
  216. ; Device Technologies
  217. DT_PLOTTER       =   0  ; /* Vector plotter                   */
  218. DT_RASDISPLAY    =   1  ; /* Raster display                   */
  219. DT_RASPRINTER    =   2  ; /* Raster printer                   */
  220. DT_RASCAMERA     =   3  ; /* Raster camera                    */
  221. DT_CHARSTREAM    =   4  ; /* Character-stream, PLP            */
  222. DT_METAFILE      =   5  ; /* Metafile, VDM                    */
  223. DT_DISPFILE      =   6  ; /* Display-file                     */
  224. ;
  225. ; Curve Capabilities
  226. CC_NONE          =   0  ; /* Curves not supported             */
  227. CC_CIRCLES       =   1  ; /* Can do circles                   */
  228. CC_PIE           =   2  ; /* Can do pie wedges                */
  229. CC_CHORD         =   4  ; /* Can do chord arcs                */
  230. CC_ELLIPSES      =   8  ; /* Can do ellipese                  */
  231. CC_WIDE          =   16 ; /* Can do wide lines                */
  232. CC_STYLED        =   32 ; /* Can do styled lines              */
  233. CC_WIDESTYLED    =   64 ; /* Can do wide styled lines         */
  234. CC_INTERIORS     =   128; /* Can do interiors                 */
  235. ;
  236. ; Line Capabilities
  237. LC_NONE          =   0  ; /* Lines not supported              */
  238. LC_POLYLINE      =   2  ; /* Can do polylines                 */
  239. LC_MARKER        =   4  ; /* Can do markers                   */
  240. LC_POLYMARKER    =   8  ; /* Can do polymarkers               */
  241. LC_WIDE          =   16 ; /* Can do wide lines                */
  242. LC_STYLED        =   32 ; /* Can do styled lines              */
  243. LC_WIDESTYLED    =   64 ; /* Can do wide styled lines         */
  244. LC_INTERIORS     =   128; /* Can do interiors                 */
  245. ;
  246. ; Polygonal Capabilities
  247. PC_NONE          =   0  ; /* Polygonals not supported         */
  248. PC_POLYGON       =   1  ; /* Can do polygons                  */
  249. PC_RECTANGLE     =   2  ; /* Can do rectangles                */
  250. PC_WINDPOLYGON   =   4  ; /* Can do winding polygons          */
  251. PC_TRAPEZOID     =   4  ; /* Can do trapezoids                */
  252. PC_SCANLINE      =   8  ; /* Can do scanlines                 */
  253. PC_WIDE          =   16 ; /* Can do wide borders              */
  254. PC_STYLED        =   32 ; /* Can do styled borders            */
  255. PC_WIDESTYLED    =   64 ; /* Can do wide styled borders       */
  256. PC_INTERIORS     =   128; /* Can do interiors                 */
  257. ;
  258. ; Polygonal Capabilities */
  259. CP_NONE          =   0  ; /* No clipping of output            */
  260. CP_RECTANGLE     =   1  ; /* Output clipped to rects          */
  261. ;
  262. ; Text Capabilities
  263. TC_OP_CHARACTER  =   0001h ; /* Can do OutputPrecision   CHARACTER      */
  264. TC_OP_STROKE     =   0002h ; /* Can do OutputPrecision   STROKE         */
  265. TC_CP_STROKE     =   0004h ; /* Can do ClipPrecision     STROKE         */
  266. TC_CR_90         =   0008h ; /* Can do CharRotAbility    90             */
  267. TC_CR_ANY        =   0010h ; /* Can do CharRotAbility    ANY            */
  268. TC_SF_X_YINDEP   =   0020h ; /* Can do ScaleFreedom      X_YINDEPENDENT */
  269. TC_SA_DOUBLE     =   0040h ; /* Can do ScaleAbility      DOUBLE         */
  270. TC_SA_INTEGER    =   0080h ; /* Can do ScaleAbility      INTEGER        */
  271. TC_SA_CONTIN     =   0100h ; /* Can do ScaleAbility      CONTINUOUS     */
  272. TC_EA_DOUBLE     =   0200h ; /* Can do EmboldenAbility   DOUBLE         */
  273. TC_IA_ABLE       =   0400h ; /* Can do ItalisizeAbility  ABLE           */
  274. TC_UA_ABLE       =   0800h ; /* Can do UnderlineAbility  ABLE           */
  275. TC_SO_ABLE       =   1000h ; /* Can do StrikeOutAbility  ABLE           */
  276. TC_RA_ABLE       =   2000h ; /* Can do RasterFontAble    ABLE           */
  277. TC_VA_ABLE       =   4000h ; /* Can do VectorFontAble    ABLE           */
  278. TC_RESERVED      =   8000h
  279. ;
  280. ; Raster Capabilities
  281. RC_BITBLT        =   1      ; /* Can do standard BLT.             */
  282. RC_BANDING       =   2      ; /* Device requires banding support  */
  283. RC_SCALING       =   4      ; /* Device requires scaling support  */
  284. RC_BITMAP64      =   8      ; /* Device can support >64K bitmap   */
  285. RC_GDI20_OUTPUT  =   0010h  ; /* has 2.0 output calls         */
  286. RC_DI_BITMAP     =   0080h  ; /* supports DIB to memory       */
  287. RC_PALETTE       =   0100h  ; /* supports a palette           */
  288. RC_DIBTODEV      =   0200h  ; /* supports DIBitsToDevice      */
  289. RC_BIGFONT       =   0400h  ; /* supports >64K fonts          */
  290. RC_STRETCHBLT    =   0800h  ; /* supports StretchBlt          */
  291. RC_FLOODFILL     =   1000h  ; /* supports FloodFill           */
  292. RC_STRETCHDIB    =   2000h  ; /* supports StretchDIBits       */
  293.  
  294. endif       ;NOGDICAPMASKS
  295.  
  296. ; palette entry flags
  297. ;
  298. PC_RESERVED     = 1    ;/* palette index used for animation */
  299. PC_EXPLICIT     = 2    ;/* palette index is explicit to device */
  300. PC_NOCOLLAPSE   = 4    ;/* do not match color to system palette */
  301.  
  302. ; DIB color table identifiers
  303. ;
  304. DIB_RGB_COLORS  = 0    ;/* color table in RGBTriples */
  305. DIB_PAL_COLORS  = 1    ;/* color table in palette indices */
  306. ;
  307.  
  308. ;constants for Get/SetSystemPaletteUse()
  309. ;
  310. SYSPAL_STATIC   = 1
  311. SYSPAL_NOSTATIC = 2
  312.  
  313. ; constants for CreateDIBitmap
  314. CBM_INIT        = 4    ;/* initialize bitmap */
  315. ;
  316. ; Bitmap format constants
  317. BI_RGB          = 0
  318. BI_RLE8         = 1
  319. BI_RLE4         = 2
  320. ;
  321. ;
  322. ANSI_CHARSET    = 0
  323. SYMBOL_CHARSET  = 2
  324. OEM_CHARSET     = 255
  325. ;
  326. ;  styles for CombineRgn
  327. ;
  328. RGN_AND  = 1
  329. RGN_OR   = 2
  330. RGN_XOR  = 3
  331. RGN_DIFF = 4
  332. RGN_COPY = 5
  333. ;
  334. ;  Predefined cursor & icon IDs
  335. ;
  336. IDC_ARROW       = 32512
  337. IDC_IBEAM       = 32513
  338. IDC_WAIT        = 32514
  339. IDC_CROSS       = 32515
  340. IDC_UPARROW     = 32516
  341. IDC_SIZE        = 32640
  342. IDC_ICON        = 32641
  343. IDC_SIZENWSE    = 32642
  344. IDC_SIZENESW    = 32643
  345. IDC_SIZEWE      = 32644
  346. IDC_SIZENS      = 32645
  347.  
  348. IDI_APPLICATION = 32512
  349. IDI_HAND        = 32513
  350. IDI_QUESTION    = 32514
  351. IDI_EXCLAMATION = 32515
  352. IDI_ASTERISK    = 32516
  353.  
  354. ;
  355. ; OEM Resource Ordinal Numbers */
  356. ;
  357. OBM_CLOSE         =  32754
  358. OBM_UPARROW       =  32753
  359. OBM_DNARROW       =  32752
  360. OBM_RGARROW       =  32751
  361. OBM_LFARROW       =  32750
  362. OBM_REDUCE        =  32749
  363. OBM_ZOOM          =  32748
  364. OBM_RESTORE       =  32747
  365. OBM_REDUCED       =  32746
  366. OBM_ZOOMD         =  32745
  367. OBM_RESTORED      =  32744
  368. OBM_UPARROWD      =  32743
  369. OBM_DNARROWD      =  32742
  370. OBM_RGARROWD      =  32741
  371. OBM_LFARROWD      =  32740
  372. OBM_MNARROW       =  32739
  373. OBM_COMBO         =  32738
  374. OBM_UPARROWI      =  32737
  375. OBM_DNARROWI      =  32736
  376. OBM_RGARROWI      =  32735
  377. OBM_LFARROWI      =  32734
  378.  
  379. OBM_OLD_CLOSE     =  32767
  380. OBM_SIZE          =  32766
  381. OBM_OLD_UPARROW   =  32765
  382. OBM_OLD_DNARROW   =  32764
  383. OBM_OLD_RGARROW   =  32763
  384. OBM_OLD_LFARROW   =  32762
  385. OBM_BTSIZE        =  32761
  386. OBM_CHECK         =  32760
  387. OBM_CHECKBOXES    =  32759
  388. OBM_BTNCORNERS    =  32758
  389. OBM_OLD_REDUCE    =  32757
  390. OBM_OLD_ZOOM      =  32756
  391. OBM_OLD_RESTORE   =  32755
  392.  
  393. OCR_NORMAL        =  32512
  394. OCR_IBEAM         =  32513
  395. OCR_WAIT          =  32514
  396. OCR_CROSS         =  32515
  397. OCR_UP            =  32516
  398. OCR_SIZE          =  32640
  399. OCR_ICON          =  32641
  400. OCR_SIZENWSE      =  32642
  401. OCR_SIZENESW      =  32643
  402. OCR_SIZEWE        =  32644
  403. OCR_SIZENS        =  32645
  404. OCR_SIZEALL       =  32646
  405. OCR_ICOCUR        =  32647
  406.  
  407. OIC_SAMPLE        =  32512
  408. OIC_HAND          =  32513
  409. OIC_QUES          =  32514
  410. OIC_BANG          =  32515
  411. OIC_NOTE          =  32516
  412.  
  413. ;
  414. ;   Scroll bar constants
  415. ;
  416. SB_HORZ = 0
  417. SB_VERT = 1
  418. SB_CTL  = 2
  419. SB_BOTH = 3
  420. ;
  421. ;   Scroll Commands
  422. ;
  423. SB_LINEUP        = 0
  424. SB_LINEDOWN      = 1
  425. SB_PAGEUP        = 2
  426. SB_PAGEDOWN      = 3
  427. SB_THUMBPOSITION = 4
  428. SB_THUMBTRACK    = 5
  429. SB_TOP           = 6
  430. SB_BOTTOM        = 7
  431. SB_ENDSCROLL     = 8
  432. ;
  433. ;  MessageBox type flags
  434. ;
  435. IFNDEF                  NOMB
  436. MB_OK                   = 0000H
  437. MB_OKCANCEL             = 0001H
  438. MB_ABORTRETRYIGNORE     = 0002H
  439. MB_YESNOCANCEL          = 0003H
  440. MB_YESNO                = 0004H
  441. MB_RETRYCANCEL          = 0005H
  442.  
  443. MB_ICONHAND             = 0010H
  444. MB_ICONQUESTION         = 0020H
  445. MB_ICONEXCLAMATION      = 0030H
  446. MB_ICONASTERISK         = 0040H
  447.  
  448. MB_DEFBUTTON1           = 0000H
  449. MB_DEFBUTTON2           = 0100H
  450. MB_DEFBUTTON3           = 0200H
  451.  
  452. MB_APPLMODAL            = 0000H
  453. MB_SYSTEMMODAL          = 1000H
  454. MB_TASKMODAL            = 2000H
  455.  
  456. MB_NOFOCUS              = 8000H
  457.  
  458. ;
  459. ;  Conventional dialog box and message box command IDs
  460. ;
  461. IDOK     =   1
  462. IDCANCEL =   2
  463. IDABORT  =   3
  464. IDRETRY  =   4
  465. IDIGNORE =   5
  466. IDYES    =   6
  467. IDNO     =   7
  468. ;
  469. ;  Flags for OpenFile
  470. ;
  471. OF_READ             = 0000H
  472. OF_WRITE            = 0001H
  473. OF_READWRITE        = 0002H
  474. OF_SHARE_COMPAT     = 0000H
  475. OF_SHARE_EXCLUSIVE  = 0010H
  476. OF_SHARE_DENY_WRITE = 0020H
  477. OF_SHARE_DENY_READ  = 0030H
  478. OF_SHARE_DENY_NONE  = 0040H
  479. OF_PARSE            = 0100H
  480. OF_DELETE           = 0200H
  481. OF_VERIFY           = 0400H     ; Used with OF_REOPEN
  482. OF_SEARCH           = 0400H     ; Used without OF_REOPEN
  483. OF_CANCEL           = 0800H
  484. OF_CREATE           = 1000H
  485. OF_PROMPT           = 2000H
  486. OF_EXIST            = 4000H
  487. OF_REOPEN           = 8000H
  488.  
  489. TF_FORCEDRIVE   = 80H
  490.  
  491. OPENSTRUC       STRUC
  492. opLen   db      ?
  493. opDisk  db      ?
  494. opXtra  dw      ?
  495. opDate  dw      ?
  496. opTime  dw      ?
  497. opFile  db      120 dup (?)
  498. OPENSTRUC       ENDS
  499. ;
  500. ;  DrawText format flags
  501. ;
  502. DT_LEFT         = 00H
  503. DT_CENTER       = 01H
  504. DT_RIGHT        = 02H
  505. DT_TOP          = 00H
  506. DT_VCENTER      = 04H
  507. DT_BOTTOM       = 08H
  508. DT_WORDBREAK    = 10H
  509. DT_SINGLELINE   = 20H
  510. DT_EXPANDTABS   = 40H
  511. DT_TABSTOP      = 80H
  512. DT_NOCLIP       =    0100H
  513. DT_EXTERNALLEADING = 0200H
  514. DT_CALCRECT     =    0400H
  515. DT_NOPREFIX     =    0800H
  516. DT_INTERNAL     =    1000H
  517. ENDIF
  518.  
  519. ;
  520. ; ExtFloodFill style flags
  521. ;
  522. FLOODFILLBORDER  =  0
  523. FLOODFILLSURFACE =  1
  524.  
  525. ;
  526. ; Memory manager flags
  527. ;
  528. LMEM_FIXED      =   0000h
  529. LMEM_MOVEABLE   =   0002h
  530. LMEM_NOCOMPACT  =   0010H
  531. LMEM_NODISCARD  =   0020H
  532. LMEM_ZEROINIT   =   0040h
  533. LMEM_MODIFY     =   0080H
  534. LMEM_DISCARDABLE=   0F00h
  535. LHND    =    LMEM_MOVEABLE+LMEM_ZEROINIT
  536. LPTR    =    LMEM_FIXED+LMEM_ZEROINIT
  537. ; Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE)
  538. LMEM_DISCARDED  =   4000H
  539. LMEM_LOCKCOUNT  =   00FFH
  540.  
  541. NONZEROLHND     =    LMEM_MOVEABLE
  542. NONZEROLPTR     =    LMEM_FIXED
  543.  
  544.  
  545.  
  546. GMEM_FIXED      =   0000h
  547. GMEM_MOVEABLE   =   0002h
  548. GMEM_NOCOMPACT  =   0010h
  549. GMEM_NODISCARD  =   0020h
  550. GMEM_ZEROINIT   =   0040h
  551. GMEM_MODIFY     =   0080h
  552. GMEM_DISCARDABLE=   0100h
  553. GMEM_NOT_BANKED =   1000h
  554. GMEM_DDESHARE   =   2000h
  555. GMEM_SHARE      =   2000h
  556. GMEM_NOTIFY     =   4000h
  557. GMEM_LOWER      =   GMEM_NOT_BANKED
  558. GHND            =   GMEM_MOVEABLE+GMEM_ZEROINIT
  559. GPTR            =   GMEM_FIXED+GMEM_ZEROINIT
  560.  
  561. ; Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE)
  562. GMEM_DISCARDED  =    4000h
  563. GMEM_LOCKCOUNT  =    00FFh
  564.  
  565. ; Flags returned by GetWinFlags
  566.  
  567. WF_PMODE        =    0001h
  568. WF_CPU286       =    0002h
  569. WF_CPU386       =    0004h
  570. WF_CPU486       =    0008h
  571. WF_STANDARD     =    0010h
  572. WF_WIN286       =    0010h
  573. WF_ENHANCED     =    0020h
  574. WF_WIN386       =    0020h
  575. WF_CPU086       =    0040h
  576. WF_CPU186       =    0080h
  577. WF_LARGEFRAME   =    0100h
  578. WF_SMALLFRAME   =    0200h
  579. WF_80x87        =    0400h
  580. WF_PAGING       =    0800h
  581. WF_WLO          =    8000h
  582.  
  583. ; WEP fSystemExit flag values
  584. WEP_SYSTEM_EXIT =       1
  585. WEP_FREE_DLL    =       0
  586.  
  587.  
  588. ;  Virtual Keys, Standard Set
  589.  
  590. IFNDEF          NOVK
  591. VK_LBUTTON      = 01H
  592. VK_RBUTTON      = 02H
  593. VK_CANCEL       = 03H
  594. VK_BACK         = 08H
  595. VK_TAB          = 09H
  596. VK_CLEAR        = 0cH
  597. VK_RETURN       = 0dH
  598. VK_SHIFT        = 10H
  599. VK_CONTROL      = 11H
  600. VK_MENU         = 12H
  601. VK_PAUSE        = 13H
  602. VK_CAPITAL      = 14H
  603. VK_ESCAPE       = 1bH
  604. VK_SPACE        = 20H
  605.  
  606. VK_PRIOR        = 21H
  607. VK_NEXT         = 22H
  608. VK_END          = 23H
  609. VK_HOME         = 24H
  610. VK_LEFT         = 25H
  611. VK_UP           = 26H
  612. VK_RIGHT        = 27H
  613. VK_DOWN         = 28H
  614.  
  615. ;  VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
  616. ;  VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '0'
  617.  
  618. VK_PRINT        = 2aH
  619. VK_EXECUTE      = 2bH
  620. VK_SNAPSHOT     = 2ch   ; Printscreen key..
  621. VK_INSERT       = 2dH
  622. VK_DELETE       = 2eH
  623. VK_HELP         = 2fH
  624.  
  625. VK_NUMPAD0      = 60H
  626. VK_NUMPAD1      = 61H
  627. VK_NUMPAD2      = 62H
  628. VK_NUMPAD3      = 63H
  629. VK_NUMPAD4      = 64H
  630. VK_NUMPAD5      = 65H
  631. VK_NUMPAD6      = 66H
  632. VK_NUMPAD7      = 67H
  633. VK_NUMPAD8      = 68H
  634. VK_NUMPAD9      = 69H
  635. VK_MULTIPLY     = 6AH
  636. VK_ADD          = 6BH
  637. VK_SEPARATER    = 6CH
  638. VK_SUBTRACT     = 6DH
  639. VK_DECIMAL      = 6EH
  640. VK_DIVIDE       = 6FH
  641.  
  642. VK_F1           = 70H
  643. VK_F2           = 71H
  644. VK_F3           = 72H
  645. VK_F4           = 73H
  646. VK_F5           = 74H
  647. VK_F6           = 75H
  648. VK_F7           = 76H
  649. VK_F8           = 77H
  650. VK_F9           = 78H
  651. VK_F10          = 79H
  652. VK_F11          = 7aH
  653. VK_F12          = 7bH
  654. VK_F13          = 7cH
  655. VK_F14          = 7dH
  656. VK_F15          = 7eH
  657. VK_F16          = 7fH
  658. VK_F17          = 80H
  659. VK_F18          = 81H
  660. VK_F19          = 82H
  661. VK_F20          = 83H
  662. VK_F21          = 84H
  663. VK_F22          = 85H
  664. VK_F23          = 86H
  665. VK_F24          = 87H
  666.  
  667. VK_NUMLOCK      = 90H
  668. VK_SCROLL       = 91H
  669. ENDIF
  670.  
  671. IFNDEF NOWH
  672.  
  673. ; SetWindowsHook() codes
  674. WH_MSGFILTER       = (-1)
  675. WH_JOURNALRECORD   = 0
  676. WH_JOURNALPLAYBACK = 1
  677. WH_KEYBOARD        = 2
  678. WH_GETMESSAGE      = 3
  679. WH_CALLWNDPROC     = 4
  680. IFNDEF NOWIN31
  681. WH_CBT             = 5
  682. WH_SYSMSGFILTER    = 6
  683. WH_MOUSE           = 7
  684. WH_HARDWARE        = 8
  685. WH_DEBUG           = 9
  686. ENDIF
  687. ;
  688. ; Hook Codes
  689. HC_GETLPLPFN       = (-3)
  690. HC_LPLPFNNEXT      = (-2)
  691. HC_LPFNNEXT        = (-1)
  692. HC_ACTION          = 0
  693. HC_GETNEXT         = 1
  694. HC_SKIP            = 2
  695. HC_NOREM           = 3
  696. HC_NOREMOVE        = 3
  697. HC_SYSMODALON      = 4
  698. HC_SYSMODALOFF     = 5
  699. ;
  700. ; CBT Hook Codes
  701. HCBT_MOVESIZE      = 0
  702. HCBT_MINMAX        = 1
  703. HCBT_QS            = 2
  704. HCBT_CREATEWND     = 3
  705. HCBT_DESTROYWND    = 4
  706. HCBT_ACTIVATE      = 5
  707. HCBT_CLICKSKIPPED  = 6
  708. HCBT_KEYSKIPPED    = 7
  709. HCBT_SYSCOMMAND    = 8
  710. HCBT_SETFOCUS      = 9
  711.  
  712. ;
  713. ; WH_MSGFILTER Filter Proc Codes
  714. MSGF_DIALOGBOX     = 0
  715. MSGF_MENU          = 2
  716. MSGF_MOVE          = 3
  717. MSGF_SIZE          = 4
  718. MSGF_SCROLLBAR     = 5
  719. MSGF_NEXTWINDOW    = 6
  720. ;
  721. ; Window Manager Hook Codes
  722. WC_INIT            = 1
  723. WC_SWP             = 2
  724. WC_DEFWINDOWPROC   = 3
  725. WC_MINMAX          = 4
  726. WC_MOVE            = 5
  727. WC_SIZE            = 6
  728. WC_DRAWCAPTION     = 7
  729. ;
  730.  
  731. ; Message Structure used in Journaling
  732. EVENTMSG    struc
  733.     message     dw ?
  734.     paramL      dw ?
  735.     paramH      dw ?
  736.     time        dd ?
  737. EVENTMSG    ends
  738.  
  739. ENDIF ;NOWH
  740.  
  741. ; Window field offsets for GetWindowLong() and GetWindowWord()
  742. GWL_WNDPROC       =  (-4)
  743. GWW_HINSTANCE     =  (-6)
  744. GWW_HWNDPARENT    =  (-8)
  745. GWW_ID            =  (-12)
  746. GWL_STYLE         =  (-16)
  747. GWL_EXSTYLE       =  (-20)
  748.  
  749. ; GetWindow() Constants
  750. GW_HWNDFIRST      =  0
  751. GW_HWNDLAST       =  1
  752. GW_HWNDNEXT       =  2
  753. GW_HWNDPREV       =  3
  754. GW_OWNER          =  4
  755. GW_CHILD          =  5
  756.  
  757. ; Class field offsets for GetClassLong() and GetClassWord()
  758. GCL_MENUNAME      =  (-8)
  759. GCW_HBRBACKGROUND =  (-10)
  760. GCW_HCURSOR       =  (-12)
  761. GCW_HICON         =  (-14)
  762. GCW_HMODULE       =  (-16)
  763. GCW_CBWNDEXTRA    =  (-18)
  764. GCW_CBCLSEXTRA    =  (-20)
  765. GCL_WNDPROC       =  (-24)
  766. GCW_STYLE         =  (-26)
  767.  
  768. ; WinWhere() Area Codes
  769. HTERROR           =  (-2)
  770. HTTRANSPARENT     =  (-1)
  771. HTNOWHERE         =  0
  772. HTCLIENT          =  1
  773. HTCAPTION         =  2
  774. HTSYSMENU         =  3
  775. HTGROWBOX         =  4
  776. HTSIZE            =  HTGROWBOX
  777. HTMENU            =  5
  778. HTHSCROLL         =  6
  779. HTVSCROLL         =  7
  780. HTREDUCE          =  8
  781. HTZOOM            =  9
  782. HTLEFT            =  10
  783. HTRIGHT           =  11
  784. HTTOP             =  12
  785. HTTOPLEFT         =  13
  786. HTTOPRIGHT        =  14
  787. HTBOTTOM          =  15
  788. HTBOTTOMLEFT      =  16
  789. HTBOTTOMRIGHT     =  17
  790. HTSIZEFIRST       =  HTLEFT
  791. HTSIZELAST        =  HTBOTTOMRIGHT
  792.  
  793.  
  794.  
  795. ;*************************************************************************
  796. ;
  797. ;       Misc structures & constants
  798. ;
  799. ;*************************************************************************
  800.  
  801. IFNDEF  NOMST
  802. POINT   struc
  803.         ptX             dw      ?
  804.         ptY             dw      ?
  805. POINT   ends
  806.  
  807. LOGPEN struc
  808.     lopnStyle       dw ?
  809.     lopnWidth       db (SIZE POINT) DUP(?)
  810.     lopnColor       dd ?
  811. LOGPEN ends
  812.  
  813.  
  814. BITMAP STRUC
  815.         bmType         DW ?
  816.         bmWidth        DW ?
  817.         bmHeight       DW ?
  818.         bmWidthBytes   DW ?
  819.         bmPlanes       DB ?
  820.         bmBitsPixel    DB ?
  821.         bmBits         DD ?
  822. BITMAP ENDS
  823.  
  824. RGBTRIPLE       struc
  825.         rgbBlue         db ?
  826.         rgbGreen        db ?
  827.         rgbRed          db ?
  828. RGBTRIPLE       ends
  829.  
  830. RGBQUAD         struc
  831.         rgbqBlue        db ?
  832.         rgbqGreen       db ?
  833.         rgbqRed         db ?
  834.         rgbqReserved    db ?
  835. RGBQUAD         ends
  836.  
  837. ; structures for defining DIBs
  838. BITMAPCOREHEADER struc
  839.         bcSize      dd ?
  840.         bcWidth     dw ?
  841.         bcHeight    dw ?
  842.         bcPlanes    dw ?
  843.         bcBitCount  dw ?
  844. BITMAPCOREHEADER ends
  845.  
  846. BITMAPINFOHEADER struc
  847.         biSize           dd ?
  848.         biWidth          dd ?
  849.         biHeight         dd ?
  850.         biPlanes         dw ?
  851.         biBitCount       dw ?
  852.  
  853.         biCompression    dd ?
  854.         biSizeImage      dd ?
  855.         biXPelsPerMeter  dd ?
  856.         biYPelsPerMeter  dd ?
  857.         biClrUsed        dd ?
  858.         biClrImportant   dd ?
  859. BITMAPINFOHEADER ends
  860.  
  861. BITMAPINFO  struc
  862.     bmiHeader   db (SIZE BITMAPINFOHEADER) DUP (?)
  863.     bmiColors   db ?            ; array of RGBQUADs
  864. BITMAPINFO  ends
  865.  
  866. BITMAPCOREINFO  struc
  867.     bmciHeader  db (SIZE BITMAPCOREHEADER) DUP (?)
  868.     bmciColors  db ?            ; array of RGBTRIPLEs
  869. BITMAPCOREINFO  ends
  870.  
  871. BITMAPFILEHEADER struc
  872.     bfType          dw ?
  873.     bfSize          dd ?
  874.     bfReserved1     dw ?
  875.     bfReserved2     dw ?
  876.     bfOffBits       dd ?
  877. BITMAPFILEHEADER ends
  878.  
  879.  
  880. WNDSTRUC struc
  881.         WSwndStyle        dd      ?
  882.         WSwndID           dw      ?
  883.         WSwndText         dw      ?
  884.         WSwndParent       dw      ?
  885.         WSwndInstance     dw      ?
  886.         WSwndClassProc    dd      ?
  887. WNDSTRUC ends
  888. ;
  889. ;  Message structure
  890. ;
  891. MSGSTRUCT       struc
  892. msHWND          dw      ?
  893. msMESSAGE       dw      ?
  894. msWPARAM        dw      ?
  895. msLPARAM        dd      ?
  896. msTIME          dd      ?
  897. msPT            dd      ?
  898. MSGSTRUCT       ends
  899.  
  900. NEWPARMS struc
  901.         nprmHwnd        dw      ?
  902.         nprmCmd         db      ?
  903. NEWPARMS ends
  904. ENDIF
  905.  
  906. PAINTSTRUCT STRUC
  907.     PShdc         DW ?
  908.     PSfErase      DW ?
  909.     PSrcPaint     DB size RECT dup(?)
  910.     PSfRestore    DW ?
  911.     PSfIncUpdate  DW ?
  912.     PSrgbReserved DB 16 dup(?)
  913. PAINTSTRUCT ENDS
  914.  
  915.  
  916. CREATESTRUCT struc
  917.     cs_lpCreateParams  dd ?
  918.     cs_hInstance       dw ?
  919.     cs_hMenu           dw ?
  920.     cs_hwndParent      dw ?
  921.     cs_cy              dw ?
  922.     cs_cx              dw ?
  923.     cs_y               dw ?
  924.     cs_x               dw ?
  925.     cs_style           dd ?
  926.     cs_lpszName        dd ?
  927.     cs_lpszClass       dd ?
  928.     cs_dwExStyle       dd ?
  929. CREATESTRUCT  ends
  930. ;
  931. ;       PostError constants
  932. ;
  933. WARNING     = 0           ; command codes
  934. MINOR_ERROR = 1
  935. FATAL_ERROR = 2
  936.  
  937. IGNORE      = 0           ; response codes
  938. RETRY       = 1
  939. ABORT       = 2
  940. ;
  941. ; GDI-related constants & commands
  942. ;
  943. ERRORREGION     = 0
  944. NULLREGION      = 1
  945. SIMPLEREGION    = 2
  946. COMPLEXREGION   = 3
  947.  
  948. IFNDEF NORASTOPS
  949. ;
  950. ; Binary raster ops
  951. ;
  952. R2_BLACK        =  1
  953. R2_NOTMERGEPEN  =  2
  954. R2_MASKNOTPEN   =  3
  955. R2_NOTCOPYPEN   =  4
  956. R2_MASKPENNOT   =  5
  957. R2_NOT          =  6
  958. R2_XORPEN       =  7
  959. R2_NOTMASKPEN   =  8
  960. R2_MASKPEN      =  9
  961. R2_NOTXORPEN    = 10
  962. R2_NOP          = 11
  963. R2_MERGENOTPEN  = 12
  964. R2_COPYPEN      = 13
  965. R2_MERGEPENNOT  = 14
  966. R2_MERGEPEN     = 15
  967. R2_WHITE        = 16
  968. ;
  969. ; Ternary raster ops
  970. ;
  971. SRCCOPY_L     = 0020h   ;dest=source
  972. SRCCOPY_H     = 00CCh
  973. SRCPAINT_L    = 0086h   ;dest=source OR dest
  974. SRCPAINT_H    = 00EEh
  975. SRCAND_L      = 00C6h   ;dest=source AND   dest
  976. SRCAND_H      = 0088h
  977. SRCINVERT_L   = 0046h   ;dest= source XOR      dest
  978. SRCINVERT_H   = 0066h
  979. SRCERASE_L    = 0328h   ;dest= source AND (not dest )
  980. SRCERASE_H    = 0044h
  981. NOTSRCCOPY_L  = 0008h   ;dest= (not source)
  982. NOTSRCCOPY_H  = 0033h
  983. NOTSRCERASE_L = 00A6h   ;dest= (not source) AND (not dest)
  984. NOTSRCERASE_H = 0011h
  985. MERGECOPY_L   = 00CAh   ;dest= (source AND pattern)
  986. MERGECOPY_H   = 00C0h
  987. MERGEPAINT_L  = 0226h   ;dest= (source AND pattern) OR dest
  988. MERGEPAINT_H  = 00BBh
  989. PATCOPY_L     = 0021h   ;dest= pattern
  990. PATCOPY_H     = 00F0h
  991. PATPAINT_L    = 0A09h   ;DPSnoo
  992. PATPAINT_H    = 00FBh
  993. PATINVERT_L   = 0049h   ;dest= pattern XOR     dest
  994. PATINVERT_H   = 005Ah
  995. DSTINVERT_L   = 0009h   ;dest= (not dest)
  996. DSTINVERT_H   = 0055h
  997. BLACKNESS_L   = 0042h   ;dest= BLACK
  998. BLACKNESS_H   = 0000h
  999. WHITENESS_L   = 0062h   ;dest= WHITE
  1000. WHITENESS_H   = 00FFh
  1001. ;
  1002. ; StretchBlt modes
  1003. ;
  1004. BLACKONWHITE    = 1
  1005. WHITEONBLACK    = 2
  1006. COLORONCOLOR    = 3
  1007. ;
  1008. ; New StretchBlt modes
  1009. ;
  1010. STRETCH_ANDSCANS    = 1
  1011. STRETCH_ORSCANS     = 2
  1012. STRETCH_DELETESCANS = 3
  1013. ;
  1014. ; PolyFill modes
  1015. ;
  1016. ALTERNATE       = 1
  1017. WINDING         = 2
  1018. ENDIF
  1019. ;
  1020. ; Text Alignment Options
  1021. ;
  1022. TA_NOUPDATECP   =  0
  1023. TA_UPDATECP     =  1
  1024.  
  1025. TA_LEFT         =  0
  1026. TA_RIGHT        =  2
  1027. TA_CENTER       =  6
  1028.  
  1029. TA_TOP          =  0
  1030. TA_BOTTOM       =  8
  1031. TA_BASELINE     =  24
  1032.  
  1033. ETO_GRAYED      =  1
  1034. ETO_OPAQUE      =  2
  1035. ETO_CLIPPED     =  4
  1036.  
  1037. ASPECT_FILTERING = 1
  1038.  
  1039. ifndef NOMETAFILE
  1040.  
  1041. ; Metafile Functions */
  1042. META_SETBKCOLOR            =  0201h
  1043. META_SETBKMODE             =  0102h
  1044. META_SETMAPMODE            =  0103h
  1045. META_SETROP2               =  0104h
  1046. META_SETRELABS             =  0105h
  1047. META_SETPOLYFILLMODE       =  0106h
  1048. META_SETSTRETCHBLTMODE     =  0107h
  1049. META_SETTEXTCHAREXTRA      =  0108h
  1050. META_SETTEXTCOLOR          =  0209h
  1051. META_SETTEXTJUSTIFICATION  =  020Ah
  1052. META_SETWINDOWORG          =  020Bh
  1053. META_SETWINDOWEXT          =  020Ch
  1054. META_SETVIEWPORTORG        =  020Dh
  1055. META_SETVIEWPORTEXT        =  020Eh
  1056. META_OFFSETWINDOWORG       =  020Fh
  1057. META_SCALEWINDOWEXT        =  0400h
  1058. META_OFFSETVIEWPORTORG     =  0211h
  1059. META_SCALEVIEWPORTEXT      =  0412h
  1060. META_LINETO                =  0213h
  1061. META_MOVETO                =  0214h
  1062. META_EXCLUDECLIPRECT       =  0415h
  1063. META_INTERSECTCLIPRECT     =  0416h
  1064. META_ARC                   =  0817h
  1065. META_ELLIPSE               =  0418h
  1066. META_FLOODFILL             =  0419h
  1067. META_PIE                   =  081Ah
  1068. META_RECTANGLE             =  041Bh
  1069. META_ROUNDRECT             =  061Ch
  1070. META_PATBLT                =  061Dh
  1071. META_SAVEDC                =  001Eh
  1072. META_SETPIXEL              =  041Fh
  1073. META_OFFSETCLIPRGN         =  0220h
  1074. META_TEXTOUT               =  0521h
  1075. META_BITBLT                =  0922h
  1076. META_STRETCHBLT            =  0B23h
  1077. META_POLYGON               =  0324h
  1078. META_POLYLINE              =  0325h
  1079. META_ESCAPE                =  0626h
  1080. META_RESTOREDC             =  0127h
  1081. META_FILLREGION            =  0228h
  1082. META_FRAMEREGION           =  0429h
  1083. META_INVERTREGION          =  012Ah
  1084. META_PAINTREGION           =  012Bh
  1085. META_SELECTCLIPREGION      =  012Ch
  1086. META_SELECTOBJECT          =  012Dh
  1087. META_SETTEXTALIGN          =  012Eh
  1088. META_DRAWTEXT              =  062Fh
  1089.  
  1090. META_CHORD                 =  0830h
  1091. META_SETMAPPERFLAGS        =  0231h
  1092. META_EXTTEXTOUT            =  0a32h
  1093. META_SETDIBTODEV           =  0d33h
  1094. META_SELECTPALETTE         =  0234h
  1095. META_REALIZEPALETTE        =  0035h
  1096. META_ANIMATEPALETTE        =  0436h
  1097. META_SETPALENTRIES         =  0037h
  1098. META_POLYPOLYGON           =  0538h
  1099. META_RESIZEPALETTE         =  0139h
  1100.  
  1101. META_DIBBITBLT             =  0940h
  1102. META_DIBSTRETCHBLT         =  0b41h
  1103. META_DIBCREATEPATTERNBRUSH =  0142h
  1104. META_STRETCHDIB            =  0f43h
  1105.  
  1106. META_DELETEOBJECT          =  01f0h
  1107.  
  1108. META_CREATEPALETTE         =  00f7h
  1109. META_CREATEBRUSH           =  00F8h
  1110. META_CREATEPATTERNBRUSH    =  01F9h
  1111. META_CREATEPENINDIRECT     =  02FAh
  1112. META_CREATEFONTINDIRECT    =  02FBh
  1113. META_CREATEBRUSHINDIRECT   =  02FCh
  1114. META_CREATEBITMAPINDIRECT  =  02FDh
  1115. META_CREATEBITMAP          =  06FEh
  1116. META_CREATEREGION          =  06FFh
  1117.  
  1118. ; /* Clipboard Metafile Picture Structure */
  1119. HANDLETABLE struc
  1120.     ht_objectHandle  dw      ?
  1121. HANDLETABLE ends
  1122.  
  1123. METARECORD struc
  1124.     mr_rdSize        dd      ?
  1125.     mr_rdFunction    dw      ?
  1126.     mr_rdParm        dw      ?
  1127. METARECORD ends
  1128.  
  1129. METAFILEPICT struc
  1130.     mfp_mm      dw      ?
  1131.     mfp_xExt    dw      ?
  1132.     mfp_yExt    dw      ?
  1133.     mfp_hMF     dw      ?
  1134. METAFILEPICT ends
  1135.  
  1136. METAHEADER struc
  1137.   mtType        dw      ?
  1138.   mtHeaderSize  dw      ?
  1139.   mtVersion     dw      ?
  1140.   mtSize        dd      ?
  1141.   mtNoObjects   dw      ?
  1142.   mtMaxRecord   dd      ?
  1143.   mtNoParameters dw     ?
  1144. METAHEADER ends
  1145.  
  1146. endif ; NOMETAFILE
  1147.  
  1148. ; GDI Escapes
  1149. NEWFRAME                  =   1
  1150. ABORTDOC                  =   2
  1151. NEXTBAND                  =   3
  1152. SETCOLORTABLE             =   4
  1153. GETCOLORTABLE             =   5
  1154. FLUSHOUTPUT               =   6
  1155. DRAFTMODE                 =   7
  1156. QUERYESCSUPPORT           =   8
  1157. SETABORTPROC              =   9
  1158. STARTDOC                  =   10
  1159. ;; This value conflicts with a std WIN386 MACRO definition
  1160. ;;ENDDOC                    =   11
  1161. GETPHYSPAGESIZE           =   12
  1162. GETPRINTINGOFFSET         =   13
  1163. GETSCALINGFACTOR          =   14
  1164. MFCOMMENT                 =   15
  1165. GETPENWIDTH               =   16
  1166. SETCOPYCOUNT              =   17
  1167. SELECTPAPERSOURCE         =   18
  1168. DEVICEDATA                =   19
  1169. PASSTHROUGH               =   19
  1170. GETTECHNOLGY              =   20
  1171. GETTECHNOLOGY             =   20
  1172. SETENDCAP                 =   21
  1173. SETLINEJOIN               =   22
  1174. SETMITERLIMIT             =   23
  1175. BANDINFO                  =   24
  1176. DRAWPATTERNRECT           =   25
  1177. GETVECTORPENSIZE          =   26
  1178. GETVECTORBRUSHSIZE        =   27
  1179. ENABLEDUPLEX              =   28
  1180. ENABLEMANUALFEED          =   29
  1181. GETSETPAPERBINS           =   29
  1182. GETSETPRINTORIENT         =   30
  1183. ENUMPAPERBINS             =   31
  1184.  
  1185. GETEXTENDEDTEXTMETRICS    =   256
  1186. GETEXTENTTABLE            =   257
  1187. GETPAIRKERNTABLE          =   258
  1188. GETTRACKKERNTABLE         =   259
  1189.  
  1190. EXTTEXTOUT                =   512
  1191.  
  1192. ENABLERELATIVEWIDTHS      =   768
  1193. ENABLEPAIRKERNING         =   769
  1194. SETKERNTRACK              =   770
  1195. SETALLJUSTVALUES          =   771
  1196. SETCHARSET                =   772
  1197.  
  1198. GETSETSCREENPARAMS        =   3072
  1199.  
  1200. STRETCHBLT                =   2048
  1201.  
  1202.  
  1203. ; Spooler Error Codes
  1204. SP_NOTREPORTED            =   4000h
  1205. SP_ERROR                  =   (-1)
  1206. SP_APPABORT               =   (-2)
  1207. SP_USERABORT              =   (-3)
  1208. SP_OUTOFDISK              =   (-4)
  1209. SP_OUTOFMEMORY            =   (-5)
  1210.  
  1211. PR_JOBSTATUS              =   0000
  1212.  
  1213. ; Object Definitions for EnumObjects()
  1214. OBJ_PEN                   =   1
  1215. OBJ_BRUSH                 =   2
  1216.  
  1217. ;
  1218. ; Menu flags for Change/Check/Enable MenuItem
  1219. ;
  1220. MF_INSERT       =   0000h
  1221. MF_CHANGE       =   0080h
  1222. MF_APPEND       =   0100h
  1223. MF_DELETE       =   0200h
  1224. MF_REMOVE       =   1000h
  1225.  
  1226. MF_BYCOMMAND    =   0000h
  1227. MF_BYPOSITION   =   0400h
  1228.  
  1229. MF_SEPARATOR    =   0800h
  1230.  
  1231. MF_ENABLED      =   0000h
  1232. MF_GRAYED       =   0001h
  1233. MF_DISABLED     =   0002h
  1234.  
  1235. MF_UNCHECKED    =   0000h
  1236. MF_CHECKED      =   0008h
  1237. MF_USECHECKBITMAPS= 0200h
  1238.  
  1239. MF_STRING       =   0000h
  1240. MF_BITMAP       =   0004h
  1241. MF_OWNERDRAW    =   0100h
  1242.  
  1243. MF_POPUP        =   0010h
  1244. MF_MENUBARBREAK =   0020h
  1245. MF_MENUBREAK    =   0040h
  1246.  
  1247. MF_UNHILITE     =   0000h
  1248. MF_HILITE       =   0080h
  1249.  
  1250. MF_SYSMENU      =   2000h
  1251. MF_HELP         =   4000h
  1252. MF_MOUSESELECT  =   8000h
  1253.  
  1254.  
  1255. ;
  1256. ;  System Menu Command Values
  1257. ;
  1258. SC_SIZE        = 0F000h
  1259. SC_MOVE        = 0F010h
  1260. SC_MINIMIZE    = 0F020h
  1261. SC_MAXIMIZE    = 0F030h
  1262. SC_NEXTWINDOW  = 0F040h
  1263. SC_PREVWINDOW  = 0F050h
  1264. SC_CLOSE       = 0F060h
  1265. SC_VSCROLL     = 0F070h
  1266. SC_HSCROLL     = 0F080h
  1267. SC_MOUSEMENU   = 0F090h
  1268. SC_KEYMENU     = 0F100h
  1269. SC_ARRANGE     = 0F110h
  1270. SC_RESTORE     = 0F120h
  1271. SC_TASKLIST    = 0F130h
  1272. SC_SCREENSAVE  = 0F140h
  1273. SC_HOTKEY      = 0F150h
  1274.  
  1275. SC_ICON        = SC_MINIMIZE
  1276. SC_ZOOM        = SC_MAXIMIZE
  1277.  
  1278. ;
  1279. ;  Window State Messages
  1280. ;
  1281. IFNDEF  NOWM
  1282. WM_STATE            = 0000H
  1283.  
  1284. WM_NULL             = 0000h
  1285. WM_CREATE           = 0001h
  1286. WM_DESTROY          = 0002h
  1287. WM_MOVE             = 0003h
  1288. WM_SIZE             = 0005h
  1289. WM_ACTIVATE         = 0006h
  1290. WM_SETFOCUS         = 0007h
  1291. WM_KILLFOCUS        = 0008h
  1292. WM_ENABLE           = 000Ah
  1293. WM_SETREDRAW        = 000Bh
  1294. WM_SETTEXT          = 000Ch
  1295. WM_GETTEXT          = 000Dh
  1296. WM_GETTEXTLENGTH    = 000Eh
  1297. WM_PAINT            = 000Fh
  1298. WM_CLOSE            = 0010h
  1299. WM_QUERYENDSESSION  = 0011h
  1300. WM_QUIT             = 0012h
  1301. WM_QUERYOPEN        = 0013h
  1302. WM_ERASEBKGND       = 0014h
  1303. WM_SYSCOLORCHANGE   = 0015h
  1304. WM_ENDSESSION       = 0016h
  1305. WM_SYSTEMERROR      = 0017h
  1306. WM_SHOWWINDOW       = 0018h
  1307. WM_CTLCOLOR         = 0019h
  1308. WM_WININICHANGE     = 001Ah
  1309. WM_DEVMODECHANGE    = 001Bh
  1310. WM_ACTIVATEAPP      = 001Ch
  1311. WM_FONTCHANGE       = 001Dh
  1312. WM_TIMECHANGE       = 001Eh
  1313. WM_CANCELMODE       = 001Fh
  1314. WM_SETCURSOR        = 0020h
  1315. WM_MOUSEACTIVATE    = 0021h
  1316. WM_CHILDACTIVATE    = 0022h
  1317. WM_QUEUESYNC        = 0023h
  1318. WM_GETMINMAXINFO    = 0024h
  1319. WM_PAINTICON        = 0026h
  1320. WM_ICONERASEBKGND   = 0027h
  1321. WM_NEXTDLGCTL       = 0028h
  1322. WM_SPOOLERSTATUS    = 002Ah
  1323. WM_DRAWITEM         = 002Bh
  1324. WM_MEASUREITEM      = 002Ch
  1325. WM_DELETEITEM       = 002Dh
  1326. WM_VKEYTOITEM       = 002Eh
  1327. WM_CHARTOITEM       = 002Fh
  1328. WM_SETFONT          = 0030h
  1329. WM_GETFONT          = 0031h
  1330. WM_QUERYDRAGICON    = 0037h
  1331. WM_COMPAREITEM      = 0039h
  1332. WM_COMPACTING       = 0041h
  1333. IFNDEF NOWIN31
  1334. WM_COMMNOTIFY       = 0044h
  1335. WM_WINDOWPOSCHANGING= 0046h
  1336. WM_WINDOWPOSCHANGED = 0047h
  1337. WM_POWER            = 0048h
  1338. ENDIF
  1339.  
  1340.  
  1341. WM_NCCREATE         = 0081h
  1342. WM_NCDESTROY        = 0082h
  1343. WM_NCCALCSIZE       = 0083h
  1344. WM_NCHITTEST        = 0084h
  1345. WM_NCPAINT          = 0085h
  1346. WM_NCACTIVATE       = 0086h
  1347. WM_GETDLGCODE       = 0087h
  1348. WM_NCMOUSEMOVE      = 00A0h
  1349. WM_NCLBUTTONDOWN    = 00A1h
  1350. WM_NCLBUTTONUP      = 00A2h
  1351. WM_NCLBUTTONDBLCLK  = 00A3h
  1352. WM_NCRBUTTONDOWN    = 00A4h
  1353. WM_NCRBUTTONUP      = 00A5h
  1354. WM_NCRBUTTONDBLCLK  = 00A6h
  1355. WM_NCMBUTTONDOWN    = 00A7h
  1356. WM_NCMBUTTONUP      = 00A8h
  1357. WM_NCMBUTTONDBLCLK  = 00A9h
  1358.  
  1359. WM_KEYFIRST         = 0100h
  1360. WM_KEYDOWN          = 0100h
  1361. WM_KEYUP            = 0101h
  1362. WM_CHAR             = 0102h
  1363. WM_DEADCHAR         = 0103h
  1364. WM_SYSKEYDOWN       = 0104h
  1365. WM_SYSKEYUP         = 0105h
  1366. WM_SYSCHAR          = 0106h
  1367. WM_SYSDEADCHAR      = 0107h
  1368. WM_KEYLAST          = 0108h
  1369.  
  1370. WM_INITDIALOG       = 0110h
  1371. WM_COMMAND          = 0111h
  1372. WM_SYSCOMMAND       = 0112h
  1373. WM_TIMER            = 0113h
  1374. WM_HSCROLL          = 0114h
  1375. WM_VSCROLL          = 0115h
  1376. WM_INITMENU         = 0116h
  1377. WM_INITMENUPOPUP    = 0117h
  1378. WM_MENUSELECT       = 011Fh
  1379. WM_MENUCHAR         = 0120h
  1380. WM_ENTERIDLE        = 0121h
  1381.  
  1382.  
  1383. WM_MOUSEFIRST       = 0200h
  1384. WM_MOUSEMOVE        = 0200h
  1385. WM_LBUTTONDOWN      = 0201h
  1386. WM_LBUTTONUP        = 0202h
  1387. WM_LBUTTONDBLCLK    = 0203h
  1388. WM_RBUTTONDOWN      = 0204h
  1389. WM_RBUTTONUP        = 0205h
  1390. WM_RBUTTONDBLCLK    = 0206h
  1391. WM_MBUTTONDOWN      = 0207h
  1392. WM_MBUTTONUP        = 0208h
  1393. WM_MBUTTONDBLCLK    = 0209h
  1394. WM_MOUSELAST        = 0209h
  1395.  
  1396. WM_PARENTNOTIFY     = 0210h
  1397. WM_MDICREATE        = 0220h
  1398. WM_MDIDESTROY       = 0221h
  1399. WM_MDIACTIVATE      = 0222h
  1400. WM_MDIRESTORE       = 0223h
  1401. WM_MDINEXT          = 0224h
  1402. WM_MDIMAXIMIZE      = 0225h
  1403. WM_MDITILE          = 0226h
  1404. WM_MDICASCADE       = 0227h
  1405. WM_MDIICONARRANGE   = 0228h
  1406. WM_MDIGETACTIVE     = 0229h
  1407. WM_MDISETMENU       = 0230h
  1408. WM_DROPFILES        = 0233h
  1409.  
  1410.  
  1411. WM_CUT              = 0300h
  1412. WM_COPY             = 0301h
  1413. WM_PASTE            = 0302h
  1414. WM_CLEAR            = 0303h
  1415. WM_UNDO             = 0304h
  1416. WM_RENDERFORMAT     = 0305h
  1417. WM_RENDERALLFORMATS = 0306h
  1418. WM_DESTROYCLIPBOARD = 0307h
  1419. WM_DRAWCLIPBOARD    = 0308h
  1420. WM_PAINTCLIPBOARD   = 0309h
  1421. WM_VSCROLLCLIPBOARD = 030Ah
  1422. WM_SIZECLIPBOARD    = 030Bh
  1423. WM_ASKCBFORMATNAME  = 030Ch
  1424. WM_CHANGECBCHAIN    = 030Dh
  1425. WM_HSCROLLCLIPBOARD = 030Eh
  1426. WM_QUERYNEWPALETTE  = 030Fh
  1427. WM_PALETTEISCHANGING = 0310h
  1428. WM_PALETTECHANGED   = 0311h
  1429.  
  1430. IFNDEF NOWIN31
  1431. WM_PENWINFIRST      equ 0380h
  1432. WM_PENWINLAST       equ 038Fh
  1433.  
  1434.  
  1435. WM_COALESCE_FIRST  equ 0390h
  1436. WM_COALESCE_LAST   equ 039Fh
  1437.  
  1438.  
  1439.  
  1440.  
  1441. ENDIF
  1442.  
  1443.  
  1444.  
  1445. ;  private window messages start here
  1446. WM_USER             = 0400H
  1447. ENDIF           ; NOWM
  1448.  
  1449. ; WM_MOUSEACTIVATE Return Codes
  1450. MA_ACTIVATE       =  1
  1451. MA_ACTIVATEANDEAT =  2
  1452. MA_NOACTIVATE     =  3
  1453.  
  1454. ; Size message commands
  1455. SIZENORMAL       = 0
  1456. SIZEICONIC       = 1
  1457. SIZEFULLSCREEN   = 2
  1458. SIZEZOOMSHOW     = 3
  1459. SIZEZOOMHIDE     = 4
  1460.  
  1461. ; ShowWindow() Commands
  1462. SW_HIDE            = 0
  1463. SW_SHOWNORMAL      = 1
  1464. SW_NORMAL          = 1
  1465. SW_SHOWMINIMIZED   = 2
  1466. SW_SHOWMAXIMIZED   = 3
  1467. SW_MAXIMIZE        = 3
  1468. SW_SHOWNOACTIVATE  = 4
  1469. SW_SHOW            = 5
  1470. SW_MINIMIZE        = 6
  1471. SW_SHOWMINNOACTIVE = 7
  1472. SW_SHOWNA          = 8
  1473. SW_RESTORE         = 9
  1474.  
  1475. ; Old ShowWindow() Commands
  1476. HIDE_WINDOW        = 0
  1477. SHOW_OPENWINDOW    = 1
  1478. SHOW_ICONWINDOW    = 2
  1479. SHOW_FULLSCREEN    = 3
  1480. SHOW_OPENNOACTIVATE= 4
  1481.  
  1482. ;  identifiers for the WM_SHOWWINDOW message
  1483. SW_PARENTCLOSING =  1
  1484. SW_OTHERZOOM     =  2
  1485. SW_PARENTOPENING =  3
  1486. SW_OTHERUNZOOM   =  4
  1487. ;
  1488. ; Key state masks for mouse messages
  1489. ;
  1490. MK_LBUTTON       = 0001h
  1491. MK_RBUTTON       = 0002h
  1492. MK_SHIFT         = 0004h
  1493. MK_CONTROL       = 0008h
  1494. MK_MBUTTON       = 0010h
  1495. ;
  1496. ; Class styles
  1497. ;
  1498. CS_VREDRAW         = 0001h
  1499. CS_HREDRAW         = 0002h
  1500. CS_KEYCVTWINDOW    = 0004H
  1501. CS_DBLCLKS         = 0008h
  1502. ;                    0010h reserved
  1503. CS_OWNDC           = 0020h
  1504. CS_CLASSDC         = 0040h
  1505. CS_PARENTDC        = 0080h
  1506. CS_NOKEYCVT        = 0100h
  1507. CS_SAVEBITS        = 0800h
  1508. CS_NOCLOSE         = 0200h
  1509. CS_BYTEALIGNCLIENT = 1000h
  1510. CS_BYTEALIGNWINDOW = 2000h
  1511. CS_GLOBALCLASS     = 4000h    ; Global window class
  1512.  
  1513. ;
  1514. ; Special CreateWindow position value
  1515. ;
  1516. CW_USEDEFAULT   EQU    8000h
  1517.  
  1518. ;
  1519. ; Windows styles (the high words)
  1520. ;
  1521. WS_OVERLAPPED   = 00000h
  1522. WS_ICONICPOPUP  = 0C000h
  1523. WS_POPUP        = 08000h
  1524. WS_CHILD        = 04000h
  1525. WS_MINIMIZE     = 02000h
  1526. WS_VISIBLE      = 01000h
  1527. WS_DISABLED     = 00800h
  1528. WS_CLIPSIBLINGS = 00400h
  1529. WS_CLIPCHILDREN = 00200h
  1530. WS_MAXIMIZE     = 00100h
  1531. WS_CAPTION      = 000C0h     ; WS_BORDER | WS_DLGFRAME
  1532. WS_BORDER       = 00080h
  1533. WS_DLGFRAME     = 00040h
  1534. WS_VSCROLL      = 00020h
  1535. WS_HSCROLL      = 00010h
  1536. WS_SYSMENU      = 00008h
  1537. WS_THICKFRAME   = 00004h
  1538. WS_HREDRAW      = 00002h
  1539. WS_VREDRAW      = 00001h
  1540. WS_GROUP        = 00002h
  1541. WS_TABSTOP      = 00001h
  1542. WS_MINIMIZEBOX  = 00002h
  1543. WS_MAXIMIZEBOX  = 00001h
  1544.  
  1545. ; Common Window Styles
  1546.  
  1547. WS_OVERLAPPEDWINDOW = WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX
  1548. WS_POPUPWINDOW  = WS_POPUP + WS_BORDER + WS_SYSMENU
  1549. WS_CHILDWINDOW  = WS_CHILD
  1550. WS_TILEDWINDOW  = WS_OVERLAPPEDWINDOW
  1551.  
  1552. WS_TILED        = WS_OVERLAPPED
  1553. WS_ICONIC       = WS_MINIMIZE
  1554. WS_SIZEBOX      = WS_THICKFRAME
  1555.  
  1556. ; Extended Window Styles (low words)
  1557. WS_EX_DLGMODALFRAME  = 0001
  1558. WS_EX_DRAGOBJECT     = 0002
  1559. WS_EX_NOPARENTNOTIFY = 0004
  1560. WS_EX_TOPMOST        = 0008
  1561.  
  1562. ;
  1563. ; predefined clipboard formats
  1564. ;
  1565. CF_TEXT         =  1
  1566. CF_BITMAP       =  2
  1567. CF_METAFILEPICT =  3
  1568. CF_SYLK         =  4
  1569. CF_DIF          =  5
  1570. CF_TIFF         =  6
  1571. CF_OEMTEXT      =  7
  1572. CF_DIB          =  8
  1573. CF_PALETTE      =  9
  1574. CF_PENDATA      = 10
  1575. CF_RIFF         = 11
  1576. CF_WAVE         = 12
  1577.  
  1578. CF_OWNERDISPLAY = 80h       ; owner display
  1579. CF_DSPTEXT      = 81h       ; display text
  1580. CF_DSPBITMAP    = 82h       ; display bitmap
  1581. CF_DSPMETAFILEPICT  = 83h   ; display metafile
  1582. ;
  1583. ; Private clipboard format range
  1584. ;
  1585. CF_PRIVATEFIRST       = 200h       ; Anything in this range doesn't
  1586. CF_PRIVATELAST        = 2ffh       ; get GlobalFree'd
  1587. CF_GDIOBJFIRST        = 300h       ; Anything in this range gets
  1588. CF_GDIOBJLAST         = 3ffh       ; DeleteObject'ed
  1589.  
  1590.  
  1591. MAKEINTRESOURCE MACRO a
  1592.         mov     ax,a
  1593.         xor     dx,dx
  1594.         ENDM
  1595. ;
  1596. ;  Predefined resource types
  1597. ;
  1598. RT_CURSOR       = 1              ; must be passed through MAKEINTRESOURCE
  1599. RT_BITMAP       = 2
  1600. RT_ICON         = 3
  1601. RT_MENU         = 4
  1602. RT_DIALOG       = 5
  1603. RT_STRING       = 6
  1604. RT_FONTDIR      = 7
  1605. RT_FONT         = 8
  1606. RT_ACCELERATOR  = 9
  1607. RT_RCDATA       = 10
  1608.  
  1609. ;** NOTE: if any new resource types are introduced above this point, then the
  1610. ;** value of DIFFERENCE must be changed.
  1611. ;** (RT_GROUP_CURSOR - RT_CURSOR) must always be equal to DIFFERENCE
  1612. ;** (RT_GROUP_ICON - RT_ICON) must always be equal to DIFFERENCE
  1613.  
  1614. DIFFERENCE       =   11
  1615.  
  1616. RT_GROUP_CURSOR  =   RT_CURSOR + DIFFERENCE
  1617. RT_GROUP_ICON    =   RT_ICON + DIFFERENCE
  1618.  
  1619.  
  1620.  
  1621. IFNDEF NOMDI
  1622. MDICREATESTRUCT     struc
  1623.     szClass         dd ?
  1624.     szTitle         dd ?
  1625.     hOwner          dw ?
  1626.     x               dw ?
  1627.     y               dw ?
  1628.     cxc             dw ?
  1629.     cyc             dw ?
  1630.     style           dd ?
  1631. MDICREATESTRUCT ends
  1632.  
  1633. CLIENTCREATESTRUCT  struc
  1634.     hWindowMenu     dw ?
  1635.     idFirstChild    dw ?
  1636. CLIENTCREATESTRUCT ends
  1637. ENDIF
  1638.  
  1639. ; NOMDI
  1640.  
  1641.  
  1642. PALETTEENTRY        struc
  1643.     peRed           db ?
  1644.     peGreen         db ?
  1645.     peBlue          db ?
  1646.     peFlags         db ?
  1647. PALETTEENTRY        ends
  1648.  
  1649. ; Logical Palette
  1650. LOGPALETTE          struc
  1651.     palVersion      dw ?
  1652.     palNumEntries   dw ?
  1653.     palPalEntry     db ?  ; array of PALETTEENTRY
  1654. LOGPALETTE          ends
  1655.  
  1656. ; DRAWITEMSTRUCT for ownerdraw
  1657. DRAWITEMSTRUCT      struc
  1658.     drCtlType         dw ?
  1659.     drCtlID           dw ?
  1660.     dritemID          dw ?
  1661.     dritemAction      dw ?
  1662.     dritemState       dw ?
  1663.     drhwndItem        dw ?
  1664.     drhDC             dw ?
  1665.     drrcItem          DB size RECT dup(?)
  1666.     dritemData        dd ?
  1667. DRAWITEMSTRUCT ends
  1668.  
  1669. ; DELETEITEMSTRUCT for ownerdraw
  1670. DELETEITEMSTRUCT    struc
  1671.     deCtlType         dw ?
  1672.     deCtlID           dw ?
  1673.     deitemID          dw ?
  1674.     dehwndItem        dw ?
  1675.     deitemData        dd ?
  1676. DELETEITEMSTRUCT ends
  1677.  
  1678. ; MEASUREITEMSTRUCT for ownerdraw
  1679. MEASUREITEMSTRUCT   struc
  1680.     meCtlType         dw ?
  1681.     meCtlID           dw ?
  1682.     meitemID          dw ?
  1683.     meitemWidth       dw ?
  1684.     meitemHeight      dw ?
  1685.     meitemData        dd ?
  1686. MEASUREITEMSTRUCT ends
  1687.  
  1688. ; COMPAREITEMSTUCT for ownerdraw sorting
  1689. COMPAREITEMSTRUCT   struc
  1690.     coCtlType   dw ?
  1691.     coCtlID     dw ?
  1692.     cohwndItem  dw ?
  1693.     coitemID1   dw ?
  1694.     coitemData1 dd ?
  1695.     coitemID2   dw ?
  1696.     coitemData2 dd ?
  1697. COMPAREITEMSTRUCT   ends
  1698.  
  1699. ; Owner draw control types
  1700. ODT_MENU      =  1
  1701. ODT_LISTBOX   =  2
  1702. ODT_COMBOBOX  =  3
  1703. ODT_BUTTON    =  4
  1704.  
  1705. ; Owner draw actions
  1706. ODA_DRAWENTIRE = 1
  1707. ODA_SELECT     = 2
  1708. ODA_FOCUS      = 4
  1709.  
  1710. ; Owner draw state
  1711. ODS_SELECTED   = 0001h
  1712. ODS_GRAYED     = 0002h
  1713. ODS_DISABLED   = 0004h
  1714. ODS_CHECKED    = 0008h
  1715. ODS_FOCUS      = 0010h
  1716.  
  1717. ; PeekMessage() Options
  1718. PM_NOREMOVE    = 0000h
  1719. PM_REMOVE      = 0001h
  1720. PM_NOYIELD     = 0002h
  1721.  
  1722. ; SetWindowPos Flags
  1723. SWP_NOSIZE       =  0001h
  1724. SWP_NOMOVE       =  0002h
  1725. SWP_NOZORDER     =  0004h
  1726. SWP_NOREDRAW     =  0008h
  1727. SWP_NOACTIVATE   =  0010h
  1728. SWP_DRAWFRAME    =  0020h
  1729. SWP_SHOWWINDOW   =  0040h
  1730. SWP_HIDEWINDOW   =  0080h
  1731. SWP_NOCOPYBITS   =  0100h
  1732. SWP_NOREPOSITION =  0200h
  1733.  
  1734.  
  1735. IFNDEF NOWINMESSAGES
  1736.  
  1737. ; Listbox messages
  1738. LB_ADDSTRING           = (WM_USER+1)
  1739. LB_INSERTSTRING        = (WM_USER+2)
  1740. LB_DELETESTRING        = (WM_USER+3)
  1741. LB_RESETCONTENT        = (WM_USER+5)
  1742. LB_SETSEL              = (WM_USER+6)
  1743. LB_SETCURSEL           = (WM_USER+7)
  1744. LB_GETSEL              = (WM_USER+8)
  1745. LB_GETCURSEL           = (WM_USER+9)
  1746. LB_GETTEXT             = (WM_USER+10)
  1747. LB_GETTEXTLEN          = (WM_USER+11)
  1748. LB_GETCOUNT            = (WM_USER+12)
  1749. LB_SELECTSTRING        = (WM_USER+13)
  1750. LB_DIR                 = (WM_USER+14)
  1751. LB_GETTOPINDEX         = (WM_USER+15)
  1752. LB_FINDSTRING          = (WM_USER+16)
  1753. LB_GETSELCOUNT         = (WM_USER+17)
  1754. LB_GETSELITEMS         = (WM_USER+18)
  1755. LB_SETTABSTOPS         = (WM_USER+19)
  1756. LB_GETHORIZONTALEXTENT = (WM_USER+20)
  1757. LB_SETHORIZONTALEXTENT = (WM_USER+21)
  1758. LB_SETTOPINDEX         = (WM_USER+24)
  1759. LB_GETITEMRECT         = (WM_USER+25)
  1760. LB_GETITEMDATA         = (WM_USER+26)
  1761. LB_SETITEMDATA         = (WM_USER+27)
  1762. LB_SELITEMRANGE        = (WM_USER+28)
  1763. LB_SETCARETINDEX       = (WM_USER+31)
  1764. LB_GETCARETINDEX       = (WM_USER+32)
  1765. IFNDEF NOWIN31
  1766. LB_SETITEMHEIGHT       = (WM_USER+33)
  1767. LB_GETITEMHEIGHT       = (WM_USER+34)
  1768. LB_FINDSTRINGEXACT     = (WM_USER+35)
  1769. ENDIF
  1770.  
  1771. ENDIF
  1772. ; NOWINMESSAGES
  1773.  
  1774. ; Listbox Styles
  1775. LBS_NOTIFY            = 0001h
  1776. LBS_SORT              = 0002h
  1777. LBS_NOREDRAW          = 0004h
  1778. LBS_MULTIPLESEL       = 0008h
  1779. LBS_OWNERDRAWFIXED    = 0010h
  1780. LBS_OWNERDRAWVARIABLE = 0020h
  1781. LBS_HASSTRINGS        = 0040h
  1782. LBS_USETABSTOPS       = 0080h
  1783. LBS_NOINTEGRALHEIGHT  = 0100h
  1784. LBS_MULTICOLUMN       = 0200h
  1785. LBS_WANTKEYBOARDINPUT = 0400h
  1786. LBS_EXTENDEDSEL       = 0800h
  1787. LBS_STANDARD          = LBS_NOTIFY + LBS_SORT + WS_VSCROLL + WS_BORDER
  1788. LBS_DISABLENOSCROLL   = 1000h
  1789.  
  1790. ; Listbox Notification Codes
  1791. LBN_ERRSPACE      =  (-2)
  1792. LBN_SELCHANGE     =  1
  1793. LBN_DBLCLK        =  2
  1794. LBN_SELCANCEL     =  3
  1795. LBN_SETFOCUS      =  4
  1796. LBN_KILLFOCUS     =  5
  1797.  
  1798. IFNDEF NOWINMESSAGES
  1799.  
  1800. ; Edit Control Messages
  1801. EM_GETSEL              = (WM_USER+0)
  1802. EM_SETSEL              = (WM_USER+1)
  1803. EM_GETRECT             = (WM_USER+2)
  1804. EM_SETRECT             = (WM_USER+3)
  1805. EM_SETRECTNP           = (WM_USER+4)
  1806. EM_SCROLL              = (WM_USER+5)
  1807. EM_LINESCROLL          = (WM_USER+6)
  1808. EM_GETMODIFY           = (WM_USER+8)
  1809. EM_SETMODIFY           = (WM_USER+9)
  1810. EM_GETLINECOUNT        = (WM_USER+10)
  1811. EM_LINEINDEX           = (WM_USER+11)
  1812. EM_SETHANDLE           = (WM_USER+12)
  1813. EM_GETHANDLE           = (WM_USER+13)
  1814. EM_LINELENGTH          = (WM_USER+17)
  1815. EM_REPLACESEL          = (WM_USER+18)
  1816. EM_SETFONT             = (WM_USER+19)
  1817. EM_GETLINE             = (WM_USER+20)
  1818. EM_LIMITTEXT           = (WM_USER+21)
  1819. EM_CANUNDO             = (WM_USER+22)
  1820. EM_UNDO                = (WM_USER+23)
  1821. EM_FMTLINES            = (WM_USER+24)
  1822. EM_LINEFROMCHAR        = (WM_USER+25)
  1823. EM_SETWORDBREAK        = (WM_USER+26)
  1824. EM_SETTABSTOPS         = (WM_USER+27)
  1825. EM_SETPASSWORDCHAR     = (WM_USER+28)
  1826. EM_EMPTYUNDOBUFFER     = (WM_USER+29)
  1827. IFNDEF NOWIN31
  1828. EM_GETFIRSTVISIBLELINE = (WM_USER+30)
  1829. EM_SETREADONLY         = (WM_USER+31)
  1830. EM_SETWORDBREAKPROC    = (WM_USER+32)
  1831. EM_GETWORDBREAKPROC    = (WM_USER+33)
  1832. EM_GETPASSWORDCHAR     = (WM_USER+34)
  1833. ENDIF
  1834.  
  1835. ENDIF
  1836. ; NOWINMESSAGES
  1837.  
  1838.  
  1839. ; Edit Control Styles (low word)
  1840. ES_LEFT            = 0000h
  1841. ES_CENTER          = 0001h
  1842. ES_RIGHT           = 0002h
  1843. ES_MULTILINE       = 0004h
  1844. ES_UPPERCASE       = 0008h
  1845. ES_LOWERCASE       = 0010h
  1846. ES_PASSWORD        = 0020h
  1847. ES_AUTOVSCROLL     = 0040h
  1848. ES_AUTOHSCROLL     = 0080h
  1849. ES_NOHIDESEL       = 0100h
  1850. ES_OEMCONVERT      = 0400h
  1851. IFNDEF NOWIN31
  1852. ES_READONLY        = 0800h
  1853. ES_WANTRETURN      = 1000h
  1854. ENDIF
  1855.  
  1856.  
  1857. ; Edit Control Notification Codes
  1858. EN_SETFOCUS        = 0100h
  1859. EN_KILLFOCUS       = 0200h
  1860. EN_CHANGE          = 0300h
  1861. EN_UPDATE          = 0400h
  1862. EN_ERRSPACE        = 0500h
  1863. EN_MAXTEXT         = 0501h
  1864. EN_HSCROLL         = 0601h
  1865. EN_VSCROLL         = 0602h
  1866.  
  1867. IFNDEF NOWINMESSAGES
  1868.  
  1869. ; Button Control Messages
  1870. BM_GETCHECK        = (WM_USER+0)
  1871. BM_SETCHECK        = (WM_USER+1)
  1872. BM_GETSTATE        = (WM_USER+2)
  1873. BM_SETSTATE        = (WM_USER+3)
  1874. BM_SETSTYLE        = (WM_USER+4)
  1875.  
  1876. ENDIF
  1877. ; NOWINMESSAGES
  1878.  
  1879. ; Button Control Styles (low word)
  1880. BS_PUSHBUTTON      = 00h
  1881. BS_DEFPUSHBUTTON   = 01h
  1882. BS_CHECKBOX        = 02h
  1883. BS_AUTOCHECKBOX    = 03h
  1884. BS_RADIOBUTTON     = 04h
  1885. BS_3STATE          = 05h
  1886. BS_AUTO3STATE      = 06h
  1887. BS_GROUPBOX        = 07h
  1888. BS_USERBUTTON      = 08h
  1889. BS_AUTORADIOBUTTON = 09h
  1890. BS_OWNERDRAW       = 0Bh
  1891. BS_LEFTTEXT        = 20h
  1892.  
  1893. ; User Button Notification Codes
  1894. BN_CLICKED         = 0
  1895. BN_PAINT           = 1
  1896. BN_HILITE          = 2
  1897. BN_UNHILITE        = 3
  1898. BN_DISABLE         = 4
  1899. BN_DOUBLECLICKED   = 5
  1900.  
  1901. ; Dialog Styles (low words)
  1902. DS_ABSALIGN        = 01h
  1903. DS_SYSMODAL        = 02h
  1904. DS_LOCALEDIT       = 20h  ;/* Edit items get Local storage. */
  1905. DS_SETFONT         = 40h  ;/* User specified font for Dlg controls */
  1906. DS_MODALFRAME      = 80h  ;/* Can be combined with WS_CAPTION  */
  1907. DS_NOIDLEMSG       = 100h ;/* WM_ENTERIDLE message will not be sent */
  1908.  
  1909. IFNDEF NOWINMESSAGES
  1910.  
  1911. ; Dialog box messages
  1912. DM_GETDEFID        = (WM_USER+0)
  1913. DM_SETDEFID        = (WM_USER+1)
  1914.  
  1915. ENDIF   ;NOWINMESSAGES
  1916.  
  1917. ; Dialog Codes
  1918. DLGC_WANTARROWS     = 0001h    ;  /* Control wants arrow keys         */
  1919. DLGC_WANTTAB        = 0002h    ;  /* Control wants tab keys           */
  1920. DLGC_WANTALLKEYS    = 0004h    ;  /* Control wants all keys           */
  1921. DLGC_WANTMESSAGE    = 0004h    ;  /* Pass message to control          */
  1922. DLGC_HASSETSEL      = 0008h    ;  /* Understands EM_SETSEL message    */
  1923. DLGC_DEFPUSHBUTTON  = 0010h    ;  /* Default pushbutton               */
  1924. DLGC_UNDEFPUSHBUTTON= 0020h    ;  /* Non-default pushbutton           */
  1925. DLGC_RADIOBUTTON    = 0040h    ;  /* Radio button                     */
  1926. DLGC_WANTCHARS      = 0080h    ;  /* Want WM_CHAR messages            */
  1927. DLGC_STATIC         = 0100h    ;  /* Static item: don't include       */
  1928. DLGC_BUTTON         = 2000h    ;  /* Button item: can be checked      */
  1929.  
  1930. ; Combo Box return Values
  1931. CB_OKAY          =   0
  1932. CB_ERR           =   (-1)
  1933. CB_ERRSPACE      =   (-2)
  1934.  
  1935. ; Combo Box Notification Codes
  1936. CBN_ERRSPACE     =   (-1)
  1937. CBN_SELCHANGE    =   1
  1938. CBN_DBLCLK       =   2
  1939. CBN_SETFOCUS     =   3
  1940. CBN_KILLFOCUS    =   4
  1941. CBN_EDITCHANGE   =   5
  1942. CBN_EDITUPDATE   =   6
  1943. CBN_DROPDOWN     =   7
  1944.  
  1945. ; Combo Box styles (low words)
  1946. CBS_SIMPLE           = 0001h
  1947. CBS_DROPDOWN         = 0002h
  1948. CBS_DROPDOWNLIST     = 0003h
  1949. CBS_OWNERDRAWFIXED   = 0010h
  1950. CBS_OWNERDRAWVARIABLE= 0020h
  1951. CBS_AUTOHSCROLL      = 0040h
  1952. CBS_OEMCONVERT       = 0080h
  1953. CBS_SORT             = 0100h
  1954. CBS_HASSTRINGS       = 0200h
  1955. CBS_NOINTEGRALHEIGHT = 0400h
  1956.  
  1957. IFNDEF NOWINMESSAGES
  1958.  
  1959. ; Combo Box messages
  1960. CB_GETEDITSEL            = (WM_USER+0)
  1961. CB_LIMITTEXT             = (WM_USER+1)
  1962. CB_SETEDITSEL            = (WM_USER+2)
  1963. CB_ADDSTRING             = (WM_USER+3)
  1964. CB_DELETESTRING          = (WM_USER+4)
  1965. CB_DIR                   = (WM_USER+5)
  1966. CB_GETCOUNT              = (WM_USER+6)
  1967. CB_GETCURSEL             = (WM_USER+7)
  1968. CB_GETLBTEXT             = (WM_USER+8)
  1969. CB_GETLBTEXTLEN          = (WM_USER+9)
  1970. CB_INSERTSTRING          = (WM_USER+10)
  1971. CB_RESETCONTENT          = (WM_USER+11)
  1972. CB_FINDSTRING            = (WM_USER+12)
  1973. CB_SELECTSTRING          = (WM_USER+13)
  1974. CB_SETCURSEL             = (WM_USER+14)
  1975. CB_SHOWDROPDOWN          = (WM_USER+15)
  1976. CB_GETITEMDATA           = (WM_USER+16)
  1977. CB_SETITEMDATA           = (WM_USER+17)
  1978. IFNDEF NOWIN31
  1979. CB_GETDROPPEDCONTROLRECT = (WM_USER+18)
  1980. CB_SETITEMHEIGHT         = (WM_USER+19)
  1981. CB_GETITEMHEIGHT         = (WM_USER+20)
  1982. CB_SETEXTENDEDUI         = (WM_USER+21)
  1983. CB_GETEXTENDEDUI         = (WM_USER+22)
  1984. CB_GETDROPPEDSTATE       = (WM_USER+23)
  1985. CB_FINDSTRINGEXACT       = (WM_USER+24)
  1986. ENDIF
  1987.  
  1988. ENDIF ; NOWINMESSAGES
  1989.  
  1990. ; Static Control styles (low word)
  1991. SS_LEFT            = 00h
  1992. SS_CENTER          = 01h
  1993. SS_RIGHT           = 02h
  1994. SS_ICON            = 03h
  1995. SS_BLACKRECT       = 04h
  1996. SS_GRAYRECT        = 05h
  1997. SS_WHITERECT       = 06h
  1998. SS_BLACKFRAME      = 07h
  1999. SS_GRAYFRAME       = 08h
  2000. SS_WHITEFRAME      = 09h
  2001. SS_SIMPLE          = 0Bh
  2002. SS_LEFTNOWORDWRAP  = 0Ch
  2003. SS_NOPREFIX        = 80h    ; Don't do "&" character translation
  2004.  
  2005. IFNDEF NOWIN31
  2006. IFNDEF NOWINMESSAGES
  2007.  
  2008. ;Static Control Messages
  2009. STM_SETICON        = (WM_USER+0)
  2010. STM_GETICON        = (WM_USER+1)
  2011. ENDIF
  2012. ENDIF
  2013.  
  2014. ; Scroll Bar Styles (low word)
  2015. SBS_HORZ                    = 0000h
  2016. SBS_VERT                    = 0001h
  2017. SBS_TOPALIGN                = 0002h
  2018. SBS_LEFTALIGN               = 0002h
  2019. SBS_BOTTOMALIGN             = 0004h
  2020. SBS_RIGHTALIGN              = 0004h
  2021. SBS_SIZEBOXTOPLEFTALIGN     = 0002h
  2022. SBS_SIZEBOXBOTTOMRIGHTALIGN = 0004h
  2023. SBS_SIZEBOX                 = 0008h
  2024.  
  2025. IFNDEF NOSYSMETRICS
  2026.  
  2027. ; GetSystemMetrics() codes
  2028. SM_CXSCREEN           =  0
  2029. SM_CYSCREEN           =  1
  2030. SM_CXVSCROLL          =  2
  2031. SM_CYHSCROLL          =  3
  2032. SM_CYCAPTION          =  4
  2033. SM_CXBORDER           =  5
  2034. SM_CYBORDER           =  6
  2035. SM_CXDLGFRAME         =  7
  2036. SM_CYDLGFRAME         =  8
  2037. SM_CYVTHUMB           =  9
  2038. SM_CXHTHUMB           =  10
  2039. SM_CXICON             =  11
  2040. SM_CYICON             =  12
  2041. SM_CXCURSOR           =  13
  2042. SM_CYCURSOR           =  14
  2043. SM_CYMENU             =  15
  2044. SM_CXFULLSCREEN       =  16
  2045. SM_CYFULLSCREEN       =  17
  2046. SM_CYKANJIWINDOW      =  18
  2047. SM_MOUSEPRESENT       =  19
  2048. SM_CYVSCROLL          =  20
  2049. SM_CXHSCROLL          =  21
  2050. SM_DEBUG              =  22
  2051. SM_SWAPBUTTON         =  23
  2052. SM_RESERVED1          =  24
  2053. SM_RESERVED2          =  25
  2054. SM_RESERVED3          =  26
  2055. SM_RESERVED4          =  27
  2056. SM_CXMIN              =  28
  2057. SM_CYMIN              =  29
  2058. SM_CXSIZE             =  30
  2059. SM_CYSIZE             =  31
  2060. SM_CXFRAME            =  32
  2061. SM_CYFRAME            =  33
  2062. SM_CXMINTRACK         =  34
  2063. SM_CYMINTRACK         =  35
  2064. IFNDEF NOWIN31
  2065. SM_CXDOUBLECLK        =  36
  2066. SM_CYDOUBLECLK        =  37
  2067. SM_CXICONSPACING      =  38
  2068. SM_CYICONSPACING      =  39
  2069. SM_MENUDROPALIGNMENT  =  40
  2070. SM_PENWINDOWS         =  41
  2071. SM_DBCSENABLED        =  42
  2072. ENDIF
  2073. SM_CMETRICSMAX        =  43
  2074.  
  2075. ENDIF   ;NOSYSMETRICS
  2076.  
  2077. IFNDEF  NOCOLOR
  2078.  
  2079. COLOR_SCROLLBAR           = 0
  2080. COLOR_BACKGROUND          = 1
  2081. COLOR_ACTIVECAPTION       = 2
  2082. COLOR_INACTIVECAPTION     = 3
  2083. COLOR_MENU                = 4
  2084. COLOR_WINDOW              = 5
  2085. COLOR_WINDOWFRAME         = 6
  2086. COLOR_MENUTEXT            = 7
  2087. COLOR_WINDOWTEXT          = 8
  2088. COLOR_CAPTIONTEXT         = 9
  2089. COLOR_ACTIVEBORDER        = 10
  2090. COLOR_INACTIVEBORDER      = 11
  2091. COLOR_APPWORKSPACE        = 12
  2092. COLOR_HIGHLIGHT           = 13
  2093. COLOR_HIGHLIGHTTEXT       = 14
  2094. COLOR_BTNFACE             = 15
  2095. COLOR_BTNSHADOW           = 16
  2096. COLOR_GRAYTEXT            = 17
  2097. COLOR_BTNTEXT             = 18
  2098. IFNDEF NOWIN31
  2099. COLOR_INACTIVECAPTIONTEXT = 19
  2100. COLOR_BTNHILIGHT          = 20
  2101. ENDIF
  2102. ENDIF   ;NOCOLOR
  2103.  
  2104. ; Commands to pass WinHelp()
  2105. HELP_CONTEXT    =0001h  ;/* Display topic in ulTopic */
  2106. HELP_QUIT       =0002h  ;/* Terminate help */
  2107. HELP_INDEX      =0003h  ;/* Display index */
  2108. HELP_HELPONHELP =0004h  ;/* Display help on using help */
  2109. HELP_SETINDEX   =0005h  ;/* Set the current Index for multi index help */
  2110. HELP_KEY        =0101h  ;/* Display topic for keyword in offabData */
  2111.  
  2112. IFNDEF NOCOMM
  2113.  
  2114. NOPARITY        =   0
  2115. ODDPARITY       =   1
  2116. EVENPARITY      =   2
  2117. MARKPARITY      =   3
  2118. SPACEPARITY     =   4
  2119.  
  2120. ONESTOPBIT      =   0
  2121. ONE5STOPBITS    =   1
  2122. TWOSTOPBITS     =   2
  2123.  
  2124. IGNORE          =   0      ; /* Ignore signal    */
  2125. INFINITE        =   0FFFFh ; /* Infinite timeout */
  2126.  
  2127. ; Error Flags
  2128. CE_RXOVER       =    0001h ; /* Receive Queue overflow       */
  2129. CE_OVERRUN      =    0002h ; /* Receive Overrun Error        */
  2130. CE_RXPARITY     =    0004h ; /* Receive Parity Error         */
  2131. CE_FRAME        =    0008h ; /* Receive Framing error        */
  2132. CE_BREAK        =    0010h ; /* Break Detected               */
  2133. CE_CTSTO        =    0020h ; /* CTS Timeout                  */
  2134. CE_DSRTO        =    0040h ; /* DSR Timeout                  */
  2135. CE_RLSDTO       =    0080h ; /* RLSD Timeout                 */
  2136. CE_TXFULL       =    0100h ; /* TX Queue is full             */
  2137. CE_PTO          =    0200h ; /* LPTx Timeout                 */
  2138. CE_IOE          =    0400h ; /* LPTx I/O Error               */
  2139. CE_DNS          =    0800h ; /* LPTx Device not selected     */
  2140. CE_OOP          =    1000h ; /* LPTx Out-Of-Paper            */
  2141. CE_MODE         =    8000h ; /* Requested mode unsupported   */
  2142.  
  2143. IE_BADID        =    (-1)  ;  /* Invalid or unsupported id    */
  2144. IE_OPEN         =    (-2)  ;  /* Device Already Open          */
  2145. IE_NOPEN        =    (-3)  ;  /* Device Not Open              */
  2146. IE_MEMORY       =    (-4)  ;  /* Unable to allocate queues    */
  2147. IE_DEFAULT      =    (-5)  ;  /* Error in default parameters  */
  2148. IE_HARDWARE     =    (-10) ;  /* Hardware Not Present         */
  2149. IE_BYTESIZE     =    (-11) ;  /* Illegal Byte Size            */
  2150. IE_BAUDRATE     =    (-12) ;  /* Unsupported BaudRate         */
  2151.  
  2152. ; Events
  2153. EV_RXCHAR       =    0001h ; /* Any Character received       */
  2154. EV_RXFLAG       =    0002h ; /* Received certain character   */
  2155. EV_TXEMPTY      =    0004h ; /* Transmitt Queue Empty        */
  2156. EV_CTS          =    0008h ; /* CTS changed state            */
  2157. EV_DSR          =    0010h ; /* DSR changed state            */
  2158. EV_RLSD         =    0020h ; /* RLSD changed state           */
  2159. EV_BREAK        =    0040h ; /* BREAK received               */
  2160. EV_ERR          =    0080h ; /* Line status error occurred   */
  2161. EV_RING         =    0100h ; /* Ring signal detected         */
  2162. EV_PERR         =    0200h ; /* Printer error occured        */
  2163. EV_CTSS         =    0400h ; /* CTS state                    */
  2164. EV_DSRS         =    0800h ; /* DSR state                    */
  2165. EV_RLSDS        =    1000h ; /* RLSD state                   */
  2166. EV_RingTe       =    2000h ; /* Ring Trailing Edge Indicator */
  2167.  
  2168.  
  2169. ; Escape Functions
  2170. SETXOFF         =    1     ;  /* Simulate XOFF received       */
  2171. SETXON          =    2     ;  /* Simulate XON received        */
  2172. SETRTS          =    3     ;  /* Set RTS high                 */
  2173. CLRRTS          =    4     ;  /* Set RTS low                  */
  2174. SETDTR          =    5     ;  /* Set DTR high                 */
  2175. CLRDTR          =    6     ;  /* Set DTR low                  */
  2176. RESETDEV        =    7     ;  /* Reset device if possible     */
  2177.  
  2178. LPTx            =    80h   ; /* Set if ID is for LPT device  */
  2179.  
  2180. IFNDEF NOWIN31
  2181. ; new escape functions
  2182. GETMAXLPT   equ  8         ; Max supported LPT id
  2183. GETMAXCOM   equ  9         ; Max supported COM id
  2184. GETBASEIRQ  equ 10         ; Get port base & irq for a port
  2185.  
  2186. ; Comm Baud Rate indices
  2187. CBR_110     equ 0FF10h
  2188. CBR_300     equ 0FF11h
  2189. CBR_600     equ 0FF12h
  2190. CBR_1200    equ 0FF13h
  2191. CBR_2400    equ 0FF14h
  2192. CBR_4800    equ 0FF15h
  2193. CBR_9600    equ 0FF16h
  2194. CBR_14400   equ 0FF17h
  2195. CBR_19200   equ 0FF18h
  2196. ;               0FF19h  (reserved)
  2197. ;               0FF1Ah  (reserved)
  2198. CBR_38400   equ 0FF1Bh
  2199. ;               0FF1Ch  (reserved)
  2200. ;               0FF1Dh  (reserved)
  2201. ;               0FF1Eh  (reserved)
  2202. CBR_56000   equ 0FF1Fh
  2203. ;               0FF20h  (reserved)
  2204. ;               0FF21h  (reserved)
  2205. ;               0FF22h  (reserved)
  2206. CBR_128000  equ 0FF23h
  2207. ;               0FF24h  (reserved)
  2208. ;               0FF25h  (reserved)
  2209. ;               0FF26h  (reserved)
  2210. CBR_256000  equ 0FF27h
  2211.  
  2212. ; notifications passed in low word of lParam on WM_COMMNOTIFY messages
  2213. CN_RECEIVE  equ 1           ; bytes are available in the input queue
  2214. CN_TRANSMIT equ 2           ; fewer than wOutTrigger bytes still
  2215.                             ; remain in the output queue waiting
  2216.                             ; to be transmitted.
  2217. CN_EVENT    equ 4           ; an enabled event has occurred
  2218.  
  2219. ENDIF
  2220.  
  2221.  
  2222. DCB     struc
  2223.     DCB_Id             db ?  ; /* Internal Device ID              */
  2224.     DCB_BaudRate       dw ?  ; /* Baudrate at which runing        */
  2225.     DCB_ByteSize       db ?  ; /* Number of bits/byte, 4-8        */
  2226.     DCB_Parity         db ?  ; /* 0-4=None,Odd,Even,Mark,Space    */
  2227.     DCB_StopBits       db ?  ; /* 0,1,2 = 1, 1.5, 2               */
  2228.     DCB_RlsTimeout     dw ?  ; /* Timeout for RLSD to be set      */
  2229.     DCB_CtsTimeout     dw ?  ; /* Timeout for CTS to be set       */
  2230.     DCB_DsrTimeout     dw ?  ; /* Timeout for DSR to be set       */
  2231.  
  2232.     DCB_BitMask1       db ?
  2233.  
  2234.     ;   BYTE fBinary: 1;     /* Binary Mode (skip EOF check     */
  2235.     ;   BYTE fRtsDisable:1;  /* Don't assert RTS at init time   */
  2236.     ;   BYTE fParity: 1;     /* Enable parity checking          */
  2237.     ;   BYTE fOutxCtsFlow:1; /* CTS handshaking on output       */
  2238.     ;   BYTE fOutxDsrFlow:1; /* DSR handshaking on output       */
  2239.     ;   BYTE fDummy: 2;      /* Reserved                        */
  2240.     ;   BYTE fDtrDisable:1;  /* Don't assert DTR at init time   */
  2241.  
  2242.     DCB_BitMask2       db ?
  2243.  
  2244.     ;   BYTE fOutX: 1;       /* Enable output X-ON/X-OFF        */
  2245.     ;   BYTE fInX: 1;        /* Enable input X-ON/X-OFF         */
  2246.     ;   BYTE fPeChar: 1;     /* Enable Parity Err Replacement   */
  2247.     ;   BYTE fNull: 1;       /* Enable Null stripping           */
  2248.     ;   BYTE fChEvt: 1;      /* Enable Rx character event.      */
  2249.     ;   BYTE fDtrflow: 1;    /* DTR handshake on input          */
  2250.     ;   BYTE fRtsflow: 1;    /* RTS handshake on input          */
  2251.     ;   BYTE fDummy2: 1;
  2252.  
  2253.     DCB_XonChar        db ? ; /* Tx and Rx X-ON character        */
  2254.     DCB_XoffChar       db ? ; /* Tx and Rx X-OFF character       */
  2255.     DCB_XonLim         dw ? ; /* Transmit X-ON threshold         */
  2256.     DCB_XoffLim        dw ? ; /* Transmit X-OFF threshold        */
  2257.     DCB_PeChar         db ? ; /* Parity error replacement char   */
  2258.     DCB_EofChar        db ? ; /* End of Input character          */
  2259.     DCB_EvtChar        db ? ; /* Recieved Event character        */
  2260.     DCB_TxDelay        dw ? ; /* Amount of time between chars    */
  2261. DCB     ends
  2262.  
  2263. COMSTAT     struc
  2264.     COMS_BitMask1   db ?
  2265.  
  2266. ;    BYTE fCtsHold: 1;   /* Transmit is on CTS hold         */
  2267. ;    BYTE fDsrHold: 1;   /* Transmit is on DSR hold         */
  2268. ;    BYTE fRlsdHold: 1;  /* Transmit is on RLSD hold        */
  2269. ;    BYTE fXoffHold: 1;  /* Received handshake              */
  2270. ;    BYTE fXoffSent: 1;  /* Issued handshake                */
  2271. ;    BYTE fEof: 1;       /* End of file character found     */
  2272. ;    BYTE fTxim: 1;      /* Character being transmitted     */
  2273.  
  2274.  
  2275.     COMS_cbInQue    dw ?  ;   /* count of characters in Rx Queue */
  2276.     COMS_cbOutQue   dw ?  ;   /* count of characters in Tx Queue */
  2277. COMSTAT     ends
  2278.  
  2279. ENDIF       ;NOCOM
  2280.  
  2281. ;
  2282. ; Installable Driver Support
  2283. ;
  2284. ; Driver Messages
  2285. DRV_LOAD            = 0001h
  2286. DRV_ENABLE          = 0002h
  2287. DRV_OPEN            = 0003h
  2288. DRV_CLOSE           = 0004h
  2289. DRV_DISABLE         = 0005h
  2290. DRV_FREE            = 0006h
  2291. DRV_CONFIGURE       = 0007h
  2292. DRV_QUERYCONFIGURE  = 0008h
  2293. DRV_INSTALL         = 0009h
  2294. DRV_REMOVE          = 000Ah
  2295. DRV_EXITSESSION     = 000Bh
  2296. DRV_POWER           = 000Fh
  2297. DRV_RESERVED        = 0800h
  2298. DRV_USER            = 4000h
  2299.  
  2300. ;LPARAM of DRV_CONFIGURE message and return values
  2301. DRVCONFIGINFO struc
  2302.     DRVCNF_dwDCISize          dw ?
  2303.     DRVCNF_lpszDCISectionName dd ?
  2304.     DRVCNF_lpszDCIAliasName   dd ?
  2305. DRVCONFIGINFO ends
  2306.  
  2307. DRVCNF_CANCEL       = 0000h
  2308. DRVCNF_OK           = 0001h
  2309. DRVCNF_RESTART      = 0002h
  2310.  
  2311.  
  2312. IFNDEF  NOKERNEL
  2313. ;
  2314. ; Common Kernel errors
  2315. ;
  2316. ERR_GALLOC      = 01030h        ; GlobalAlloc Failed
  2317. ERR_GREALLOC    = 01031h        ; GlobalReAlloc Failed
  2318. ERR_GLOCK       = 01032h        ; GlobalLock Failed
  2319. ERR_LALLOC      = 01033h        ; LocalAlloc Failed
  2320. ERR_LREALLOC    = 01034h        ; LocalReAlloc Failed
  2321. ERR_LLOCK       = 01035h        ; LocalLock Failed
  2322. ERR_ALLOCRES    = 01036h        ; AllocResource Failed
  2323. ERR_LOCKRES     = 01037h        ; LockResource Failed
  2324. ERR_LOADMODULE  = 01038h        ; LoadModule failed
  2325.  
  2326. ;
  2327. ; Common User Errors
  2328. ;
  2329. ERR_CREATEDLG        =  01045h ; /* Create Dlg failure due to LoadMenu failure */
  2330. ERR_CREATEDLG2       =  01046h ; /* Create Dlg failure due to CreateWindow Failure */
  2331. ERR_REGISTERCLASS    =  01047h ; /* RegisterClass failure due to Class already registered */
  2332. ERR_DCBUSY           =  01048h ; /* DC Cache is full */
  2333. ERR_CREATEWND        =  01049h ; /* Create Wnd failed due to class not found */
  2334. ERR_STRUCEXTRA       =  01050h ; /* Unallocated Extra space is used */
  2335. ERR_LOADSTR          =  01051h ; /* LoadString() failed */
  2336. ERR_LOADMENU         =  01052h ; /* LoadMenu Failed     */
  2337. ERR_NESTEDBEGINPAINT =  01053h ; /* Nested BeginPaint() calls */
  2338. ERR_BADINDEX         =  01054h ; /* Bad index to Get/Set Class/Window Word/Long */
  2339. ERR_CREATEMENU       =  01055h ; /* Error creating menu */
  2340.  
  2341. ;
  2342. ; Common GDI Errors
  2343. ;
  2344. ERR_CREATEDC        = 01070h    ; /* CreateDC/CreateIC etc., failure */
  2345. ERR_CREATEMETA      = 01071h    ; /* CreateMetafile failure */
  2346. ERR_DELOBJSELECTED  = 01072h    ; /* Bitmap being deleted is selected into DC */
  2347. ERR_SELBITMAP       = 01073h    ; /* Bitmap being selected is already selected elsewhere */
  2348.  
  2349. ENDIF       ;NOKERNEL
  2350. 
  2351.  
  2352.