home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c500 / 5.ddi / SRC_INC.WPK / WINDOWS.INC < prev   
Encoding:
Text File  |  1992-05-28  |  63.6 KB  |  2,344 lines

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