1{ 2 This file is part of the Free Pascal run time library. 3 This unit contains the record definition for the Win32 API 4 Copyright (c) 1999-2000 by Florian KLaempfl, 5 member of the Free Pascal development team. 6 7 See the file COPYING.FPC, included in this distribution, 8 for details about the copyright. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 14 **********************************************************************} 15 16{ 17 Structures.h 18 19 Declarations for all the Windows32 API Structures 20 21 Copyright (C) 1996 Free Software Foundation, Inc. 22 23 Author: Scott Christley <scottc@net-community.com> 24 Date: 1996 25 26 This file is part of the Windows32 API Library. 27 28 This library is free software; you can redistribute it and/or 29 modify it under the terms of the GNU Library General Public 30 License as published by the Free Software Foundation; either 31 version 2 of the License, or (at your option) any later version. 32 33 This library is distributed in the hope that it will be useful, 34 but WITHOUT ANY WARRANTY; without even the implied warranty of 35 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 36 Library General Public License for more details. 37 38 If you are interested in a warranty or support for this source code, 39 contact Scott Christley <scottc@net-community.com> for more information. 40 41 You should have received a copy of the GNU Library General Public 42 License along with this library; see the file COPYING.LIB. 43 If not, write to the Free Software Foundation, 44 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 45 46 47 Changes : 48 49 22/15/2005 update for wince4.2 port, orinaudo@gmail.com 50 51} 52 53{$ifdef read_interface} 54 55 type 56 {$calling default} 57 {$i typshrdh.inc} 58 {$calling cdecl} 59 { WARNING 60 the variable argument list 61 is not implemented for FPC 62 va_list is just a dummy record 63 MvdV: Nevertheless it should be a pointer type, not a record} 64 65 va_list = pchar; 66 67 ABC = record 68 abcA : longint; 69 abcB : UINT; 70 abcC : longint; 71 end; 72 LPABC = ^ABC; 73 _ABC = ABC; 74 TABC = ABC; 75 PABC = ^ABC; 76 77 ABCFLOAT = record 78 abcfA : Single; 79 abcfB : Single; 80 abcfC : Single; 81 end; 82 LPABCFLOAT = ^ABCFLOAT; 83 _ABCFLOAT = ABCFLOAT; 84 TABCFLOAT = ABCFLOAT; 85 PABCFLOAT = ^ABCFLOAT; 86 87 ACCEL = record 88 fVirt : BYTE; 89 key : WORD; 90 cmd : WORD; 91 end; 92 LPACCEL = ^ACCEL; 93 _ACCEL = ACCEL; 94 TACCEL = ACCEL; 95 PACCEL = ^ACCEL; 96 97 // 98 // The structure of an ACE is a common ace header followed by ace type 99 // specific data. Pictorally the structure of the common ace header is 100 // as follows: 101 // 102 // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 103 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 104 // +---------------+-------+-------+---------------+---------------+ 105 // | AceSize | AceFlags | AceType | 106 // +---------------+-------+-------+---------------+---------------+ 107 // 108 // AceType denotes the type of the ace, there are some predefined ace 109 // types 110 // 111 // AceSize is the size, in bytes, of ace. 112 // 113 // AceFlags are the Ace flags for audit and inheritance, defined shortly. 114 115 ACE_HEADER = record //winnt 116 AceType : BYTE; 117 AceFlags : BYTE; 118 AceSize : WORD; 119 end; 120 _ACE_HEADER = ACE_HEADER; 121 TACE_HEADER = ACE_HEADER; 122 PACE_HEADER = ^ACE_HEADER; 123 124 ACCESS_MASK = DWORD; //winnt 125 PACCESS_MASK = ^ACCESS_MASK; //+winnt 126 127 REGSAM = ACCESS_MASK; 128 129 ACCESS_ALLOWED_ACE = record 130 Header : ACE_HEADER; 131 Mask : ACCESS_MASK; 132 SidStart : DWORD; 133 end; 134 _ACCESS_ALLOWED_ACE = ACCESS_ALLOWED_ACE; 135 TACCESS_ALLOWED_ACE = ACCESS_ALLOWED_ACE; 136 PACCESS_ALLOWED_ACE = ^ACCESS_ALLOWED_ACE; 137 138 ACCESS_DENIED_ACE = record 139 Header : ACE_HEADER; 140 Mask : ACCESS_MASK; 141 SidStart : DWORD; 142 end; 143 _ACCESS_DENIED_ACE = ACCESS_DENIED_ACE; 144 TACCESS_DENIED_ACE = ACCESS_DENIED_ACE; 145 146 ACCESSTIMEOUT = record 147 cbSize : UINT; 148 dwFlags : DWORD; 149 iTimeOutMSec : DWORD; 150 end; 151 _ACCESSTIMEOUT = ACCESSTIMEOUT; 152 TACCESSTIMEOUT = ACCESSTIMEOUT; 153 PACCESSTIMEOUT = ^ACCESSTIMEOUT; 154 155 PACCESS_TOKEN = PVOID; //+winnt 156 157 //////////////////////////////////////////////////////////////////////// 158 // // 159 // ACL and ACE // 160 // // 161 //////////////////////////////////////////////////////////////////////// 162 163 // 164 // Define an ACL and the ACE format. The structure of an ACL header 165 // followed by one or more ACEs. Pictorally the structure of an ACL header 166 // is as follows: 167 // 168 // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 169 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 170 // +-------------------------------+---------------+---------------+ 171 // | AclSize | Sbz1 | AclRevision | 172 // +-------------------------------+---------------+---------------+ 173 // | Sbz2 | AceCount | 174 // +-------------------------------+-------------------------------+ 175 // 176 // The current AclRevision is defined to be ACL_REVISION. 177 // 178 // AclSize is the size, in bytes, allocated for the ACL. This includes 179 // the ACL header, ACES, and remaining free space in the buffer. 180 // 181 // AceCount is the number of ACES in the ACL. 182 // 183 184 ACL = record //winnt 185 AclRevision : BYTE; 186 Sbz1 : BYTE; 187 AclSize : WORD; 188 AceCount : WORD; 189 Sbz2 : WORD; 190 end; 191 PACL = ^ACL; 192 _ACL = ACL; 193 TACL = ACL; 194 195 ACL_REVISION_INFORMATION = record 196 AclRevision : DWORD; 197 end; 198 _ACL_REVISION_INFORMATION = ACL_REVISION_INFORMATION; 199 TACLREVISIONINFORMATION = ACL_REVISION_INFORMATION; 200 PACLREVISIONINFORMATION = ^ACL_REVISION_INFORMATION; 201 202 ACL_SIZE_INFORMATION = record 203 AceCount : DWORD; 204 AclBytesInUse : DWORD; 205 AclBytesFree : DWORD; 206 end; 207 _ACL_SIZE_INFORMATION = ACL_SIZE_INFORMATION; 208 TACLSIZEINFORMATION = ACL_SIZE_INFORMATION; 209 PACLSIZEINFORMATION = ^ACL_SIZE_INFORMATION; 210 211 ACTION_HEADER = record 212 transport_id : ULONG; 213 action_code : USHORT; 214 reserved : USHORT; 215 end; 216 _ACTION_HEADER = ACTION_HEADER; 217 TACTIONHEADER = ACTION_HEADER; 218 PACTIONHEADER = ^ACTION_HEADER; 219 220 ADAPTER_STATUS = record 221 adapter_address : array[0..5] of UCHAR; 222 rev_major : UCHAR; 223 reserved0 : UCHAR; 224 adapter_type : UCHAR; 225 rev_minor : UCHAR; 226 duration : WORD; 227 frmr_recv : WORD; 228 frmr_xmit : WORD; 229 iframe_recv_err : WORD; 230 xmit_aborts : WORD; 231 xmit_success : DWORD; 232 recv_success : DWORD; 233 iframe_xmit_err : WORD; 234 recv_buff_unavail : WORD; 235 t1_timeouts : WORD; 236 ti_timeouts : WORD; 237 reserved1 : DWORD; 238 free_ncbs : WORD; 239 max_cfg_ncbs : WORD; 240 max_ncbs : WORD; 241 xmit_buf_unavail : WORD; 242 max_dgram_size : WORD; 243 pending_sess : WORD; 244 max_cfg_sess : WORD; 245 max_sess : WORD; 246 max_sess_pkt_size : WORD; 247 name_count : WORD; 248 end; 249 _ADAPTER_STATUS = ADAPTER_STATUS; 250 TADAPTERSTATUS = ADAPTER_STATUS; 251 PADAPTERSTATUS = ^ADAPTER_STATUS; 252 253 ADDJOB_INFO_1 = record 254 Path : LPTSTR; 255 JobId : DWORD; 256 end; 257 _ADDJOB_INFO_1 = ADDJOB_INFO_1; 258 TADDJOB_INFO_1 = ADDJOB_INFO_1; 259 PADDJOB_INFO_1 = ^ADDJOB_INFO_1; 260 261 ANIMATIONINFO = record 262 cbSize : UINT; 263 iMinAnimate : longint; 264 end; 265 LPANIMATIONINFO = ^ANIMATIONINFO; 266 _ANIMATIONINFO = ANIMATIONINFO; 267 TANIMATIONINFO = ANIMATIONINFO; 268 PANIMATIONINFO = ^ANIMATIONINFO; 269 270 POINT = TPOINT; 271 LPPOINT = PPOINT; 272 tagPOINT = TPOINT; 273 274 RECT = TRect; 275 LPRECT = PRECT; 276 _RECT = RECT; 277 LPRCECT = PRECT; 278 279 RECTL = record 280 left : LONG; 281 top : LONG; 282 right : LONG; 283 bottom : LONG; 284 end; 285 _RECTL = RECTL; 286 TRECTL = RECTL; 287 PRECTL = ^RECTL; 288 289 APPBARDATA = record 290 cbSize : DWORD; 291 hWnd : HWND; 292 uCallbackMessage : UINT; 293 uEdge : UINT; 294 rc : RECT; 295 lParam : LPARAM; 296 end; 297 _AppBarData = APPBARDATA; 298 TAppBarData = APPBARDATA; 299 PAppBarData = ^APPBARDATA; 300 301 BITMAP = record 302 bmType : LONG; 303 bmWidth : LONG; 304 bmHeight : LONG; 305 bmWidthBytes : LONG; 306 bmPlanes : WORD; 307 bmBitsPixel : WORD; 308 bmBits : LPVOID; 309 end; 310 PBITMAP = ^BITMAP; 311 NPBITMAP = ^BITMAP; 312 LPBITMAP = ^BITMAP; 313 tagBITMAP = BITMAP; 314 TBITMAP = BITMAP; 315 316 BITMAPCOREHEADER = record 317 bcSize : DWORD; 318 bcWidth : WORD; 319 bcHeight : WORD; 320 bcPlanes : WORD; 321 bcBitCount : WORD; 322 end; 323 tagBITMAPCOREHEADER = BITMAPCOREHEADER; 324 TBITMAPCOREHEADER = BITMAPCOREHEADER; 325 PBITMAPCOREHEADER = ^BITMAPCOREHEADER; 326 327 RGBTRIPLE = record 328 rgbtBlue : BYTE; 329 rgbtGreen : BYTE; 330 rgbtRed : BYTE; 331 end; 332 tagRGBTRIPLE = RGBTRIPLE; 333 TRGBTRIPLE = RGBTRIPLE; 334 PRGBTRIPLE = ^RGBTRIPLE; 335 336 BITMAPCOREINFO = record 337 bmciHeader : BITMAPCOREHEADER; 338 bmciColors : array[0..0] of RGBTRIPLE; 339 end; 340 PBITMAPCOREINFO = ^BITMAPCOREINFO; 341 LPBITMAPCOREINFO = ^BITMAPCOREINFO; 342 _BITMAPCOREINFO = BITMAPCOREINFO; 343 TBITMAPCOREINFO = BITMAPCOREINFO; 344 345(* error 346 WORD bfReserved1; 347 WORD bfReserved2; 348 in declarator_list *) 349 350 BITMAPINFOHEADER = record 351 biSize : DWORD; 352 biWidth : LONG; 353 biHeight : LONG; 354 biPlanes : WORD; 355 biBitCount : WORD; 356 biCompression : DWORD; 357 biSizeImage : DWORD; 358 biXPelsPerMeter : LONG; 359 biYPelsPerMeter : LONG; 360 biClrUsed : DWORD; 361 biClrImportant : DWORD; 362 end; 363 LPBITMAPINFOHEADER = ^BITMAPINFOHEADER; 364 TBITMAPINFOHEADER = BITMAPINFOHEADER; 365 PBITMAPINFOHEADER = ^BITMAPINFOHEADER; 366 367 RGBQUAD = record 368 rgbBlue : BYTE; 369 rgbGreen : BYTE; 370 rgbRed : BYTE; 371 rgbReserved : BYTE; 372 end; 373 tagRGBQUAD = RGBQUAD; 374 TRGBQUAD = RGBQUAD; 375 PRGBQUAD = ^RGBQUAD; 376 377 BITMAPINFO = record 378 bmiHeader : BITMAPINFOHEADER; 379 bmiColors : array[0..0] of RGBQUAD; 380 end; 381 LPBITMAPINFO = ^BITMAPINFO; 382 PBITMAPINFO = ^BITMAPINFO; 383 TBITMAPINFO = BITMAPINFO; 384 385 FXPT2DOT30 = longint; 386 LPFXPT2DOT30 = ^FXPT2DOT30; 387 TPFXPT2DOT30 = FXPT2DOT30; 388 PPFXPT2DOT30 = ^FXPT2DOT30; 389 390 CIEXYZ = record 391 ciexyzX : FXPT2DOT30; 392 ciexyzY : FXPT2DOT30; 393 ciexyzZ : FXPT2DOT30; 394 end; 395 tagCIEXYZ = CIEXYZ; 396 LPCIEXYZ = ^CIEXYZ; 397 TPCIEXYZ = CIEXYZ; 398 PCIEXYZ = ^CIEXYZ; 399 400 CIEXYZTRIPLE = record 401 ciexyzRed : CIEXYZ; 402 ciexyzGreen : CIEXYZ; 403 ciexyzBlue : CIEXYZ; 404 end; 405 tagCIEXYZTRIPLE = CIEXYZTRIPLE; 406 LPCIEXYZTRIPLE = ^CIEXYZTRIPLE; 407 TCIEXYZTRIPLE = CIEXYZTRIPLE; 408 PCIEXYZTRIPLE = ^CIEXYZTRIPLE; 409 410 BITMAPV4HEADER = record 411 bV4Size : DWORD; 412 bV4Width : LONG; 413 bV4Height : LONG; 414 bV4Planes : WORD; 415 bV4BitCount : WORD; 416 bV4V4Compression : DWORD; 417 bV4SizeImage : DWORD; 418 bV4XPelsPerMeter : LONG; 419 bV4YPelsPerMeter : LONG; 420 bV4ClrUsed : DWORD; 421 bV4ClrImportant : DWORD; 422 bV4RedMask : DWORD; 423 bV4GreenMask : DWORD; 424 bV4BlueMask : DWORD; 425 bV4AlphaMask : DWORD; 426 bV4CSType : DWORD; 427 bV4Endpoints : CIEXYZTRIPLE; 428 bV4GammaRed : DWORD; 429 bV4GammaGreen : DWORD; 430 bV4GammaBlue : DWORD; 431 end; 432 LPBITMAPV4HEADER = ^BITMAPV4HEADER; 433 TBITMAPV4HEADER = BITMAPV4HEADER; 434 PBITMAPV4HEADER = ^BITMAPV4HEADER; 435 436 BITMAPFILEHEADER = packed record 437 bfType : Word; 438 bfSize : DWord; 439 bfReserved1 : Word; 440 bfReserved2 : Word; 441 bfOffBits : DWord; 442 end; 443 TBitmapFileHeader = BITMAPFILEHEADER; 444 445 BLOB = record 446 cbSize : ULONG; 447 pBlobData : ^BYTE; 448 end; 449 _BLOB = BLOB; 450 TBLOB = BLOB; 451 PBLOB = ^BLOB; 452 453 SHITEMID = record 454 cb : USHORT; 455 abID : array[0..0] of BYTE; 456 end; 457 LPSHITEMID = ^SHITEMID; 458 LPCSHITEMID = ^SHITEMID; 459 _SHITEMID = SHITEMID; 460 TSHITEMID = SHITEMID; 461 PSHITEMID = ^SHITEMID; 462 463 ITEMIDLIST = record 464 mkid : SHITEMID; 465 end; 466 LPITEMIDLIST = ^ITEMIDLIST; 467 LPCITEMIDLIST = ^ITEMIDLIST; 468 _ITEMIDLIST = ITEMIDLIST; 469 TITEMIDLIST = ITEMIDLIST; 470 PITEMIDLIST = ^ITEMIDLIST; 471 472 FILETIME = record 473 dwLowDateTime : DWORD; 474 dwHighDateTime : DWORD; 475 end; 476 LPFILETIME = ^FILETIME; 477 _FILETIME = FILETIME; 478 TFILETIME = FILETIME; 479 PFILETIME = ^FILETIME; 480 481 _GET_FILEEX_INFO_LEVELS=(GetFileExInfoStandard,GetFileExMaxInfoLevel); //+winbase 482 GET_FILEEX_INFO_LEVELS=_GET_FILEEX_INFO_LEVELS; //+winbase 483 484 _FINDEX_INFO_LEVELS = (FindExInfoStandard,FindExInfoMaxInfoLevel); //+winbase 485 FINDEX_INFO_LEVELS = _FINDEX_INFO_LEVELS; //+winbase 486 487 _FINDEX_SEARCH_OPS = ( FindExSearchNameMatch, FindExSearchLimitToDirectories, 488 FindExSearchLimitToDevices, FindExSearchMaxSearchOp); 489 FINDEX_SEARCH_OPS=_FINDEX_SEARCH_OPS; 490 491 BY_HANDLE_FILE_INFORMATION = record 492 dwFileAttributes : DWORD; 493 ftCreationTime : FILETIME; 494 ftLastAccessTime : FILETIME; 495 ftLastWriteTime : FILETIME; 496 dwVolumeSerialNumber : DWORD; 497 nFileSizeHigh : DWORD; 498 nFileSizeLow : DWORD; 499 nNumberOfLinks : DWORD; 500 nFileIndexHigh : DWORD; 501 nFileIndexLow : DWORD; 502 end; 503 LPBY_HANDLE_FILE_INFORMATION = ^BY_HANDLE_FILE_INFORMATION; 504 _BY_HANDLE_FILE_INFORMATION = BY_HANDLE_FILE_INFORMATION; 505 TBYHANDLEFILEINFORMATION = BY_HANDLE_FILE_INFORMATION; 506 PBYHANDLEFILEINFORMATION = ^BY_HANDLE_FILE_INFORMATION; 507 508 FIXED = record 509 fract : WORD; 510 value : integer; 511 end; 512 _FIXED = FIXED; 513 TFIXED = FIXED; 514 PFIXED = ^FIXED; 515 516 POINTFX = record 517 x : FIXED; 518 y : FIXED; 519 end; 520 tagPOINTFX = POINTFX; 521 TPOINTFX = POINTFX; 522 PPOINTFX = ^POINTFX; 523 524 POINTL = record 525 x : LONG; 526 y : LONG; 527 end; 528 _POINTL = POINTL; 529 TPOINTL = POINTL; 530 PPOINTL = ^POINTL; 531 532 POINTS = record 533 x : SHORT; 534 y : SHORT; 535 end; 536 tagPOINTS = POINTS; //windef 537 TPOINTS = POINTS; 538 PPOINTS = ^POINTS; 539 540 CANDIDATEFORM = record 541 dwIndex : DWORD; 542 dwStyle : DWORD; 543 ptCurrentPos : POINT; 544 rcArea : RECT; 545 end; 546 LPCANDIDATEFORM = ^CANDIDATEFORM; 547 _tagCANDIDATEFORM = CANDIDATEFORM; 548 TCANDIDATEFORM = CANDIDATEFORM; 549 PCANDIDATEFORM = ^CANDIDATEFORM; 550 551 CANDIDATELIST = record 552 dwSize : DWORD; 553 dwStyle : DWORD; 554 dwCount : DWORD; 555 dwSelection : DWORD; 556 dwPageStart : DWORD; 557 dwPageSize : DWORD; 558 dwOffset : array[0..0] of DWORD; 559 end; 560 LPCANDIDATELIST = ^CANDIDATELIST; 561 _tagCANDIDATELIST = CANDIDATELIST; 562 TCANDIDATELIST = CANDIDATELIST; 563 PCANDIDATELIST = ^CANDIDATELIST; 564 565 CREATESTRUCT = record 566 lpCreateParams : LPVOID; 567 hInstance : HINST; 568 hMenu : HMENU; 569 hwndParent : HWND; 570 cy : longint; 571 cx : longint; 572 y : longint; 573 x : longint; 574 style : LONG; 575 lpszName : LPCTSTR; 576 lpszClass : LPCTSTR; 577 dwExStyle : DWORD; 578 end; 579 LPCREATESTRUCT = ^CREATESTRUCT; 580 tagCREATESTRUCT = CREATESTRUCT; 581 TCREATESTRUCT = CREATESTRUCT; 582 PCREATESTRUCT = ^CREATESTRUCT; 583 584 CBT_CREATEWND = record 585 lpcs : LPCREATESTRUCT; 586 hwndInsertAfter : HWND; 587 end; 588 tagCBT_CREATEWND = CBT_CREATEWND; 589 TCBT_CREATEWND = CBT_CREATEWND; 590 PCBT_CREATEWND = ^CBT_CREATEWND; 591 592 CBTACTIVATESTRUCT = record 593 fMouse : WINBOOL; 594 hWndActive : HWND; 595 end; 596 tagCBTACTIVATESTRUCT = CBTACTIVATESTRUCT; 597 TCBTACTIVATESTRUCT = CBTACTIVATESTRUCT; 598 PCBTACTIVATESTRUCT = ^CBTACTIVATESTRUCT; 599 600 601 CHAR_INFO = record 602 case longint of 603 0 : ( UnicodeChar : WCHAR; 604 Attributes : Word); 605 1 : ( AsciiChar : CHAR ); 606 end; 607 _CHAR_INFO = CHAR_INFO; 608 TCHAR_INFO = CHAR_INFO; 609 PCHAR_INFO = ^CHAR_INFO; 610 611 CHARFORMAT = record 612 cbSize : UINT; 613 dwMask : DWORD; 614 dwEffects : DWORD; 615 yHeight : LONG; 616 yOffset : LONG; 617 crTextColor : COLORREF; 618 bCharSet : BYTE; 619 bPitchAndFamily : BYTE; 620 szFaceName : array[0..(LF_FACESIZE)-1] of TCHAR; 621 end; 622 _charformat = CHARFORMAT; 623 Tcharformat = CHARFORMAT; 624 Pcharformat = ^CHARFORMAT; 625 626 CHARRANGE = record 627 cpMin : LONG; 628 cpMax : LONG; 629 end; 630 _charrange = CHARRANGE; 631 Tcharrange = CHARRANGE; 632 Pcharrange = ^CHARRANGE; 633 634 CHARSET = record 635 aflBlock : array[0..2] of DWORD; 636 flLang : DWORD; 637 end; 638 tagCHARSET = CHARSET; 639 TCHARSET = CHARSET; 640 PCHARSET = ^CHARSET; 641 642 FONTSIGNATURE = record 643 fsUsb : array[0..3] of DWORD; 644 fsCsb : array[0..1] of DWORD; 645 end; 646 LPFONTSIGNATURE = ^FONTSIGNATURE; 647 tagFONTSIGNATURE = FONTSIGNATURE; 648 TFONTSIGNATURE = FONTSIGNATURE; 649 PFONTSIGNATURE = ^FONTSIGNATURE; 650 651 FLOAT128 = record //+winnt 652 LowPart : int64; 653 HighPart : int64; 654 end; 655 PFLOAT128 = ^FLOAT128; 656 657 CHARSETINFO = record 658 ciCharset : UINT; 659 ciACP : UINT; 660 fs : FONTSIGNATURE; 661 end; 662 LPCHARSETINFO = ^CHARSETINFO; 663 TCHARSETINFO = CHARSETINFO; 664 PCHARSETINFO = ^CHARSETINFO; 665 666 {CHOOSECOLOR = record confilcts with function ChooseColor } 667 TCHOOSECOLOR = record 668 lStructSize : DWORD; 669 hwndOwner : HWND; 670 hInstance : HWND; 671 rgbResult : COLORREF; 672 lpCustColors : ^COLORREF; 673 Flags : DWORD; 674 lCustData : LPARAM; 675 lpfnHook : LPCCHOOKPROC; 676 lpTemplateName : LPCTSTR; 677 end; 678 LPCHOOSECOLOR = ^TCHOOSECOLOR; 679 PCHOOSECOLOR = ^TCHOOSECOLOR; 680 681 LOGFONTA = record 682 lfHeight : LONG; 683 lfWidth : LONG; 684 lfEscapement : LONG; 685 lfOrientation : LONG; 686 lfWeight : LONG; 687 lfItalic : BYTE; 688 lfUnderline : BYTE; 689 lfStrikeOut : BYTE; 690 lfCharSet : BYTE; 691 lfOutPrecision : BYTE; 692 lfClipPrecision : BYTE; 693 lfQuality : BYTE; 694 lfPitchAndFamily : BYTE; 695 lfFaceName : array[0..(LF_FACESIZE)-1] of TCHAR; 696 end; 697 TLOGFONTA = LOGFONTA; 698 tagLOGFONTA = LOGFONTA; 699 NPLOGFONTA = ^LOGFONTA; 700 PLOGFONTA = ^LOGFONTA; 701 702 LOGFONTW = record 703 lfHeight: LONG; 704 lfWidth: LONG; 705 lfEscapement: LONG; 706 lfOrientation: LONG; 707 lfWeight: LONG; 708 lfItalic: BYTE; 709 lfUnderline: BYTE; 710 lfStrikeOut: BYTE; 711 lfCharSet: BYTE; 712 lfOutPrecision: BYTE; 713 lfClipPrecision: BYTE; 714 lfQuality: BYTE; 715 lfPitchAndFamily: BYTE; 716 lfFaceName: array [0..LF_FACESIZE - 1] of WCHAR; 717 end; 718 LPLOGFONTW = ^LOGFONTW; 719 NPLOGFONTW = ^LOGFONTW; 720 tagLOGFONTW = LOGFONTW; 721 TLogFontW = LOGFONTW; 722 PLogFontW = ^TLogFontW; 723 724 TLOGFONT = LOGFONTW; 725 LOGFONT = LOGFONTW; 726 tagLOGFONT = LOGFONTW; 727 LPLOGFONT = ^LOGFONTW; 728 PLOGFONT = ^LOGFONTW; 729 NPLOGFONT = ^LOGFONTW; 730 731 TCHOOSEFONTW = record //+commdlg 732 lStructSize : DWORD; 733 hwndOwner : HWND; 734 hDC : HDC; 735 lpLogFont : LPLOGFONTW; 736 iPointSize : Integer; 737 Flags : DWORD; 738 rgbColors : DWORD; 739 lCustData : LPARAM; 740 lpfnHook : LPCFHOOKPROC; 741 lpTemplateName : LPCWSTR; 742 hInstance : HINST; 743 lpszStyle : LPTSTR; 744 nFontType : WORD; 745 ___MISSING_ALIGNMENT__ : WORD; 746 nSizeMin : Integer; 747 nSizeMax : Integer; 748 end; 749 tagCHOOSEFONTW = TCHOOSEFONTW; //+commdlg 750 LPCHOOSEFONTW = ^TCHOOSEFONTW; //+commdlg 751 PCHOOSEFONTW = ^TCHOOSEFONTW; //+commdlg 752 753 {CHOOSEFONT = record conflicts with ChooseFont function } 754 TCHOOSEFONT = record 755 lStructSize : DWORD; 756 hwndOwner : HWND; 757 hDC : HDC; 758 lpLogFont : LPLOGFONT; 759 iPointSize : WINT; 760 Flags : DWORD; 761 rgbColors : DWORD; 762 lCustData : LPARAM; 763 lpfnHook : LPCFHOOKPROC; 764 lpTemplateName : LPCTSTR; 765 hInstance : HINST; 766 lpszStyle : LPTSTR; 767 nFontType : WORD; 768 ___MISSING_ALIGNMENT__ : WORD; 769 nSizeMin : WINT; 770 nSizeMax : WINT; 771 end; 772 LPCHOOSEFONT = ^TCHOOSEFONT; 773 PCHOOSEFONT = ^TCHOOSEFONT; 774 775 CIDA = record 776 cidl : UINT; 777 aoffset : array[0..0] of UINT; 778 end; 779 LPIDA = ^CIDA; 780 _IDA = CIDA; 781 TIDA = CIDA; 782 PIDA = ^CIDA; 783 784 CLIENTCREATESTRUCT = record 785 hWindowMenu : HANDLE; 786 idFirstChild : UINT; 787 end; 788 LPCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT; 789 tagCLIENTCREATESTRUCT = CLIENTCREATESTRUCT; 790 TCLIENTCREATESTRUCT = CLIENTCREATESTRUCT; 791 PCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT; 792 793 CMINVOKECOMMANDINFO = record 794 cbSize : DWORD; 795 fMask : DWORD; 796 hwnd : HWND; 797 lpVerb : LPCSTR; 798 lpParameters : LPCSTR; 799 lpDirectory : LPCSTR; 800 nShow : longint; 801 dwHotKey : DWORD; 802 hIcon : HANDLE; 803 end; 804 LPCMINVOKECOMMANDINFO = ^CMINVOKECOMMANDINFO; 805 _CMInvokeCommandInfo = CMINVOKECOMMANDINFO; 806 TCMInvokeCommandInfo = CMINVOKECOMMANDINFO; 807 PCMInvokeCommandInfo = ^CMINVOKECOMMANDINFO; 808 809 COLORADJUSTMENT = record 810 caSize : WORD; 811 caFlags : WORD; 812 caIlluminantIndex : WORD; 813 caRedGamma : WORD; 814 caGreenGamma : WORD; 815 caBlueGamma : WORD; 816 caReferenceBlack : WORD; 817 caReferenceWhite : WORD; 818 caContrast : SHORT; 819 caBrightness : SHORT; 820 caColorfulness : SHORT; 821 caRedGreenTint : SHORT; 822 end; 823 LPCOLORADJUSTMENT = ^COLORADJUSTMENT; 824 tagCOLORADJUSTMENT = COLORADJUSTMENT; 825 TCOLORADJUSTMENT = COLORADJUSTMENT; 826 PCOLORADJUSTMENT = ^COLORADJUSTMENT; 827 828 COLORMAP = record 829 from : COLORREF; 830 _to : COLORREF; 831 end; 832 LPCOLORMAP = ^COLORMAP; 833 _COLORMAP = COLORMAP; 834 TCOLORMAP = COLORMAP; 835 PCOLORMAP = ^COLORMAP; 836 837{* 838 * Combo Box Structures 839 *} 840 tagCOMBOBOXINFO = record 841 cbSize:DWORD; 842 rcItem:RECT; 843 rcButton:RECT; 844 stateButton:DWORD; // Currently unsupported on CE 845 hwndCombo:HWND; 846 hwndItem:HWND; 847 hwndList:HWND; 848 end; 849 COMBOBOXINFO = tagCOMBOBOXINFO; 850 PCOMBOBOXINFO = ^tagCOMBOBOXINFO; 851 LPCOMBOBOXINFO = ^tagCOMBOBOXINFO; 852 853 DCB = record 854 DCBlength : DWORD; 855 BaudRate : DWORD; 856 flags : DWORD; 857 wReserved : WORD; 858 XonLim : WORD; 859 XoffLim : WORD; 860 ByteSize : BYTE; 861 Parity : BYTE; 862 StopBits : BYTE; 863 XonChar : char; 864 XoffChar : char; 865 ErrorChar : char; 866 EofChar : char; 867 EvtChar : char; 868 wReserved1 : WORD; 869 end; 870 LPDCB = ^DCB; 871 _DCB = DCB; 872 TDCB = DCB; 873 PDCB = ^DCB; 874 875 const 876 bm_DCB_fBinary = $1; 877 bp_DCB_fBinary = 0; 878 bm_DCB_fParity = $2; 879 bp_DCB_fParity = 1; 880 bm_DCB_fOutxCtsFlow = $4; 881 bp_DCB_fOutxCtsFlow = 2; 882 bm_DCB_fOutxDsrFlow = $8; 883 bp_DCB_fOutxDsrFlow = 3; 884 bm_DCB_fDtrControl = $30; 885 bp_DCB_fDtrControl = 4; 886 bm_DCB_fDsrSensitivity = $40; 887 bp_DCB_fDsrSensitivity = 6; 888 bm_DCB_fTXContinueOnXoff = $80; 889 bp_DCB_fTXContinueOnXoff = 7; 890 bm_DCB_fOutX = $100; 891 bp_DCB_fOutX = 8; 892 bm_DCB_fInX = $200; 893 bp_DCB_fInX = 9; 894 bm_DCB_fErrorChar = $400; 895 bp_DCB_fErrorChar = 10; 896 bm_DCB_fNull = $800; 897 bp_DCB_fNull = 11; 898 bm_DCB_fRtsControl = $3000; 899 bp_DCB_fRtsControl = 12; 900 bm_DCB_fAbortOnError = $4000; 901 bp_DCB_fAbortOnError = 14; 902 bm_DCB_fDummy2 = $FFFF8000; 903 bp_DCB_fDummy2 = 15; 904 function fBinary(var a : DCB) : DWORD; 905 procedure set_fBinary(var a : DCB; __fBinary : DWORD); 906 function fParity(var a : DCB) : DWORD; 907 procedure set_fParity(var a : DCB; __fParity : DWORD); 908 function fOutxCtsFlow(var a : DCB) : DWORD; 909 procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD); 910 function fOutxDsrFlow(var a : DCB) : DWORD; 911 procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD); 912 function fDtrControl(var a : DCB) : DWORD; 913 procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD); 914 function fDsrSensitivity(var a : DCB) : DWORD; 915 procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD); 916 function fTXContinueOnXoff(var a : DCB) : DWORD; 917 procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD); 918 function fOutX(var a : DCB) : DWORD; 919 procedure set_fOutX(var a : DCB; __fOutX : DWORD); 920 function fInX(var a : DCB) : DWORD; 921 procedure set_fInX(var a : DCB; __fInX : DWORD); 922 function fErrorChar(var a : DCB) : DWORD; 923 procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD); 924 function fNull(var a : DCB) : DWORD; 925 procedure set_fNull(var a : DCB; __fNull : DWORD); 926 function fRtsControl(var a : DCB) : DWORD; 927 procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD); 928 function fAbortOnError(var a : DCB) : DWORD; 929 procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD); 930 function fDummy2(var a : DCB) : DWORD; 931 procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD); 932 933 type 934 935 tagINITCOMMONCONTROLSEX = record 936 dwSize:DWORD; // size of this structure 937 dwICC:DWORD; // flags indicating which classes to be initialized 938 end; 939 TINITCOMMONCONTROLSEX=tagINITCOMMONCONTROLSEX; 940 LPINITCOMMONCONTROLSEX=^tagINITCOMMONCONTROLSEX; 941 942 COMMCONFIG = record 943 dwSize : DWORD; 944 wVersion : WORD; 945 wReserved : WORD; 946 dcb : DCB; 947 dwProviderSubType : DWORD; 948 dwProviderOffset : DWORD; 949 dwProviderSize : DWORD; 950 wcProviderData : array[0..0] of WCHAR; 951 end; 952 LPCOMMCONFIG = ^COMMCONFIG; 953 _COMM_CONFIG = COMMCONFIG; 954 TCOMMCONFIG = COMMCONFIG; 955 PCOMMCONFIG = ^COMMCONFIG; 956 957 COMMPROP = record 958 wPacketLength : WORD; 959 wPacketVersion : WORD; 960 dwServiceMask : DWORD; 961 dwReserved1 : DWORD; 962 dwMaxTxQueue : DWORD; 963 dwMaxRxQueue : DWORD; 964 dwMaxBaud : DWORD; 965 dwProvSubType : DWORD; 966 dwProvCapabilities : DWORD; 967 dwSettableParams : DWORD; 968 dwSettableBaud : DWORD; 969 wSettableData : WORD; 970 wSettableStopParity : WORD; 971 dwCurrentTxQueue : DWORD; 972 dwCurrentRxQueue : DWORD; 973 dwProvSpec1 : DWORD; 974 dwProvSpec2 : DWORD; 975 wcProvChar : array[0..0] of WCHAR; 976 end; 977 LPCOMMPROP = ^COMMPROP; 978 _COMMPROP = COMMPROP; 979 TCOMMPROP = COMMPROP; 980 PCOMMPROP = ^COMMPROP; 981 982 COMMTIMEOUTS = record 983 ReadIntervalTimeout : DWORD; 984 ReadTotalTimeoutMultiplier : DWORD; 985 ReadTotalTimeoutConstant : DWORD; 986 WriteTotalTimeoutMultiplier : DWORD; 987 WriteTotalTimeoutConstant : DWORD; 988 end; 989 LPCOMMTIMEOUTS = ^COMMTIMEOUTS; 990 _COMMTIMEOUTS = COMMTIMEOUTS; 991 TCOMMTIMEOUTS = COMMTIMEOUTS; 992 PCOMMTIMEOUTS = ^COMMTIMEOUTS; 993 994 COMPAREITEMSTRUCT = record 995 CtlType : UINT; 996 CtlID : UINT; 997 hwndItem : HWND; 998 itemID1 : UINT; 999 itemData1 : DWORD; 1000 itemID2 : UINT; 1001 itemData2 : DWORD; 1002 end; 1003 tagCOMPAREITEMSTRUCT = COMPAREITEMSTRUCT; 1004 TCOMPAREITEMSTRUCT = COMPAREITEMSTRUCT; 1005 PCOMPAREITEMSTRUCT = ^COMPAREITEMSTRUCT; 1006 1007 COMPCOLOR = record 1008 crText : COLORREF; 1009 crBackground : COLORREF; 1010 dwEffects : DWORD; 1011 end; 1012 TCOMPCOLOR = COMPCOLOR; 1013 PCOMPCOLOR = ^COMPCOLOR; 1014 1015 COMPOSITIONFORM = record 1016 dwStyle : DWORD; 1017 ptCurrentPos : POINT; 1018 rcArea : RECT; 1019 end; 1020 LPCOMPOSITIONFORM = ^COMPOSITIONFORM; 1021 _tagCOMPOSITIONFORM = COMPOSITIONFORM; 1022 TCOMPOSITIONFORM = COMPOSITIONFORM; 1023 PCOMPOSITIONFORM = ^COMPOSITIONFORM; 1024 1025// TComStatFlags = set of (fCtsHold, fDsrHold, fRlsdHold , fXoffHold , 1026// fXoffSent , fEof , fTxim , fReserved); 1027 1028 COMSTAT = record 1029 flag0 : DWORD; // can't use tcomstatflags, set packing issues 1030 // and conflicts with macro's 1031 cbInQue : DWORD; 1032 cbOutQue : DWORD; 1033 end; 1034 LPCOMSTAT = ^COMSTAT; 1035 _COMSTAT = COMSTAT; 1036 TCOMSTAT = COMSTAT; 1037 PCOMSTAT = ^COMSTAT; 1038 const 1039 bm_COMSTAT_fCtsHold = $1; 1040 bp_COMSTAT_fCtsHold = 0; 1041 bm_COMSTAT_fDsrHold = $2; 1042 bp_COMSTAT_fDsrHold = 1; 1043 bm_COMSTAT_fRlsdHold = $4; 1044 bp_COMSTAT_fRlsdHold = 2; 1045 bm_COMSTAT_fXoffHold = $8; 1046 bp_COMSTAT_fXoffHold = 3; 1047 bm_COMSTAT_fXoffSent = $10; 1048 bp_COMSTAT_fXoffSent = 4; 1049 bm_COMSTAT_fEof = $20; 1050 bp_COMSTAT_fEof = 5; 1051 bm_COMSTAT_fTxim = $40; 1052 bp_COMSTAT_fTxim = 6; 1053 bm_COMSTAT_fReserved = $FFFFFF80; 1054 bp_COMSTAT_fReserved = 7; 1055 function fCtsHold(var a : COMSTAT) : DWORD; // should be renamed to get_<x>? 1056 procedure set_fCtsHold(var a : COMSTAT; __fCtsHold : DWORD); 1057 function fDsrHold(var a : COMSTAT) : DWORD; 1058 procedure set_fDsrHold(var a : COMSTAT; __fDsrHold : DWORD); 1059 function fRlsdHold(var a : COMSTAT) : DWORD; 1060 procedure set_fRlsdHold(var a : COMSTAT; __fRlsdHold : DWORD); 1061 function fXoffHold(var a : COMSTAT) : DWORD; 1062 procedure set_fXoffHold(var a : COMSTAT; __fXoffHold : DWORD); 1063 function fXoffSent(var a : COMSTAT) : DWORD; 1064 procedure set_fXoffSent(var a : COMSTAT; __fXoffSent : DWORD); 1065 function fEof(var a : COMSTAT) : DWORD; 1066 procedure set_fEof(var a : COMSTAT; __fEof : DWORD); 1067 function fTxim(var a : COMSTAT) : DWORD; 1068 procedure set_fTxim(var a : COMSTAT; __fTxim : DWORD); 1069 function fReserved(var a : COMSTAT) : DWORD; 1070 procedure set_fReserved(var a : COMSTAT; __fReserved : DWORD); 1071 1072 type 1073 1074 CONSOLE_CURSOR_INFO = record 1075 dwSize : DWORD; 1076 bVisible : WINBOOL; 1077 end; 1078 PCONSOLE_CURSOR_INFO = ^CONSOLE_CURSOR_INFO; 1079 _CONSOLE_CURSOR_INFO = CONSOLE_CURSOR_INFO; 1080 TCONSOLECURSORINFO = CONSOLE_CURSOR_INFO; 1081 PCONSOLECURSORINFO = ^CONSOLE_CURSOR_INFO; 1082 TCURSORINFO = CONSOLE_CURSOR_INFO; 1083 1084 COORD = record 1085 X : SHORT; 1086 Y : SHORT; 1087 end; 1088 _COORD = COORD; 1089 TCOORD = COORD; 1090 PCOORD = ^COORD; 1091 1092 SMALL_RECT = record 1093 Left : SHORT; 1094 Top : SHORT; 1095 Right : SHORT; 1096 Bottom : SHORT; 1097 end; 1098 _SMALL_RECT = SMALL_RECT; 1099 TSMALL_RECT = SMALL_RECT; 1100 PSMALL_RECT = ^SMALL_RECT; 1101 1102 CONSOLE_SCREEN_BUFFER_INFO = packed record 1103 dwSize : COORD; 1104 dwCursorPosition : COORD; 1105 wAttributes : WORD; 1106 srWindow : SMALL_RECT; 1107 dwMaximumWindowSize : COORD; 1108 end; 1109 PCONSOLE_SCREEN_BUFFER_INFO = ^CONSOLE_SCREEN_BUFFER_INFO; 1110 _CONSOLE_SCREEN_BUFFER_INFO = CONSOLE_SCREEN_BUFFER_INFO; 1111 TCONSOLESCREENBUFFERINFO = CONSOLE_SCREEN_BUFFER_INFO; 1112 PCONSOLESCREENBUFFERINFO = ^CONSOLE_SCREEN_BUFFER_INFO; 1113 1114{$ifdef i386} //+winnt 1115 type 1116 FLOATING_SAVE_AREA = record //~winnt 1117 ControlWord : DWORD; 1118 StatusWord : DWORD; 1119 TagWord : DWORD; 1120 ErrorOffset : DWORD; 1121 ErrorSelector : DWORD; 1122 DataOffset : DWORD; 1123 DataSelector : DWORD; 1124 RegisterArea : array[0..SIZE_OF_80387_REGISTERS-1] of BYTE; //~winnt 1125 Cr0NpxState : DWORD; 1126 end; 1127 _FLOATING_SAVE_AREA = FLOATING_SAVE_AREA; //winnt 1128 TFLOATINGSAVEAREA = FLOATING_SAVE_AREA; //winnt 1129 PFLOATING_SAVE_AREA = ^FLOATING_SAVE_AREA; //~winnt 1130 1131// 1132// Context Frame 1133// 1134// This frame has a several purposes: 1) it is used as an argument to 1135// NtContinue, 2) is is used to constuct a call frame for APC delivery, 1136// and 3) it is used in the user level thread creation routines. 1137// 1138// The layout of the record conforms to a standard call frame. 1139// 1140 1141 CONTEXT = record //winnt 1142 ContextFlags : DWORD; 1143 Dr0 : DWORD; 1144 Dr1 : DWORD; 1145 Dr2 : DWORD; 1146 Dr3 : DWORD; 1147 Dr6 : DWORD; 1148 Dr7 : DWORD; 1149 FloatSave : FLOATING_SAVE_AREA; 1150 SegGs : DWORD; 1151 SegFs : DWORD; 1152 SegEs : DWORD; 1153 SegDs : DWORD; 1154 Edi : DWORD; 1155 Esi : DWORD; 1156 Ebx : DWORD; 1157 Edx : DWORD; 1158 Ecx : DWORD; 1159 Eax : DWORD; 1160 Ebp : DWORD; 1161 Eip : DWORD; 1162 SegCs : DWORD; 1163 EFlags : DWORD; 1164 Esp : DWORD; 1165 SegSs : DWORD; 1166 end; 1167 1168 LDT_ENTRY = record //~winnt, moved into _X86_ 1169 LimitLow : WORD; 1170 BaseLow : WORD; 1171 HighWord : record 1172 case longint of 1173 0 : ( Bytes : record 1174 BaseMid : BYTE; 1175 Flags1 : BYTE; 1176 Flags2 : BYTE; 1177 BaseHi : BYTE; 1178 end ); 1179 1 : ( Bits : record 1180 flag0 : longint; 1181 end ); 1182 end; 1183 end; 1184 LPLDT_ENTRY = ^LDT_ENTRY; 1185 PLDT_ENTRY = ^LDT_ENTRY; 1186 _LDT_ENTRY = LDT_ENTRY; 1187 TLDTENTRY = LDT_ENTRY; 1188 PLDTENTRY = ^LDT_ENTRY; 1189 1190{$endif i386} //+winnt 1191 1192{$ifdef _MIPS_} //+winnt all block added 1193// 1194// Context Frame 1195// 1196// N.B. This frame must be exactly a multiple of 16 bytes in length. 1197// 1198// This frame has a several purposes: 1) it is used as an argument to 1199// NtContinue, 2) it is used to constuct a call frame for APC delivery, 1200// 3) it is used to construct a call frame for exception dispatching 1201// in user mode, and 4) it is used in the user level thread creation 1202// routines. 1203// 1204// The layout of the record conforms to a standard call frame. 1205// 1206 type 1207 {$ifdef _MIPS64} //+winnt 1208 FREG_TYPE = ULONGLONG; 1209 REG_TYPE = ULONGLONG; 1210 {$else} 1211 FREG_TYPE = DWORD; 1212 REG_TYPE = ULONG; 1213 {$endif _MIPS64} 1214 CONTEXT = record //+winnt 1215 Argument : Array[0..3] of REG_TYPE; 1216 FltF0 : FREG_TYPE; 1217 FltF1 : FREG_TYPE; 1218 FltF2 : FREG_TYPE; 1219 FltF3 : FREG_TYPE; 1220 FltF4 : FREG_TYPE; 1221 FltF5 : FREG_TYPE; 1222 FltF6 : FREG_TYPE; 1223 FltF7 : FREG_TYPE; 1224 FltF8 : FREG_TYPE; 1225 FltF9 : FREG_TYPE; 1226 FltF10 : FREG_TYPE; 1227 FltF11 : FREG_TYPE; 1228 FltF12 : FREG_TYPE; 1229 FltF13 : FREG_TYPE; 1230 FltF14 : FREG_TYPE; 1231 FltF15 : FREG_TYPE; 1232 FltF16 : FREG_TYPE; 1233 FltF17 : FREG_TYPE; 1234 FltF18 : FREG_TYPE; 1235 FltF19 : FREG_TYPE; 1236 FltF20 : FREG_TYPE; 1237 FltF21 : FREG_TYPE; 1238 FltF22 : FREG_TYPE; 1239 FltF23 : FREG_TYPE; 1240 FltF24 : FREG_TYPE; 1241 FltF25 : FREG_TYPE; 1242 FltF26 : FREG_TYPE; 1243 FltF27 : FREG_TYPE; 1244 FltF28 : FREG_TYPE; 1245 FltF29 : FREG_TYPE; 1246 FltF30 : FREG_TYPE; 1247 FltF31 : FREG_TYPE; 1248 1249 IntZero : REG_TYPE; 1250 IntAt : REG_TYPE; 1251 IntV0 : REG_TYPE; 1252 IntV1 : REG_TYPE; 1253 IntA0 : REG_TYPE; 1254 IntA1 : REG_TYPE; 1255 IntA2 : REG_TYPE; 1256 IntA3 : REG_TYPE; 1257 IntT0 : REG_TYPE; 1258 IntT1 : REG_TYPE; 1259 IntT2 : REG_TYPE; 1260 IntT3 : REG_TYPE; 1261 IntT4 : REG_TYPE; 1262 IntT5 : REG_TYPE; 1263 IntT6 : REG_TYPE; 1264 IntT7 : REG_TYPE; 1265 IntS0 : REG_TYPE; 1266 IntS1 : REG_TYPE; 1267 IntS2 : REG_TYPE; 1268 IntS3 : REG_TYPE; 1269 IntS4 : REG_TYPE; 1270 IntS5 : REG_TYPE; 1271 IntS6 : REG_TYPE; 1272 IntS7 : REG_TYPE; 1273 IntT8 : REG_TYPE; 1274 IntT9 : REG_TYPE; 1275 IntK0 : REG_TYPE; 1276 IntK1 : REG_TYPE; 1277 IntGp : REG_TYPE; 1278 IntSp : REG_TYPE; 1279 IntS8 : REG_TYPE; 1280 IntRa : REG_TYPE; 1281 IntLo : REG_TYPE; 1282 IntHi : REG_TYPE; 1283 1284 Fsr : DWORD; 1285 Fir : DWORD; 1286 Psr : DWORD; 1287 ContextFlags : DWORD; 1288 Fill : Array[0..1] of DWORD; 1289 end; 1290 1291{$endif _MIPS_} //+winnt 1292 1293{$ifdef _PPC_} //+winnt 1294 { Floating point registers returned when CONTEXT_FLOATING_POINT is set } 1295 { Integer registers returned when CONTEXT_INTEGER is set. } 1296 { Condition register } 1297 { Fixed point exception register } 1298 { The following are set when CONTEXT_CONTROL is set. } 1299 { Machine status register } 1300 { Instruction address register } 1301 { Link register } 1302 { Control register } 1303 { Control which context values are returned } 1304 { Registers returned if CONTEXT_DEBUG_REGISTERS is set. } 1305 { Breakpoint Register 1 } 1306 { Breakpoint Register 2 } 1307 { Breakpoint Register 3 } 1308 { Breakpoint Register 4 } 1309 { Breakpoint Register 5 } 1310 { Breakpoint Register 6 } 1311 { Debug Status Register } 1312 { Debug Control Register } 1313 1314 type 1315 1316 CONTEXT = record 1317 Fpr0 : double; 1318 Fpr1 : double; 1319 Fpr2 : double; 1320 Fpr3 : double; 1321 Fpr4 : double; 1322 Fpr5 : double; 1323 Fpr6 : double; 1324 Fpr7 : double; 1325 Fpr8 : double; 1326 Fpr9 : double; 1327 Fpr10 : double; 1328 Fpr11 : double; 1329 Fpr12 : double; 1330 Fpr13 : double; 1331 Fpr14 : double; 1332 Fpr15 : double; 1333 Fpr16 : double; 1334 Fpr17 : double; 1335 Fpr18 : double; 1336 Fpr19 : double; 1337 Fpr20 : double; 1338 Fpr21 : double; 1339 Fpr22 : double; 1340 Fpr23 : double; 1341 Fpr24 : double; 1342 Fpr25 : double; 1343 Fpr26 : double; 1344 Fpr27 : double; 1345 Fpr28 : double; 1346 Fpr29 : double; 1347 Fpr30 : double; 1348 Fpr31 : double; 1349 Fpscr : double; 1350 Gpr0 : DWORD; 1351 Gpr1 : DWORD; 1352 Gpr2 : DWORD; 1353 Gpr3 : DWORD; 1354 Gpr4 : DWORD; 1355 Gpr5 : DWORD; 1356 Gpr6 : DWORD; 1357 Gpr7 : DWORD; 1358 Gpr8 : DWORD; 1359 Gpr9 : DWORD; 1360 Gpr10 : DWORD; 1361 Gpr11 : DWORD; 1362 Gpr12 : DWORD; 1363 Gpr13 : DWORD; 1364 Gpr14 : DWORD; 1365 Gpr15 : DWORD; 1366 Gpr16 : DWORD; 1367 Gpr17 : DWORD; 1368 Gpr18 : DWORD; 1369 Gpr19 : DWORD; 1370 Gpr20 : DWORD; 1371 Gpr21 : DWORD; 1372 Gpr22 : DWORD; 1373 Gpr23 : DWORD; 1374 Gpr24 : DWORD; 1375 Gpr25 : DWORD; 1376 Gpr26 : DWORD; 1377 Gpr27 : DWORD; 1378 Gpr28 : DWORD; 1379 Gpr29 : DWORD; 1380 Gpr30 : DWORD; 1381 Gpr31 : DWORD; 1382 Cr : DWORD; 1383 Xer : DWORD; 1384 Msr : DWORD; 1385 Iar : DWORD; 1386 Lr : DWORD; 1387 Ctr : DWORD; 1388 ContextFlags : DWORD; 1389 Fill : array[0..2] of DWORD; 1390 Dr0 : DWORD; 1391 Dr1 : DWORD; 1392 Dr2 : DWORD; 1393 Dr3 : DWORD; 1394 Dr4 : DWORD; 1395 Dr5 : DWORD; 1396 Dr6 : DWORD; 1397 Dr7 : DWORD; 1398 end; 1399 _STACK_FRAME_HEADER = record // GPR 1 points here 1400 BackChain : DWORD; // Addr of previous frame 1401 Reserved1 : DWORD; // Reserved 1402 1403 Parameter0 : DWORD; // First 8 parameter words are 1404 Parameter1 : DWORD; // always present 1405 Parameter2 : DWORD; 1406 Parameter3 : DWORD; 1407 Parameter4 : DWORD; 1408 Parameter5 : DWORD; 1409 Parameter6 : DWORD; 1410 Parameter7 : DWORD; 1411 end; 1412 1413 PSTACK_FRAME_HEADER=^STACK_FRAME_HEADER; 1414 {$endif _PPC_} //~winnt 1415 1416 {$ifdef _MPPC_} //+winnt all block 1417 type 1418 CONTEXT = record 1419 Fpr0 : double; 1420 Fpr1 : double; 1421 Fpr2 : double; 1422 Fpr3 : double; 1423 Fpr4 : double; 1424 Fpr5 : double; 1425 Fpr6 : double; 1426 Fpr7 : double; 1427 Fpr8 : double; 1428 Fpr9 : double; 1429 Fpr10 : double; 1430 Fpr11 : double; 1431 Fpr12 : double; 1432 Fpr13 : double; 1433 Fpr14 : double; 1434 Fpr15 : double; 1435 Fpr16 : double; 1436 Fpr17 : double; 1437 Fpr18 : double; 1438 Fpr19 : double; 1439 Fpr20 : double; 1440 Fpr21 : double; 1441 Fpr22 : double; 1442 Fpr23 : double; 1443 Fpr24 : double; 1444 Fpr25 : double; 1445 Fpr26 : double; 1446 Fpr27 : double; 1447 Fpr28 : double; 1448 Fpr29 : double; 1449 Fpr30 : double; 1450 Fpr31 : double; 1451 Fpscr : double; 1452 Gpr0 : DWORD; 1453 Gpr1 : DWORD; 1454 Gpr2 : DWORD; 1455 Gpr3 : DWORD; 1456 Gpr4 : DWORD; 1457 Gpr5 : DWORD; 1458 Gpr6 : DWORD; 1459 Gpr7 : DWORD; 1460 Gpr8 : DWORD; 1461 Gpr9 : DWORD; 1462 Gpr10 : DWORD; 1463 Gpr11 : DWORD; 1464 Gpr12 : DWORD; 1465 Gpr13 : DWORD; 1466 Gpr14 : DWORD; 1467 Gpr15 : DWORD; 1468 Gpr16 : DWORD; 1469 Gpr17 : DWORD; 1470 Gpr18 : DWORD; 1471 Gpr19 : DWORD; 1472 Gpr20 : DWORD; 1473 Gpr21 : DWORD; 1474 Gpr22 : DWORD; 1475 Gpr23 : DWORD; 1476 Gpr24 : DWORD; 1477 Gpr25 : DWORD; 1478 Gpr26 : DWORD; 1479 Gpr27 : DWORD; 1480 Gpr28 : DWORD; 1481 Gpr29 : DWORD; 1482 Gpr30 : DWORD; 1483 Gpr31 : DWORD; 1484 Cr : DWORD; 1485 Xer : DWORD; 1486 Msr : DWORD; 1487 Iar : DWORD; 1488 Lr : DWORD; 1489 Ctr : DWORD; 1490 ContextFlags : DWORD; 1491 Fill : array[0..2] of DWORD; 1492 Dr0 : DWORD; 1493 Dr1 : DWORD; 1494 Dr2 : DWORD; 1495 Dr3 : DWORD; 1496 Dr4 : DWORD; 1497 Dr5 : DWORD; 1498 Dr6 : DWORD; 1499 Dr7 : DWORD; 1500 end; 1501 _STACK_FRAME_HEADER = record // GPR 1 points here 1502 BackChain : DWORD; // Addr of previous frame 1503 GlueSaved1 : DWORD; // Used by glue code 1504 GlueSaved2 : DWORD; 1505 Reserved1 : DWORD; 1506 Spare1 : DWORD; 1507 Spare2 : DWORD; 1508 1509 Parameter0 : DWORD; // First 8 parameter words are 1510 Parameter1 : DWORD; // always present 1511 Parameter2 : DWORD; 1512 Parameter3 : DWORD; 1513 Parameter4 : DWORD; 1514 Parameter5 : DWORD; 1515 Parameter6 : DWORD; 1516 Parameter7 : DWORD; 1517 end; 1518 1519 PSTACK_FRAME_HEADER=^STACK_FRAME_HEADER; 1520 1521 {$endif _MPPC_} //+winnt 1522 1523 {$ifdef _IA64_} //+winnt all block 1524 type 1525 CONTEXT = record 1526 1527 ContextFlags : DWORD; 1528 Fill1 : array[0..2] of DWORD; 1529 DbI0 : ULONGLONG; // Instruction debug registers 1530 DbI1 : ULONGLONG; 1531 DbI2 : ULONGLONG; 1532 DbI3 : ULONGLONG; 1533 DbI4 : ULONGLONG; 1534 DbI5 : ULONGLONG; 1535 DbI6 : ULONGLONG; 1536 DbI7 : ULONGLONG; 1537 1538 DbD0 : ULONGLONG; // Data debug registers 1539 DbD1 : ULONGLONG; 1540 DbD2 : ULONGLONG; 1541 DbD3 : ULONGLONG; 1542 DbD4 : ULONGLONG; 1543 DbD5 : ULONGLONG; 1544 DbD6 : ULONGLONG; 1545 DbD7 : ULONGLONG; 1546 1547 FltS0 : FLOAT128; // Lower floating point (f2-f5) - saved (preserved) 1548 FltS1 : FLOAT128; 1549 FltS2 : FLOAT128; 1550 FltS3 : FLOAT128; 1551 FltT0 : FLOAT128; // Lower floating point (f6-f15) - temporary (volatile) 1552 FltT1 : FLOAT128; 1553 FltT2 : FLOAT128; 1554 FltT3 : FLOAT128; 1555 FltT4 : FLOAT128; 1556 FltT5 : FLOAT128; 1557 FltT6 : FLOAT128; 1558 FltT7 : FLOAT128; 1559 FltT8 : FLOAT128; 1560 FltT9 : FLOAT128; 1561 FltS4 : FLOAT128; // Higher floating point (f16-f31) - saved (preserved) 1562 FltS5 : FLOAT128; 1563 FltS6 : FLOAT128; 1564 FltS7 : FLOAT128; 1565 FltS8 : FLOAT128; 1566 FltS9 : FLOAT128; 1567 FltS10 : FLOAT128; 1568 FltS11 : FLOAT128; 1569 FltS12 : FLOAT128; 1570 FltS13 : FLOAT128; 1571 FltS14 : FLOAT128; 1572 FltS15 : FLOAT128; 1573 FltS16 : FLOAT128; 1574 FltS17 : FLOAT128; 1575 FltS18 : FLOAT128; 1576 FltS19 : FLOAT128; 1577 1578 FltF32 : FLOAT128; // Higher floating point (f32-f127) - temporary (volatile) 1579 FltF33 : FLOAT128; 1580 FltF34 : FLOAT128; 1581 FltF35 : FLOAT128; 1582 FltF36 : FLOAT128; 1583 FltF37 : FLOAT128; 1584 FltF38 : FLOAT128; 1585 FltF39 : FLOAT128; 1586 1587 FltF40 : FLOAT128; 1588 FltF41 : FLOAT128; 1589 FltF42 : FLOAT128; 1590 FltF43 : FLOAT128; 1591 FltF44 : FLOAT128; 1592 FltF45 : FLOAT128; 1593 FltF46 : FLOAT128; 1594 FltF47 : FLOAT128; 1595 FltF48 : FLOAT128; 1596 FltF49 : FLOAT128; 1597 1598 FltF50 : FLOAT128; 1599 FltF51 : FLOAT128; 1600 FltF52 : FLOAT128; 1601 FltF53 : FLOAT128; 1602 FltF54 : FLOAT128; 1603 FltF55 : FLOAT128; 1604 FltF56 : FLOAT128; 1605 FltF57 : FLOAT128; 1606 FltF58 : FLOAT128; 1607 FltF59 : FLOAT128; 1608 1609 FltF60 : FLOAT128; 1610 FltF61 : FLOAT128; 1611 FltF62 : FLOAT128; 1612 FltF63 : FLOAT128; 1613 FltF64 : FLOAT128; 1614 FltF65 : FLOAT128; 1615 FltF66 : FLOAT128; 1616 FltF67 : FLOAT128; 1617 FltF68 : FLOAT128; 1618 FltF69 : FLOAT128; 1619 1620 FltF70 : FLOAT128; 1621 FltF71 : FLOAT128; 1622 FltF72 : FLOAT128; 1623 FltF73 : FLOAT128; 1624 FltF74 : FLOAT128; 1625 FltF75 : FLOAT128; 1626 FltF76 : FLOAT128; 1627 FltF77 : FLOAT128; 1628 FltF78 : FLOAT128; 1629 FltF79 : FLOAT128; 1630 1631 FltF80 : FLOAT128; 1632 FltF81 : FLOAT128; 1633 FltF82 : FLOAT128; 1634 FltF83 : FLOAT128; 1635 FltF84 : FLOAT128; 1636 FltF85 : FLOAT128; 1637 FltF86 : FLOAT128; 1638 FltF87 : FLOAT128; 1639 FltF88 : FLOAT128; 1640 FltF89 : FLOAT128; 1641 1642 FltF90 : FLOAT128; 1643 FltF91 : FLOAT128; 1644 FltF92 : FLOAT128; 1645 FltF93 : FLOAT128; 1646 FltF94 : FLOAT128; 1647 FltF95 : FLOAT128; 1648 FltF96 : FLOAT128; 1649 FltF97 : FLOAT128; 1650 FltF98 : FLOAT128; 1651 FltF99 : FLOAT128; 1652 1653 FltF100 : FLOAT128; 1654 FltF101 : FLOAT128; 1655 FltF102 : FLOAT128; 1656 FltF103 : FLOAT128; 1657 FltF104 : FLOAT128; 1658 FltF105 : FLOAT128; 1659 FltF106 : FLOAT128; 1660 FltF107 : FLOAT128; 1661 FltF108 : FLOAT128; 1662 FltF109 : FLOAT128; 1663 1664 FltF110 : FLOAT128; 1665 FltF111 : FLOAT128; 1666 FltF112 : FLOAT128; 1667 FltF113 : FLOAT128; 1668 FltF114 : FLOAT128; 1669 FltF115 : FLOAT128; 1670 FltF116 : FLOAT128; 1671 FltF117 : FLOAT128; 1672 FltF118 : FLOAT128; 1673 FltF119 : FLOAT128; 1674 1675 FltF120 : FLOAT128; 1676 FltF121 : FLOAT128; 1677 FltF122 : FLOAT128; 1678 FltF123 : FLOAT128; 1679 FltF124 : FLOAT128; 1680 FltF125 : FLOAT128; 1681 FltF126 : FLOAT128; 1682 FltF127 : FLOAT128; 1683 1684 StFPSR : ULONGLONG; // FP status 1685 StFSR : ULONGLONG; // x86 FP status (a copy of AR28) 1686 StFIR : ULONGLONG; // x86 FP status (a copy of AR29) 1687 StFDR : ULONGLONG; // x86 FP status (a copy of AR30) 1688 1689 IntGp : ULONGLONG; // global pointer (r1) - temporary (volatile) 1690 IntT0 : ULONGLONG; // integer registers (r2-r3) - temporary (volatile) 1691 IntT1 : ULONGLONG; 1692 IntS0 : ULONGLONG; // integer registers (r4-r7) - saved (preserved) 1693 IntS1 : ULONGLONG; 1694 IntS2 : ULONGLONG; 1695 IntS3 : ULONGLONG; 1696 IntV0 : ULONGLONG; // return value (r8) - temporary (volatile) 1697 IntT2 : ULONGLONG; // integer registers (r9-r11) - temporary (volatile) 1698 IntT3 : ULONGLONG; 1699 IntT4 : ULONGLONG; 1700 IntSP : ULONGLONG; // stack pointer (r12) - special 1701 IntTeb : ULONGLONG; // teb (r13) - special 1702 IntT5 : ULONGLONG; // integer registers (r14-r31) - temporary (volatile) 1703 IntT6 : ULONGLONG; 1704 IntT7 : ULONGLONG; 1705 IntT8 : ULONGLONG; 1706 IntT9 : ULONGLONG; 1707 IntT10 : ULONGLONG; 1708 IntT11 : ULONGLONG; 1709 IntT12 : ULONGLONG; 1710 IntT13 : ULONGLONG; 1711 IntT14 : ULONGLONG; 1712 IntT15 : ULONGLONG; 1713 IntT16 : ULONGLONG; 1714 IntT17 : ULONGLONG; 1715 IntT18 : ULONGLONG; 1716 IntT19 : ULONGLONG; 1717 IntT20 : ULONGLONG; 1718 IntT21 : ULONGLONG; 1719 IntT22 : ULONGLONG; 1720 1721 IntNats : ULONGLONG; // Nat bits for general registers 1722 // r1-r31 in bit positions 1 to 31. 1723 Preds : ULONGLONG; // predicates - saved (preserved) 1724 BrRp : ULONGLONG; // return pointer (b0) - saved (preserved) 1725 BrS0 : ULONGLONG; // branch registers (b1-b5) - saved (preserved) 1726 BrS1 : ULONGLONG; 1727 BrS2 : ULONGLONG; 1728 BrS3 : ULONGLONG; 1729 BrS4 : ULONGLONG; 1730 1731 BrT0 : ULONGLONG; // branch registers (b6-b7) - temporary (volatile) 1732 BrT1 : ULONGLONG; 1733 // iA32 related Interger registers 1734 SegCSD : ULONGLONG; // iA32 CSDescriptor (Ar25) 1735 SegSSD : ULONGLONG; // iA32 SSDescriptor (Ar26) 1736 1737 // Other application registers 1738 ApUNAT : ULONGLONG; // User Nat collection register - saved (preserved) 1739 ApLC : ULONGLONG; // Loop counter register - saved (preserved) 1740 ApEC : ULONGLONG; // Epilog counter register - saved (preserved) 1741 ApCCV : ULONGLONG; // CMPXCHG value register - temporary (volatile) 1742 ApDCR : ULONGLONG; // Default control register (TBD) 1743 1744 // Register stack info 1745 RsPFS : ULONGLONG; // Previous function state - saved (preserved) 1746 RsBSP : ULONGLONG; // Backing store pointer - saved (preserved) 1747 RsBSPSTORE : ULONGLONG; // BSP Store - saved (preserved) 1748 RsRSC : ULONGLONG; // RSE configuration - temporary (volatile) 1749 RsRNAT : ULONGLONG; // RSE Nat collection register - saved (preserved) 1750 // iA32 related control registers 1751 Eflag : ULONGLONG; // Eflag copy of Ar24 1752 Cflag : ULONGLONG; // Cr0+Cr4 copy of Ar27 1753 1754 // Trap Status Information 1755 StIPSR : ULONGLONG; // Interruption Processor Status 1756 StIIP : ULONGLONG; // Interruption IP 1757 StIFS : ULONGLONG; // Interruption Function State 1758 1759 end; 1760 1761 FLOATING_SAVE_AREA = record 1762 ControlWord : DWORD; 1763 StatusWord : DWORD; 1764 TagWord : DWORD; 1765 ErrorOffset : DWORD; 1766 ErrorSelector : DWORD; 1767 DataOffset : DWORD; 1768 DataSelector : DWORD; 1769 RegisterArea : array[0..SIZE_OF_80387_REGISTERS-1] of BYTE; 1770 Cr0NpxState : DWORD; 1771 end; 1772 _FLOATING_SAVE_AREA = FLOATING_SAVE_AREA; 1773 TFLOATINGSAVEAREA = FLOATING_SAVE_AREA; 1774 PFLOATING_SAVE_AREA = ^FLOATING_SAVE_AREA; 1775 1776 CONTEXT86 = record 1777 ContextFlags : DWORD; 1778 Dr0 : DWORD; 1779 Dr1 : DWORD; 1780 Dr2 : DWORD; 1781 Dr3 : DWORD; 1782 Dr6 : DWORD; 1783 Dr7 : DWORD; 1784 FloatSave : FLOATING_SAVE_AREA; 1785 SegGs : DWORD; 1786 SegFs : DWORD; 1787 SegEs : DWORD; 1788 SegDs : DWORD; 1789 Edi : DWORD; 1790 Esi : DWORD; 1791 Ebx : DWORD; 1792 Edx : DWORD; 1793 Ecx : DWORD; 1794 Eax : DWORD; 1795 Ebp : DWORD; 1796 Eip : DWORD; 1797 SegCs : DWORD; 1798 EFlags : DWORD; 1799 Esp : DWORD; 1800 SegSs : DWORD; 1801 end; 1802 1803 LDT_ENTRY = record 1804 LimitLow : WORD; 1805 BaseLow : WORD; 1806 HighWord : record 1807 case longint of 1808 0 : ( Bytes : record 1809 BaseMid : BYTE; 1810 Flags1 : BYTE; 1811 Flags2 : BYTE; 1812 BaseHi : BYTE; 1813 end ); 1814 1 : ( Bits : record 1815 flag0 : longint; 1816 end ); 1817 end; 1818 end; 1819 LPLDT_ENTRY = ^LDT_ENTRY; 1820 PLDT_ENTRY = ^LDT_ENTRY; 1821 _LDT_ENTRY = LDT_ENTRY; 1822 TLDTENTRY = LDT_ENTRY; 1823 PLDTENTRY = ^LDT_ENTRY; 1824 1825 PLABEL_DESCRIPTOR = record 1826 EntryPoint : ULONGLONG; 1827 GlobalPointer : ULONGLONG; 1828 end; 1829 _PLABEL_DESCRIPTOR = PLABEL_DESCRIPTOR; 1830 PPLABEL_DESCRIPTOR = ^PLABEL_DESCRIPTOR; 1831 1832 1833 {$endif _IA64_} //+winnt 1834 1835 {$ifdef SHx} //+winnt all block added 1836 //These are the debug or break registers on the SH3 1837 DEBUG_REGISTERS = RECORD 1838 BarA : ULONG; 1839 BasrA : UCHAR; 1840 BamrA : UCHAR; 1841 BbrA : USHORT; 1842 BarB : ULONG; 1843 BasrB : UCHAR; 1844 BamrB : UCHAR; 1845 BbrB : USHORT; 1846 BdrB : ULONG; 1847 BdmrB : ULONG; 1848 Brcr : USHORT; 1849 Align : USHORT; 1850 end; 1851 _DEBUG_REGISTERS=DEBUG_REZGISTERS; 1852 PDEBUG_REGISTERS=^DEBUG_REZGISTERS; 1853 1854 CONTEXT = record 1855 ContextFlags : ULONG; 1856 PR : ULONG; 1857 MACH : ULONG; 1858 MACL : ULONG; 1859 GBR : ULONG; 1860 R0 : ULONG; 1861 R1 : ULONG; 1862 R2 : ULONG; 1863 R3 : ULONG; 1864 R4 : ULONG; 1865 R5 : ULONG; 1866 R6 : ULONG; 1867 R7 : ULONG; 1868 R8 : ULONG; 1869 R9 : ULONG; 1870 R10 : ULONG; 1871 R11 : ULONG; 1872 R12 : ULONG; 1873 R13 : ULONG; 1874 R14 : ULONG; 1875 R15 : ULONG; 1876 1877 // N.B. The registers r15 and ra are defined in the integer section, 1878 // but are considered part of the control context rather than part of 1879 // the integer context. 1880 // 1881 1882 Fir : ULONG; 1883 Psr : ULONG; 1884 1885 {$ifndef SH3e} 1886 {$ifndef SH4} 1887 OldStuff : Array[0..1] of ULONG; 1888 DebugRegisters : DEBUG_REGISTERS; 1889 DSR : ULONG; 1890 MOD_ : ULONG; // MOD replaced by MOD_ 1891 RS : ULONG; 1892 RE : ULONG; 1893 A0 : ULONG; 1894 A1 : ULONG; 1895 M0 : ULONG; 1896 M1 : ULONG; 1897 X0 : ULONG; 1898 X1 : ULONG; 1899 Y0 : ULONG; 1900 Y1 : ULONG; 1901 // The guard bit registers are 8 bits long, but can only be saved and 1902 // restored using 16 or 32 bit moves. Note, the contents of the guard 1903 // bit register are in the upper 8 bits. 1904 A0G : USHORT; 1905 A1G : USHORT; 1906 {$else} 1907 Fpscr : ULONG; 1908 Fpul : ULONG; 1909 FRegs : Array[0..15] of ULONG; 1910 xFRegs : Array[0..15] of ULONG; 1911 {$endif SH4} 1912 {$else} 1913 Fpscr : ULONG; 1914 Fpul : ULONG; 1915 FRegs : Array[0..15] of ULONG; 1916 {$endif SH3e} 1917 end; 1918 1919 {$endif SHx} //+winnt 1920 1921 {$ifdef CPUARM} //+winnt all block added 1922 CONTEXT = record 1923 ContextFlags : ULONG; 1924 R0 : ULONG; 1925 R1 : ULONG; 1926 R2 : ULONG; 1927 R3 : ULONG; 1928 R4 : ULONG; 1929 R5 : ULONG; 1930 R6 : ULONG; 1931 R7 : ULONG; 1932 R8 : ULONG; 1933 R9 : ULONG; 1934 R10 : ULONG; 1935 R11 : ULONG; 1936 R12 : ULONG; 1937 1938 SP : ULONG; 1939 Lr : ULONG; 1940 Pc : ULONG; 1941 Psr : ULONG; 1942 Fpscr : ULONG; 1943 FpExc : ULONG; 1944 S : Array [0..NUM_VFP_REGS] of ULONG; 1945 FpExtra : Array [0..NUM_EXTRA_CONTROL_REGS-1] of ULONG; 1946 end; 1947 {$endif CPUARM} //+winnt 1948 1949 LPCONTEXT = ^CONTEXT; 1950 _CONTEXT = CONTEXT; 1951 TCONTEXT = CONTEXT; 1952 PCONTEXT = ^CONTEXT; //winnt 1953 1954 type 1955 1956 LIST_ENTRY = record //winnt 1957 Flink : ^_LIST_ENTRY; 1958 Blink : ^_LIST_ENTRY; 1959 end; 1960 _LIST_ENTRY = LIST_ENTRY; 1961 TLISTENTRY = LIST_ENTRY; 1962 PLISTENTRY = ^LIST_ENTRY; 1963 1964 CRITICAL_SECTION_DEBUG = record 1965 _Type : WORD; 1966 CreatorBackTraceIndex : WORD; 1967 CriticalSection : ^_CRITICAL_SECTION; 1968 ProcessLocksList : LIST_ENTRY; 1969 EntryCount : DWORD; 1970 ContentionCount : DWORD; 1971 Depth : DWORD; 1972 OwnerBackTrace : array[0..4] of PVOID; 1973 end; 1974 LPCRITICAL_SECTION_DEBUG = ^CRITICAL_SECTION_DEBUG; 1975 PCRITICAL_SECTION_DEBUG = ^CRITICAL_SECTION_DEBUG; 1976 _CRITICAL_SECTION_DEBUG = CRITICAL_SECTION_DEBUG; 1977 TCRITICALSECTIONDEBUG = CRITICAL_SECTION_DEBUG; 1978 PCRITICALSECTIONDEBUG = ^CRITICAL_SECTION_DEBUG; 1979 1980 CRITICAL_SECTION = TRTLCriticalSection; 1981 _CRITICAL_SECTION = TRTLCriticalSection; 1982 TCRITICAL_SECTION = TRTLCriticalSection; 1983 PCRITICAL_SECTION = PRTLCriticalSection; 1984 LPCRITICAL_SECTION = PRTLCriticalSection; 1985 TCRITICALSECTION = TRTLCriticalSection; 1986 PCRITICALSECTION = PRTLCriticalSection; 1987 1988 { SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; } 1989 1990 SECURITY_QUALITY_OF_SERVICE = record 1991 Length : DWORD; 1992 ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL; 1993 ContextTrackingMode : WINBOOL; 1994 EffectiveOnly : BOOLEAN; 1995 end; 1996 PSECURITY_QUALITY_OF_SERVICE = ^SECURITY_QUALITY_OF_SERVICE; 1997 _SECURITY_QUALITY_OF_SERVICE = SECURITY_QUALITY_OF_SERVICE; 1998 TSECURITYQUALITYOFSERVICE = SECURITY_QUALITY_OF_SERVICE; 1999 PSECURITYQUALITYOFSERVICE = ^SECURITY_QUALITY_OF_SERVICE; 2000 2001 CONVCONTEXT = record 2002 cb : UINT; 2003 wFlags : UINT; 2004 wCountryID : UINT; 2005 iCodePage : longint; 2006 dwLangID : DWORD; 2007 dwSecurity : DWORD; 2008 qos : SECURITY_QUALITY_OF_SERVICE; 2009 end; 2010 tagCONVCONTEXT = CONVCONTEXT; 2011 TCONVCONTEXT = CONVCONTEXT; 2012 PCONVCONTEXT = ^CONVCONTEXT; 2013 2014 CONVINFO = record 2015 cb : DWORD; 2016 hUser : DWORD; 2017 hConvPartner : HCONV; 2018 hszSvcPartner : HSZ; 2019 hszServiceReq : HSZ; 2020 hszTopic : HSZ; 2021 hszItem : HSZ; 2022 wFmt : UINT; 2023 wType : UINT; 2024 wStatus : UINT; 2025 wConvst : UINT; 2026 wLastError : UINT; 2027 hConvList : HCONVLIST; 2028 ConvCtxt : CONVCONTEXT; 2029 _hwnd : HWND; 2030 hwndPartner : HWND; 2031 end; 2032 tagCONVINFO = CONVINFO; 2033 TCONVINFO = CONVINFO; 2034 PCONVINFO = ^CONVINFO; 2035 2036 COPYDATASTRUCT = record 2037 dwData : DWORD; 2038 cbData : DWORD; 2039 lpData : PVOID; 2040 end; 2041 tagCOPYDATASTRUCT = COPYDATASTRUCT; 2042 TCOPYDATASTRUCT = COPYDATASTRUCT; 2043 PCOPYDATASTRUCT = ^COPYDATASTRUCT; 2044 2045 CPINFO = record 2046 MaxCharSize : UINT; 2047 DefaultChar : array[0..(MAX_DEFAULTCHAR)-1] of BYTE; 2048 LeadByte : array[0..(MAX_LEADBYTES)-1] of BYTE; 2049 end; 2050 LPCPINFO = ^CPINFO; 2051 _cpinfo = CPINFO; 2052 Tcpinfo = CPINFO; 2053 Pcpinfo = ^CPINFO; 2054 2055 CPLINFO = record 2056 idIcon : longint; 2057 idName : longint; 2058 idInfo : longint; 2059 lData : LONG; 2060 end; 2061 tagCPLINFO = CPLINFO; 2062 TCPLINFO = CPLINFO; 2063 PCPLINFO = ^CPLINFO; 2064 2065 CREATE_PROCESS_DEBUG_INFO = record 2066 hFile : HANDLE; 2067 hProcess : HANDLE; 2068 hThread : HANDLE; 2069 lpBaseOfImage : LPVOID; 2070 dwDebugInfoFileOffset : DWORD; 2071 nDebugInfoSize : DWORD; 2072 lpThreadLocalBase : LPVOID; 2073 lpStartAddress : LPTHREAD_START_ROUTINE; 2074 lpImageName : LPVOID; 2075 fUnicode : WORD; 2076 end; 2077 _CREATE_PROCESS_DEBUG_INFO = CREATE_PROCESS_DEBUG_INFO; 2078 TCREATEPROCESSDEBUGINFO = CREATE_PROCESS_DEBUG_INFO; 2079 PCREATEPROCESSDEBUGINFO = ^CREATE_PROCESS_DEBUG_INFO; 2080 2081 CREATE_THREAD_DEBUG_INFO = record 2082 hThread : HANDLE; 2083 lpThreadLocalBase : LPVOID; 2084 lpStartAddress : LPTHREAD_START_ROUTINE; 2085 end; 2086 _CREATE_THREAD_DEBUG_INFO = CREATE_THREAD_DEBUG_INFO; 2087 TCREATETHREADDEBUGINFO = CREATE_THREAD_DEBUG_INFO; 2088 PCREATETHREADDEBUGINFO = ^CREATE_THREAD_DEBUG_INFO; 2089 (* 2090 TODO: sockets 2091 typedef struct _SOCKET_ADDRESS { 2092 LPSOCKADDR lpSockaddr ; 2093 INT iSockaddrLength ; 2094 } SOCKET_ADDRESS, PSOCKET_ADDRESS, LPSOCKET_ADDRESS; 2095 } 2096 { 2097 typedef struct _CSADDR_INFO { 2098 SOCKET_ADDRESS LocalAddr; 2099 SOCKET_ADDRESS RemoteAddr; 2100 INT iSocketType; 2101 INT iProtocol; 2102 } CSADDR_INFO; 2103 *) 2104 2105 CURRENCYFMT = record 2106 NumDigits : UINT; 2107 LeadingZero : UINT; 2108 Grouping : UINT; 2109 lpDecimalSep : LPTSTR; 2110 lpThousandSep : LPTSTR; 2111 NegativeOrder : UINT; 2112 PositiveOrder : UINT; 2113 lpCurrencySymbol : LPTSTR; 2114 end; 2115 _currencyfmt = CURRENCYFMT; 2116 Tcurrencyfmt = CURRENCYFMT; 2117 Pcurrencyfmt = ^CURRENCYFMT; 2118 2119 CURSORSHAPE = record 2120 xHotSpot : longint; 2121 yHotSpot : longint; 2122 cx : longint; 2123 cy : longint; 2124 cbWidth : longint; 2125 Planes : BYTE; 2126 BitsPixel : BYTE; 2127 end; 2128 LPCURSORSHAPE = ^CURSORSHAPE; 2129 tagCURSORSHAPE = CURSORSHAPE; 2130 TCURSORSHAPE = CURSORSHAPE; 2131 PCURSORSHAPE = ^CURSORSHAPE; 2132 2133 CWPRETSTRUCT = record 2134 lResult : LRESULT; 2135 lParam : LPARAM; 2136 wParam : WPARAM; 2137 message : DWORD; 2138 hwnd : HWND; 2139 end; 2140 tagCWPRETSTRUCT = CWPRETSTRUCT; 2141 TCWPRETSTRUCT = CWPRETSTRUCT; 2142 PCWPRETSTRUCT = ^CWPRETSTRUCT; 2143 2144 CWPSTRUCT = record 2145 lParam : LPARAM; 2146 wParam : WPARAM; 2147 message : UINT; 2148 hwnd : HWND; 2149 end; 2150 tagCWPSTRUCT = CWPSTRUCT; 2151 TCWPSTRUCT = CWPSTRUCT; 2152 PCWPSTRUCT = ^CWPSTRUCT; 2153 2154 DATATYPES_INFO_1 = record 2155 pName : LPTSTR; 2156 end; 2157 _DATATYPES_INFO_1 = DATATYPES_INFO_1; 2158 TDATATYPESINFO1 = DATATYPES_INFO_1; 2159 PDATATYPESINFO1 = ^DATATYPES_INFO_1; 2160 2161 DDEACK = record 2162 flag0 : word; 2163 end; 2164 TDDEACK = DDEACK; 2165 PDDEACK = ^DDEACK; 2166 const 2167 bm_DDEACK_bAppReturnCode = $FF; 2168 bp_DDEACK_bAppReturnCode = 0; 2169 bm_DDEACK_reserved = $3F00; 2170 bp_DDEACK_reserved = 8; 2171 bm_DDEACK_fBusy = $4000; 2172 bp_DDEACK_fBusy = 14; 2173 bm_DDEACK_fAck = $8000; 2174 bp_DDEACK_fAck = 15; 2175 function bAppReturnCode(var a : DDEACK) : word; 2176 procedure set_bAppReturnCode(var a : DDEACK; __bAppReturnCode : word); 2177 function reserved(var a : DDEACK) : word; 2178 procedure set_reserved(var a : DDEACK; __reserved : word); 2179 function fBusy(var a : DDEACK) : word; 2180 procedure set_fBusy(var a : DDEACK; __fBusy : word); 2181 function fAck(var a : DDEACK) : word; 2182 procedure set_fAck(var a : DDEACK; __fAck : word); 2183 2184 type 2185 2186 DDEADVISE = record 2187 flag0 : word; 2188 cfFormat : integer; 2189 end; 2190 TDDEADVISE = DDEADVISE; 2191 PDDEADVISE = ^DDEADVISE; 2192 const 2193 bm_DDEADVISE_reserved = $3FFF; 2194 bp_DDEADVISE_reserved = 0; 2195 bm_DDEADVISE_fDeferUpd = $4000; 2196 bp_DDEADVISE_fDeferUpd = 14; 2197 bm_DDEADVISE_fAckReq = $8000; 2198 bp_DDEADVISE_fAckReq = 15; 2199 function reserved(var a : DDEADVISE) : word; 2200 procedure set_reserved(var a : DDEADVISE; __reserved : word); 2201 function fDeferUpd(var a : DDEADVISE) : word; 2202 procedure set_fDeferUpd(var a : DDEADVISE; __fDeferUpd : word); 2203 function fAckReq(var a : DDEADVISE) : word; 2204 procedure set_fAckReq(var a : DDEADVISE; __fAckReq : word); 2205 2206 type 2207 2208 DDEDATA = record 2209 flag0 : word; 2210 cfFormat : integer; 2211 Value : array[0..0] of BYTE; 2212 end; 2213 PDDEDATA = ^DDEDATA; 2214 const 2215 bm_DDEDATA_unused = $FFF; 2216 bp_DDEDATA_unused = 0; 2217 bm_DDEDATA_fResponse = $1000; 2218 bp_DDEDATA_fResponse = 12; 2219 bm_DDEDATA_fRelease = $2000; 2220 bp_DDEDATA_fRelease = 13; 2221 bm_DDEDATA_reserved = $4000; 2222 bp_DDEDATA_reserved = 14; 2223 bm_DDEDATA_fAckReq = $8000; 2224 bp_DDEDATA_fAckReq = 15; 2225 function unused(var a : DDEDATA) : word; 2226 procedure set_unused(var a : DDEDATA; __unused : word); 2227 function fResponse(var a : DDEDATA) : word; 2228 procedure set_fResponse(var a : DDEDATA; __fResponse : word); 2229 function fRelease(var a : DDEDATA) : word; 2230 procedure set_fRelease(var a : DDEDATA; __fRelease : word); 2231 function reserved(var a : DDEDATA) : word; 2232 procedure set_reserved(var a : DDEDATA; __reserved : word); 2233 function fAckReq(var a : DDEDATA) : word; 2234 procedure set_fAckReq(var a : DDEDATA; __fAckReq : word); 2235 2236 type 2237 2238 DDELN = record 2239 flag0 : word; 2240 cfFormat : integer; 2241 end; 2242 TDDELN = DDELN; 2243 PDDELN = ^DDELN; 2244 const 2245 bm_DDELN_unused = $1FFF; 2246 bp_DDELN_unused = 0; 2247 bm_DDELN_fRelease = $2000; 2248 bp_DDELN_fRelease = 13; 2249 bm_DDELN_fDeferUpd = $4000; 2250 bp_DDELN_fDeferUpd = 14; 2251 bm_DDELN_fAckReq = $8000; 2252 bp_DDELN_fAckReq = 15; 2253 function unused(var a : DDELN) : word; 2254 procedure set_unused(var a : DDELN; __unused : word); 2255 function fRelease(var a : DDELN) : word; 2256 procedure set_fRelease(var a : DDELN; __fRelease : word); 2257 function fDeferUpd(var a : DDELN) : word; 2258 procedure set_fDeferUpd(var a : DDELN; __fDeferUpd : word); 2259 function fAckReq(var a : DDELN) : word; 2260 procedure set_fAckReq(var a : DDELN; __fAckReq : word); 2261 2262 type 2263 2264 DDEML_MSG_HOOK_DATA = record 2265 uiLo : UINT; 2266 uiHi : UINT; 2267 cbData : DWORD; 2268 Data : array[0..7] of DWORD; 2269 end; 2270 tagDDEML_MSG_HOOK_DATA = DDEML_MSG_HOOK_DATA; 2271 TDDEMLMSGHOOKDATA = DDEML_MSG_HOOK_DATA; 2272 PDDEMLMSGHOOKDATA = ^DDEML_MSG_HOOK_DATA; 2273 2274 DDEPOKE = record 2275 flag0 : word; 2276 cfFormat : integer; 2277 Value : array[0..0] of BYTE; 2278 end; 2279 TDDEPOKE = DDEPOKE; 2280 PDDEPOKE = ^DDEPOKE; 2281 const 2282 bm_DDEPOKE_unused = $1FFF; 2283 bp_DDEPOKE_unused = 0; 2284 bm_DDEPOKE_fRelease = $2000; 2285 bp_DDEPOKE_fRelease = 13; 2286 bm_DDEPOKE_fReserved = $C000; 2287 bp_DDEPOKE_fReserved = 14; 2288 function unused(var a : DDEPOKE) : word; 2289 procedure set_unused(var a : DDEPOKE; __unused : word); 2290 function fRelease(var a : DDEPOKE) : word; 2291 procedure set_fRelease(var a : DDEPOKE; __fRelease : word); 2292 function fReserved(var a : DDEPOKE) : word; 2293 procedure set_fReserved(var a : DDEPOKE; __fReserved : word); 2294 2295 type 2296 2297 DDEUP = record 2298 flag0 : word; 2299 cfFormat : integer; 2300 rgb : array[0..0] of BYTE; 2301 end; 2302 TDDEUP = DDEUP; 2303 PDDEUP = ^DDEUP; 2304 const 2305 bm_DDEUP_unused = $FFF; 2306 bp_DDEUP_unused = 0; 2307 bm_DDEUP_fAck = $1000; 2308 bp_DDEUP_fAck = 12; 2309 bm_DDEUP_fRelease = $2000; 2310 bp_DDEUP_fRelease = 13; 2311 bm_DDEUP_fReserved = $4000; 2312 bp_DDEUP_fReserved = 14; 2313 bm_DDEUP_fAckReq = $8000; 2314 bp_DDEUP_fAckReq = 15; 2315 function unused(var a : DDEUP) : word; 2316 procedure set_unused(var a : DDEUP; __unused : word); 2317 function fAck(var a : DDEUP) : word; 2318 procedure set_fAck(var a : DDEUP; __fAck : word); 2319 function fRelease(var a : DDEUP) : word; 2320 procedure set_fRelease(var a : DDEUP; __fRelease : word); 2321 function fReserved(var a : DDEUP) : word; 2322 procedure set_fReserved(var a : DDEUP; __fReserved : word); 2323 function fAckReq(var a : DDEUP) : word; 2324 procedure set_fAckReq(var a : DDEUP; __fAckReq : word); 2325 2326 type 2327 2328 // definition of _exception struct - this struct is passed to the matherr 2329 // routine when a floating point exception is detected 2330 _EXCEPTION = record //+stdlib 2331 type_ : Integer; //identifier type replaced by Type_ for compilation 2332 Name : PChar; // name of function where error occurred 2333 arg1 : double; // first argument to function 2334 arg2 : double; // second argument (if any) to function 2335 retval : double; // value to be returned by function 2336 end; 2337 2338 EXCEPTION_RECORD = record //winnt 2339 ExceptionCode : DWORD; 2340 ExceptionFlags : DWORD; 2341 ExceptionRecord : ^_EXCEPTION_RECORD; 2342 ExceptionAddress : PVOID; 2343 NumberParameters : DWORD; 2344 ExceptionInformation : array[0..(EXCEPTION_MAXIMUM_PARAMETERS)-1] of Pointer; //~winnt, was DWORD, SDK:ULONG_PTR 2345 end; 2346 PEXCEPTION_RECORD = ^EXCEPTION_RECORD; 2347 _EXCEPTION_RECORD = EXCEPTION_RECORD; 2348 TEXCEPTIONRECORD = EXCEPTION_RECORD; 2349 PEXCEPTIONRECORD = ^EXCEPTION_RECORD; 2350 2351 EXCEPTION_DEBUG_INFO = record 2352 ExceptionRecord : EXCEPTION_RECORD; 2353 dwFirstChance : DWORD; 2354 end; 2355 PEXCEPTION_DEBUG_INFO = ^EXCEPTION_DEBUG_INFO; 2356 _EXCEPTION_DEBUG_INFO = EXCEPTION_DEBUG_INFO; 2357 TEXCEPTIONDEBUGINFO = EXCEPTION_DEBUG_INFO; 2358 PEXCEPTIONDEBUGINFO = ^EXCEPTION_DEBUG_INFO; 2359 2360 EXIT_PROCESS_DEBUG_INFO = record 2361 dwExitCode : DWORD; 2362 end; 2363 _EXIT_PROCESS_DEBUG_INFO = EXIT_PROCESS_DEBUG_INFO; 2364 TEXITPROCESSDEBUGINFO = EXIT_PROCESS_DEBUG_INFO; 2365 PEXITPROCESSDEBUGINFO = ^EXIT_PROCESS_DEBUG_INFO; 2366 2367 2368 EXIT_THREAD_DEBUG_INFO = record 2369 dwExitCode : DWORD; 2370 end; 2371 _EXIT_THREAD_DEBUG_INFO = EXIT_THREAD_DEBUG_INFO; 2372 TEXITTHREADDEBUGINFO = EXIT_THREAD_DEBUG_INFO; 2373 PEXITTHREADDEBUGINFO = ^EXIT_THREAD_DEBUG_INFO; 2374 2375 LOAD_DLL_DEBUG_INFO = record 2376 hFile : HANDLE; 2377 lpBaseOfDll : LPVOID; 2378 dwDebugInfoFileOffset : DWORD; 2379 nDebugInfoSize : DWORD; 2380 lpImageName : LPVOID; 2381 fUnicode : WORD; 2382 end; 2383 _LOAD_DLL_DEBUG_INFO = LOAD_DLL_DEBUG_INFO; 2384 TLOADDLLDEBUGINFO = LOAD_DLL_DEBUG_INFO; 2385 PLOADDLLDEBUGINFO = ^LOAD_DLL_DEBUG_INFO; 2386 2387 UNLOAD_DLL_DEBUG_INFO = record 2388 lpBaseOfDll : LPVOID; 2389 end; 2390 _UNLOAD_DLL_DEBUG_INFO = UNLOAD_DLL_DEBUG_INFO; 2391 TUNLOADDLLDEBUGINFO = UNLOAD_DLL_DEBUG_INFO; 2392 PUNLOADDLLDEBUGINFO = ^UNLOAD_DLL_DEBUG_INFO; 2393 2394 OUTPUT_DEBUG_STRING_INFO = record 2395 lpDebugStringData : LPSTR; 2396 fUnicode : WORD; 2397 nDebugStringLength : WORD; 2398 end; 2399 _OUTPUT_DEBUG_STRING_INFO = OUTPUT_DEBUG_STRING_INFO; 2400 TOUTPUTDEBUGSTRINGINFO = OUTPUT_DEBUG_STRING_INFO; 2401 POUTPUTDEBUGSTRINGINFO = ^OUTPUT_DEBUG_STRING_INFO; 2402 2403 RIP_INFO = record 2404 dwError : DWORD; 2405 dwType : DWORD; 2406 end; 2407 _RIP_INFO = RIP_INFO; 2408 TRIPINFO = RIP_INFO; 2409 PRIPINFO = ^RIP_INFO; 2410 2411 DEBUG_EVENT = record 2412 dwDebugEventCode : DWORD; 2413 dwProcessId : DWORD; 2414 dwThreadId : DWORD; 2415 u : record 2416 case longint of 2417 0 : ( Exception : EXCEPTION_DEBUG_INFO ); 2418 1 : ( CreateThread : CREATE_THREAD_DEBUG_INFO ); 2419 2 : ( CreateProcessInfo : CREATE_PROCESS_DEBUG_INFO ); 2420 3 : ( ExitThread : EXIT_THREAD_DEBUG_INFO ); 2421 4 : ( ExitProcess : EXIT_PROCESS_DEBUG_INFO ); 2422 5 : ( LoadDll : LOAD_DLL_DEBUG_INFO ); 2423 6 : ( UnloadDll : UNLOAD_DLL_DEBUG_INFO ); 2424 7 : ( DebugString : OUTPUT_DEBUG_STRING_INFO ); 2425 8 : ( RipInfo : RIP_INFO ); 2426 end; 2427 end; 2428 LPDEBUG_EVENT = ^DEBUG_EVENT; 2429 _DEBUG_EVENT = DEBUG_EVENT; 2430 TDEBUGEVENT = DEBUG_EVENT; 2431 PDEBUGEVENT = ^DEBUG_EVENT; 2432 2433 DEBUGHOOKINFO = record 2434 idThread : DWORD; 2435 idThreadInstaller : DWORD; 2436 lParam : LPARAM; 2437 wParam : WPARAM; 2438 code : longint; 2439 end; 2440 tagDEBUGHOOKINFO = DEBUGHOOKINFO; 2441 TDEBUGHOOKINFO = DEBUGHOOKINFO; 2442 PDEBUGHOOKINFO = ^DEBUGHOOKINFO; 2443 2444 DELETEITEMSTRUCT = record 2445 CtlType : UINT; 2446 CtlID : UINT; 2447 itemID : UINT; 2448 hwndItem : HWND; 2449 itemData : UINT; 2450 end; 2451 tagDELETEITEMSTRUCT = DELETEITEMSTRUCT; 2452 TDELETEITEMSTRUCT = DELETEITEMSTRUCT; 2453 PDELETEITEMSTRUCT = ^DELETEITEMSTRUCT; 2454 2455 DEV_BROADCAST_HDR = record 2456 dbch_size : ULONG; 2457 dbch_devicetype : ULONG; 2458 dbch_reserved : ULONG; 2459 end; 2460 PDEV_BROADCAST_HDR = ^DEV_BROADCAST_HDR; 2461 _DEV_BROADCAST_HDR = DEV_BROADCAST_HDR; 2462 TDEVBROADCASTHDR = DEV_BROADCAST_HDR; 2463 PDEVBROADCASTHDR = ^DEV_BROADCAST_HDR; 2464 2465 DEV_BROADCAST_OEM = record 2466 dbco_size : ULONG; 2467 dbco_devicetype : ULONG; 2468 dbco_reserved : ULONG; 2469 dbco_identifier : ULONG; 2470 dbco_suppfunc : ULONG; 2471 end; 2472 PDEV_BROADCAST_OEM = ^DEV_BROADCAST_OEM; 2473 _DEV_BROADCAST_OEM = DEV_BROADCAST_OEM; 2474 TDEVBROADCASTOEM = DEV_BROADCAST_OEM; 2475 PDEVBROADCASTOEM = ^DEV_BROADCAST_OEM; 2476 2477 DEV_BROADCAST_PORT = record 2478 dbcp_size : ULONG; 2479 dbcp_devicetype : ULONG; 2480 dbcp_reserved : ULONG; 2481 dbcp_name : array[0..0] of char; 2482 end; 2483 PDEV_BROADCAST_PORT = ^DEV_BROADCAST_PORT; 2484 _DEV_BROADCAST_PORT = DEV_BROADCAST_PORT; 2485 TDEVBROADCASTPORT = DEV_BROADCAST_PORT; 2486 PDEVBROADCASTPORT = ^DEV_BROADCAST_PORT; 2487 2488 _DEV_BROADCAST_USERDEFINED = record 2489 dbud_dbh : _DEV_BROADCAST_HDR; 2490 dbud_szName : array[0..0] of char; 2491 dbud_rgbUserDefined : array[0..0] of BYTE; 2492 end; 2493 TDEVBROADCASTUSERDEFINED = _DEV_BROADCAST_USERDEFINED; 2494 PDEVBROADCASTUSERDEFINED = ^_DEV_BROADCAST_USERDEFINED; 2495 2496 DEV_BROADCAST_VOLUME = record 2497 dbcv_size : ULONG; 2498 dbcv_devicetype : ULONG; 2499 dbcv_reserved : ULONG; 2500 dbcv_unitmask : ULONG; 2501 dbcv_flags : USHORT; 2502 end; 2503 PDEV_BROADCAST_VOLUME = ^DEV_BROADCAST_VOLUME; 2504 _DEV_BROADCAST_VOLUME = DEV_BROADCAST_VOLUME; 2505 TDEVBROADCASTVOLUME = DEV_BROADCAST_VOLUME; 2506 PDEVBROADCASTVOLUME = ^DEV_BROADCAST_VOLUME; 2507 2508 DEVMODEA = record 2509 dmDeviceName : array[0.. CCHDEVICENAME-1] of BCHAR; 2510 dmSpecVersion : WORD; 2511 dmDriverVersion: WORD; 2512 dmSize : WORD; 2513 dmDriverExtra : WORD; 2514 dmFields : DWORD; 2515 dmOrientation : short; 2516 dmPaperSize : short; 2517 dmPaperLength : short; 2518 dmPaperWidth : short; 2519 dmScale : short; 2520 dmCopies : short; 2521 dmDefaultSource: short; 2522 dmPrintQuality : short; 2523 dmColor : short; 2524 dmDuplex : short; 2525 dmYResolution : short; 2526 dmTTOption : short; 2527 dmCollate : short; 2528 dmFormName : array [0..CCHFORMNAME-1] of BCHAR; 2529 dmLogPixels : WORD; 2530 dmBitsPerPel : DWORD; 2531 dmPelsWidth : DWORD; 2532 dmPelsHeight : DWORD; 2533 dmDisplayFlags : DWORD; 2534 dmDisplayFrequency : DWORD; 2535 dmICMMethod : DWORD; 2536 dmICMIntent : DWORD; 2537 dmMediaType : DWORD; 2538 dmDitherType : DWORD; 2539 dmReserved1 : DWORD; 2540 dmReserved2 : DWORD; 2541 dmPanningWidth : DWORD; 2542 dmPanningHeight: DWORD; 2543 dmDisplayOrientation : DWORD; 2544 end; 2545 _DEVICEMODE1=DEVMODEA; 2546 PDEVMODEA=^DEVMODEA; 2547 NPDEVMODEA=^DEVMODEA; 2548 LPDEVMODEA=^DEVMODEA; 2549 2550 DEVMODEW = record 2551 dmDeviceName : array[0.. CCHDEVICENAME-1] of WCHAR; 2552 dmSpecVersion : WORD; 2553 dmDriverVersion: WORD; 2554 dmSize : WORD; 2555 dmDriverExtra : WORD; 2556 dmFields : DWORD; 2557 dmOrientation : short; 2558 dmPaperSize : short; 2559 dmPaperLength : short; 2560 dmPaperWidth : short; 2561 dmScale : short; 2562 dmCopies : short; 2563 dmDefaultSource: short; 2564 dmPrintQuality : short; 2565 dmColor : short; 2566 dmDuplex : short; 2567 dmYResolution : short; 2568 dmTTOption : short; 2569 dmCollate : short; 2570 dmFormName : array [0..CCHFORMNAME-1] of wchar; 2571 dmLogPixels : WORD; 2572 dmBitsPerPel : DWORD; 2573 dmPelsWidth : DWORD; 2574 dmPelsHeight : DWORD; 2575 dmDisplayFlags : DWORD; 2576 dmDisplayFrequency : DWORD; 2577 dmDisplayOrientation : DWORD; 2578 end; 2579 2580 LPDEVMODEW = ^DEVMODEW; 2581 _devicemodeW = DEVMODEW; 2582 devicemodeW = DEVMODEW; 2583 TDeviceModeW = DEVMODEW; 2584 PDeviceModeW = LPDEVMODEW; 2585 TDEVMODEW = DEVMODEW; 2586 PDEVMODEW = LPDEVMODEW; 2587 2588{$IFDEF UNICODE} 2589 DEVMODE=DEVMODEW; 2590 LPDEVMODE = ^DEVMODEW; 2591 _devicemode = DEVMODEW; 2592 devicemode = DEVMODEW; 2593 tdevicemode = DEVMODEW; 2594 tdevicemodeA = DEVMODEW; 2595 PDeviceModeA = LPDEVMODEW; 2596 PDeviceMode = LPDEVMODEW; 2597 TDEVMODE = DEVMODEW; 2598 PDEVMODE = LPDEVMODEW; 2599{$ELSE UNICODE} 2600 DEVMODE=DEVMODEA; 2601 LPDEVMODE = ^DEVMODEA; 2602 _devicemode = DEVMODEA; 2603 devicemode = DEVMODEA; 2604 tdevicemode = DEVMODEA; 2605 tdevicemodeA = DEVMODEA; 2606 PDeviceModeA = LPDEVMODEA; 2607 PDeviceMode = LPDEVMODEA; 2608 TDEVMODE = DEVMODEA; 2609 PDEVMODE = LPDEVMODEA; 2610{$ENDIF UNICODE} 2611 2612 DEVNAMES = record 2613 wDriverOffset : WORD; 2614 wDeviceOffset : WORD; 2615 wOutputOffset : WORD; 2616 wDefault : WORD; 2617 end; 2618 LPDEVNAMES = ^DEVNAMES; 2619 tagDEVNAMES = DEVNAMES; 2620 TDEVNAMES = DEVNAMES; 2621 PDEVNAMES = ^DEVNAMES; 2622 2623 DIBSECTION = record 2624 dsBm : BITMAP; 2625 dsBmih : BITMAPINFOHEADER; 2626 dsBitfields : array[0..2] of DWORD; 2627 dshSection : HANDLE; 2628 dsOffset : DWORD; 2629 end; 2630 tagDIBSECTION = DIBSECTION; 2631 TDIBSECTION = DIBSECTION; 2632 PDIBSECTION = ^DIBSECTION; 2633 2634 LARGE_INTEGER = record //winnt 2635 case byte of 2636 0: (LowPart : DWORD; 2637 HighPart : LONG); 2638 1: (QuadPart : LONGLONG); 2639 end; 2640 PLARGE_INTEGER = ^LARGE_INTEGER; //winnt 2641 _LARGE_INTEGER = LARGE_INTEGER; //winnt 2642 2643 TLargeInteger = Int64; 2644 PLargeInteger = ^TLargeInteger; 2645 2646 ULARGE_INTEGER = record 2647 case byte of 2648 0: (LowPart : DWORD; 2649 HighPart : DWORD); 2650 1: (QuadPart : LONGLONG); 2651 end; 2652 PULARGE_INTEGER = ^ULARGE_INTEGER; 2653 _ULARGE_INTEGER = ULARGE_INTEGER; 2654 2655 TULargeInteger = QWord; 2656 PULargeInteger = ^TULargeInteger; 2657 2658 DISK_GEOMETRY = record 2659 Cylinders : LARGE_INTEGER; 2660 MediaType : MEDIA_TYPE; 2661 TracksPerCylinder : DWORD; 2662 SectorsPerTrack : DWORD; 2663 BytesPerSector : DWORD; 2664 end; 2665 _DISK_GEOMETRY = DISK_GEOMETRY; 2666 TDISKGEOMETRY = DISK_GEOMETRY; 2667 PDISKGEOMETRY = ^DISK_GEOMETRY; 2668 2669 DISK_PERFORMANCE = record 2670 BytesRead : LARGE_INTEGER; 2671 BytesWritten : LARGE_INTEGER; 2672 ReadTime : LARGE_INTEGER; 2673 WriteTime : LARGE_INTEGER; 2674 ReadCount : DWORD; 2675 WriteCount : DWORD; 2676 QueueDepth : DWORD; 2677 end; 2678 _DISK_PERFORMANCE = DISK_PERFORMANCE; 2679 TDISKPERFORMANCE = DISK_PERFORMANCE; 2680 PDISKPERFORMANCE = ^DISK_PERFORMANCE; 2681 2682 DLGITEMTEMPLATE = packed record 2683 style : DWORD; 2684 dwExtendedStyle : DWORD; 2685 x : integer; 2686 y : integer; 2687 cx : integer; 2688 cy : integer; 2689 id : WORD; 2690 end; 2691 LPDLGITEMTEMPLATE = ^DLGITEMTEMPLATE; 2692 TDLGITEMTEMPLATE = DLGITEMTEMPLATE; 2693 PDLGITEMTEMPLATE = ^DLGITEMTEMPLATE; 2694 2695 DLGTEMPLATE = packed record 2696 style : DWORD; 2697 dwExtendedStyle : DWORD; 2698 cdit : WORD; 2699 x : integer; 2700 y : integer; 2701 cx : integer; 2702 cy : integer; 2703 end; 2704 LPDLGTEMPLATE = ^DLGTEMPLATE; 2705 LPCDLGTEMPLATE = ^DLGTEMPLATE; 2706 LPCDLGTEMPLATEW = ^DLGTEMPLATE; //+winuser 2707 TDLGTEMPLATE = DLGTEMPLATE; 2708 PDLGTEMPLATE = ^DLGTEMPLATE; 2709 2710 DOC_INFO_1 = record 2711 pDocName : LPTSTR; 2712 pOutputFile : LPTSTR; 2713 pDatatype : LPTSTR; 2714 end; 2715 _DOC_INFO_1 = DOC_INFO_1; 2716 TDOCINFO1 = DOC_INFO_1; 2717 PDOCINFO1 = ^DOC_INFO_1; 2718 2719 DOC_INFO_2 = record 2720 pDocName : LPTSTR; 2721 pOutputFile : LPTSTR; 2722 pDatatype : LPTSTR; 2723 dwMode : DWORD; 2724 JobId : DWORD; 2725 end; 2726 _DOC_INFO_2 = DOC_INFO_2; 2727 TDOCINFO2 = DOC_INFO_2; 2728 PDOCINFO2 = ^DOC_INFO_2; 2729 2730 DOCINFO = record //+wingdi 2731 cbSize : Integer; 2732 lpszDocName : LPCWSTR; 2733 lpszOutput : LPCWSTR; 2734 lpszDatatype : LPCWSTR; 2735 fwType : DWORD; 2736 end; 2737 TDOCINFO = DOCINFO; 2738 PDOCINFO = ^DOCINFO; 2739 DOCINFOW = DOCINFO; 2740 TDOCINFOW = DOCINFOW; 2741 _DOCINFOW=DOCINFOW; //+wingdi 2742 LPDOCINFOW=^PDOCINFO; //+wingdi 2743 PDOCINFOW=^PDOCINFO; //+wingdi 2744 2745 DRAGLISTINFO = record 2746 uNotification : UINT; 2747 hWnd : HWND; 2748 ptCursor : POINT; 2749 end; 2750 LPDRAGLISTINFO = ^DRAGLISTINFO; 2751 TDRAGLISTINFO = DRAGLISTINFO; 2752 PDRAGLISTINFO = ^DRAGLISTINFO; 2753 2754 DRAWITEMSTRUCT = record 2755 CtlType : UINT; 2756 CtlID : UINT; 2757 itemID : UINT; 2758 itemAction : UINT; 2759 itemState : UINT; 2760 hwndItem : HWND; 2761 hDC : HDC; 2762 rcItem : RECT; 2763 itemData : DWORD; 2764 end; 2765 LPDRAWITEMSTRUCT = ^DRAWITEMSTRUCT; 2766 tagDRAWITEMSTRUCT = DRAWITEMSTRUCT; 2767 TDRAWITEMSTRUCT = DRAWITEMSTRUCT; 2768 PDRAWITEMSTRUCT = ^DRAWITEMSTRUCT; 2769 2770 DRAWTEXTPARAMS = record 2771 cbSize : UINT; 2772 iTabLength : longint; 2773 iLeftMargin : longint; 2774 iRightMargin : longint; 2775 uiLengthDrawn : UINT; 2776 end; 2777 LPDRAWTEXTPARAMS = ^DRAWTEXTPARAMS; 2778 TDRAWTEXTPARAMS = DRAWTEXTPARAMS; 2779 PDRAWTEXTPARAMS = ^DRAWTEXTPARAMS; 2780 2781 PARTITION_INFORMATION = record 2782 PartitionType : BYTE; 2783 BootIndicator : BOOLEAN; 2784 RecognizedPartition : BOOLEAN; 2785 RewritePartition : BOOLEAN; 2786 StartingOffset : LARGE_INTEGER; 2787 PartitionLength : LARGE_INTEGER; 2788 HiddenSectors : LARGE_INTEGER; 2789 end; 2790 _PARTITION_INFORMATION = PARTITION_INFORMATION; 2791 TPARTITIONINFORMATION = PARTITION_INFORMATION; 2792 PPARTITIONINFORMATION = ^PARTITION_INFORMATION; 2793 2794 DRIVE_LAYOUT_INFORMATION = record 2795 PartitionCount : DWORD; 2796 Signature : DWORD; 2797 PartitionEntry : array[0..0] of PARTITION_INFORMATION; 2798 end; 2799 _DRIVE_LAYOUT_INFORMATION = DRIVE_LAYOUT_INFORMATION; 2800 TDRIVELAYOUTINFORMATION = DRIVE_LAYOUT_INFORMATION; 2801 PDRIVELAYOUTINFORMATION = ^DRIVE_LAYOUT_INFORMATION; 2802 2803 DRIVER_INFO_1 = record 2804 pName : LPTSTR; 2805 end; 2806 _DRIVER_INFO_1 = DRIVER_INFO_1; 2807 TDRIVERINFO1 = DRIVER_INFO_1; 2808 PDRIVERINFO1 = ^DRIVER_INFO_1; 2809 2810 DRIVER_INFO_2 = record 2811 cVersion : DWORD; 2812 pName : LPTSTR; 2813 pEnvironment : LPTSTR; 2814 pDriverPath : LPTSTR; 2815 pDataFile : LPTSTR; 2816 pConfigFile : LPTSTR; 2817 end; 2818 _DRIVER_INFO_2 = DRIVER_INFO_2; 2819 TDRIVERINFO2 = DRIVER_INFO_2; 2820 PDRIVERINFO2 = ^DRIVER_INFO_2; 2821 2822 DRIVER_INFO_3 = record 2823 cVersion : DWORD; 2824 pName : LPTSTR; 2825 pEnvironment : LPTSTR; 2826 pDriverPath : LPTSTR; 2827 pDataFile : LPTSTR; 2828 pConfigFile : LPTSTR; 2829 pHelpFile : LPTSTR; 2830 pDependentFiles : LPTSTR; 2831 pMonitorName : LPTSTR; 2832 pDefaultDataType : LPTSTR; 2833 end; 2834 _DRIVER_INFO_3 = DRIVER_INFO_3; 2835 TDRIVERINFO3 = DRIVER_INFO_3; 2836 PDRIVERINFO3 = ^DRIVER_INFO_3; 2837 2838 EDITSTREAM = record 2839 dwCookie : DWORD; 2840 dwError : DWORD; 2841 pfnCallback : EDITSTREAMCALLBACK; 2842 end; 2843 _editstream = EDITSTREAM; 2844 Teditstream = EDITSTREAM; 2845 Peditstream = ^EDITSTREAM; 2846 2847 EMR = record 2848 iType : DWORD; 2849 nSize : DWORD; 2850 end; 2851 tagEMR = EMR; 2852 TEMR = EMR; 2853 PEMR = ^EMR; 2854 2855 EMRANGLEARC = record 2856 emr : EMR; 2857 ptlCenter : POINTL; 2858 nRadius : DWORD; 2859 eStartAngle : Single; 2860 eSweepAngle : Single; 2861 end; 2862 tagEMRANGLEARC = EMRANGLEARC; 2863 TEMRANGLEARC = EMRANGLEARC; 2864 PEMRANGLEARC = ^EMRANGLEARC; 2865 2866 EMRARC = record 2867 emr : EMR; 2868 rclBox : RECTL; 2869 ptlStart : POINTL; 2870 ptlEnd : POINTL; 2871 end; 2872 tagEMRARC = EMRARC; 2873 TEMRARC = EMRARC; 2874 PEMRARC = ^EMRARC; 2875 2876 EMRARCTO = EMRARC; 2877 TEMRARCTO = EMRARC; 2878 PEMRARCTO = ^EMRARC; 2879 2880 EMRCHORD = EMRARC; 2881 TEMRCHORD = EMRARC; 2882 PEMRCHORD = ^EMRARC; 2883 2884 EMRPIE = EMRARC; 2885 TEMRPIE = EMRARC; 2886 PEMRPIE = ^EMRARC; 2887 2888 XFORM = record 2889 eM11 : Single; 2890 eM12 : Single; 2891 eM21 : Single; 2892 eM22 : Single; 2893 eDx : Single; 2894 eDy : Single; 2895 end; 2896 LPXFORM = ^XFORM; 2897 _XFORM = XFORM; 2898 TXFORM = XFORM; 2899 PXFORM = ^XFORM; 2900 2901 EMRBITBLT = record 2902 emr : EMR; 2903 rclBounds : RECTL; 2904 xDest : LONG; 2905 yDest : LONG; 2906 cxDest : LONG; 2907 cyDest : LONG; 2908 dwRop : DWORD; 2909 xSrc : LONG; 2910 ySrc : LONG; 2911 xformSrc : XFORM; 2912 crBkColorSrc : COLORREF; 2913 iUsageSrc : DWORD; 2914 offBmiSrc : DWORD; 2915 offBitsSrc : DWORD; 2916 cbBitsSrc : DWORD; 2917 end; 2918 tagEMRBITBLT = EMRBITBLT; 2919 TEMRBITBLT = EMRBITBLT; 2920 PEMRBITBLT = ^EMRBITBLT; 2921 2922 LOGBRUSH = record 2923 lbStyle : UINT; 2924 lbColor : COLORREF; 2925 lbHatch : LONG; 2926 end; 2927 tagLOGBRUSH = LOGBRUSH; 2928 TLOGBRUSH = LOGBRUSH; 2929 PLOGBRUSH = ^LOGBRUSH; 2930 2931 EMRCREATEBRUSHINDIRECT = record 2932 emr : EMR; 2933 ihBrush : DWORD; 2934 lb : LOGBRUSH; 2935 end; 2936 tagEMRCREATEBRUSHINDIRECT = EMRCREATEBRUSHINDIRECT; 2937 TEMRCREATEBRUSHINDIRECT = EMRCREATEBRUSHINDIRECT; 2938 PEMRCREATEBRUSHINDIRECT = ^EMRCREATEBRUSHINDIRECT; 2939 2940 LCSCSTYPE = LONG; 2941 2942 LCSGAMUTMATCH = LONG; 2943 2944 LOGCOLORSPACE = record 2945 lcsSignature : DWORD; 2946 lcsVersion : DWORD; 2947 lcsSize : DWORD; 2948 lcsCSType : LCSCSTYPE; 2949 lcsIntent : LCSGAMUTMATCH; 2950 lcsEndpoints : CIEXYZTRIPLE; 2951 lcsGammaRed : DWORD; 2952 lcsGammaGreen : DWORD; 2953 lcsGammaBlue : DWORD; 2954 lcsFilename : array[0..(MAX_PATH)-1] of TCHAR; 2955 end; 2956 LPLOGCOLORSPACE = ^LOGCOLORSPACE; 2957 tagLOGCOLORSPACE = LOGCOLORSPACE; 2958 TLOGCOLORSPACE = LOGCOLORSPACE; 2959 TLOGCOLORSPACEA = LOGCOLORSPACE; 2960 PLOGCOLORSPACE = ^LOGCOLORSPACE; 2961 2962 EMRCREATECOLORSPACE = record 2963 emr : EMR; 2964 ihCS : DWORD; 2965 lcs : LOGCOLORSPACE; 2966 end; 2967 tagEMRCREATECOLORSPACE = EMRCREATECOLORSPACE; 2968 TEMRCREATECOLORSPACE = EMRCREATECOLORSPACE; 2969 PEMRCREATECOLORSPACE = ^EMRCREATECOLORSPACE; 2970 2971 EMRCREATEDIBPATTERNBRUSHPT = record 2972 emr : EMR; 2973 ihBrush : DWORD; 2974 iUsage : DWORD; 2975 offBmi : DWORD; 2976 cbBmi : DWORD; 2977 offBits : DWORD; 2978 cbBits : DWORD; 2979 end; 2980 tagEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; 2981 TEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; 2982 PEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; 2983 2984 EMRCREATEMONOBRUSH = record 2985 emr : EMR; 2986 ihBrush : DWORD; 2987 iUsage : DWORD; 2988 offBmi : DWORD; 2989 cbBmi : DWORD; 2990 offBits : DWORD; 2991 cbBits : DWORD; 2992 end; 2993 tagEMRCREATEMONOBRUSH = EMRCREATEMONOBRUSH; 2994 TEMRCREATEMONOBRUSH = EMRCREATEMONOBRUSH; 2995 PEMRCREATEMONOBRUSH = ^EMRCREATEMONOBRUSH; 2996 2997 PALETTEENTRY = record 2998 peRed : BYTE; 2999 peGreen : BYTE; 3000 peBlue : BYTE; 3001 peFlags : BYTE; 3002 end; 3003 LPPALETTEENTRY = ^PALETTEENTRY; 3004 tagPALETTEENTRY = PALETTEENTRY; 3005 TPALETTEENTRY = PALETTEENTRY; 3006 PPALETTEENTRY = ^PALETTEENTRY; 3007 3008 LOGPALETTE = record 3009 palVersion : WORD; 3010 palNumEntries : WORD; 3011 palPalEntry : array[0..0] of PALETTEENTRY; 3012 end; 3013 LPLOGPALETTE = ^LOGPALETTE; 3014 tagLOGPALETTE = LOGPALETTE; 3015 TLOGPALETTE = LOGPALETTE; 3016 PLOGPALETTE = ^LOGPALETTE; 3017 3018 EMRCREATEPALETTE = record 3019 emr : EMR; 3020 ihPal : DWORD; 3021 lgpl : LOGPALETTE; 3022 end; 3023 tagEMRCREATEPALETTE = EMRCREATEPALETTE; 3024 TEMRCREATEPALETTE = EMRCREATEPALETTE; 3025 PEMRCREATEPALETTE = ^EMRCREATEPALETTE; 3026 3027 LOGPEN = record 3028 lopnStyle : UINT; 3029 lopnWidth : POINT; 3030 lopnColor : COLORREF; 3031 end; 3032 tagLOGPEN = LOGPEN; 3033 TLOGPEN = LOGPEN; 3034 PLOGPEN = ^LOGPEN; 3035 3036 EMRCREATEPEN = record 3037 emr : EMR; 3038 ihPen : DWORD; 3039 lopn : LOGPEN; 3040 end; 3041 tagEMRCREATEPEN = EMRCREATEPEN; 3042 TEMRCREATEPEN = EMRCREATEPEN; 3043 PEMRCREATEPEN = ^EMRCREATEPEN; 3044 3045 EMRELLIPSE = record 3046 emr : EMR; 3047 rclBox : RECTL; 3048 end; 3049 tagEMRELLIPSE = EMRELLIPSE; 3050 TEMRELLIPSE = EMRELLIPSE; 3051 PEMRELLIPSE = ^EMRELLIPSE; 3052 3053 EMRRECTANGLE = EMRELLIPSE; 3054 TEMRRECTANGLE = EMRELLIPSE; 3055 PEMRRECTANGLE = ^EMRELLIPSE; 3056 3057 EMREOF = record 3058 emr : EMR; 3059 nPalEntries : DWORD; 3060 offPalEntries : DWORD; 3061 nSizeLast : DWORD; 3062 end; 3063 tagEMREOF = EMREOF; 3064 TEMREOF = EMREOF; 3065 PEMREOF = ^EMREOF; 3066 3067 EMREXCLUDECLIPRECT = record 3068 emr : EMR; 3069 rclClip : RECTL; 3070 end; 3071 tagEMREXCLUDECLIPRECT = EMREXCLUDECLIPRECT; 3072 TEMREXCLUDECLIPRECT = EMREXCLUDECLIPRECT; 3073 PEMREXCLUDECLIPRECT = ^EMREXCLUDECLIPRECT; 3074 3075 EMRINTERSECTCLIPRECT = EMREXCLUDECLIPRECT; 3076 TEMRINTERSECTCLIPRECT = EMREXCLUDECLIPRECT; 3077 PEMRINTERSECTCLIPRECT = ^EMREXCLUDECLIPRECT; 3078 3079 PANOSE = record 3080 bFamilyType : BYTE; 3081 bSerifStyle : BYTE; 3082 bWeight : BYTE; 3083 bProportion : BYTE; 3084 bContrast : BYTE; 3085 bStrokeVariation : BYTE; 3086 bArmStyle : BYTE; 3087 bLetterform : BYTE; 3088 bMidline : BYTE; 3089 bXHeight : BYTE; 3090 end; 3091 tagPANOSE = PANOSE; 3092 TPANOSE = PANOSE; 3093 PPANOSE = ^PANOSE; 3094 3095 EXTLOGFONT = record 3096 elfLogFont : LOGFONT; 3097 elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR; 3098 elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR; 3099 elfVersion : DWORD; 3100 elfStyleSize : DWORD; 3101 elfMatch : DWORD; 3102 elfReserved : DWORD; 3103 elfVendorId : array[0..(ELF_VENDOR_SIZE)-1] of BYTE; 3104 elfCulture : DWORD; 3105 elfPanose : PANOSE; 3106 end; 3107 tagEXTLOGFONT = EXTLOGFONT; 3108 TEXTLOGFONT = EXTLOGFONT; 3109 PEXTLOGFONT = ^EXTLOGFONT; 3110 3111 EMREXTCREATEFONTINDIRECTW = record 3112 emr : EMR; 3113 ihFont : DWORD; 3114 elfw : EXTLOGFONT; 3115 end; 3116 tagEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW; 3117 TEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW; 3118 PEMREXTCREATEFONTINDIRECTW = ^EMREXTCREATEFONTINDIRECTW; 3119 3120 3121 EXTLOGPEN = record 3122 elpPenStyle : UINT; 3123 elpWidth : UINT; 3124 elpBrushStyle : UINT; 3125 elpColor : COLORREF; 3126 elpHatch : LONG; 3127 elpNumEntries : DWORD; 3128 elpStyleEntry : array[0..0] of DWORD; 3129 end; 3130 tagEXTLOGPEN = EXTLOGPEN; 3131 TEXTLOGPEN = EXTLOGPEN; 3132 PEXTLOGPEN = ^EXTLOGPEN; 3133 3134 EMREXTCREATEPEN = record 3135 emr : EMR; 3136 ihPen : DWORD; 3137 offBmi : DWORD; 3138 cbBmi : DWORD; 3139 offBits : DWORD; 3140 cbBits : DWORD; 3141 elp : EXTLOGPEN; 3142 end; 3143 tagEMREXTCREATEPEN = EMREXTCREATEPEN; 3144 TEMREXTCREATEPEN = EMREXTCREATEPEN; 3145 PEMREXTCREATEPEN = ^EMREXTCREATEPEN; 3146 3147 EMREXTFLOODFILL = record 3148 emr : EMR; 3149 ptlStart : POINTL; 3150 crColor : COLORREF; 3151 iMode : DWORD; 3152 end; 3153 tagEMREXTFLOODFILL = EMREXTFLOODFILL; 3154 TEMREXTFLOODFILL = EMREXTFLOODFILL; 3155 PEMREXTFLOODFILL = ^EMREXTFLOODFILL; 3156 3157 EMREXTSELECTCLIPRGN = record 3158 emr : EMR; 3159 cbRgnData : DWORD; 3160 iMode : DWORD; 3161 RgnData : array[0..0] of BYTE; 3162 end; 3163 tagEMREXTSELECTCLIPRGN = EMREXTSELECTCLIPRGN; 3164 TEMREXTSELECTCLIPRGN = EMREXTSELECTCLIPRGN; 3165 PEMREXTSELECTCLIPRGN = ^EMREXTSELECTCLIPRGN; 3166 3167 EMRTEXT = record 3168 ptlReference : POINTL; 3169 nChars : DWORD; 3170 offString : DWORD; 3171 fOptions : DWORD; 3172 rcl : RECTL; 3173 offDx : DWORD; 3174 end; 3175 tagEMRTEXT = EMRTEXT; 3176 TEMRTEXT = EMRTEXT; 3177 PEMRTEXT = ^EMRTEXT; 3178 3179 EMREXTTEXTOUTA = record 3180 emr : EMR; 3181 rclBounds : RECTL; 3182 iGraphicsMode : DWORD; 3183 exScale : Single; 3184 eyScale : Single; 3185 emrtext : EMRTEXT; 3186 end; 3187 tagEMREXTTEXTOUTA = EMREXTTEXTOUTA; 3188 TEMREXTTEXTOUTA = EMREXTTEXTOUTA; 3189 PEMREXTTEXTOUTA = ^EMREXTTEXTOUTA; 3190 3191 EMREXTTEXTOUTW = EMREXTTEXTOUTA; 3192 TEMREXTTEXTOUTW = EMREXTTEXTOUTA; 3193 PEMREXTTEXTOUTW = ^EMREXTTEXTOUTA; 3194 3195 EMRFILLPATH = record 3196 emr : EMR; 3197 rclBounds : RECTL; 3198 end; 3199 tagEMRFILLPATH = EMRFILLPATH; 3200 TEMRFILLPATH = EMRFILLPATH; 3201 PEMRFILLPATH = ^EMRFILLPATH; 3202 3203 EMRSTROKEANDFILLPATH = EMRFILLPATH; 3204 TEMRSTROKEANDFILLPATH = EMRFILLPATH; 3205 PEMRSTROKEANDFILLPATH = ^EMRFILLPATH; 3206 3207 EMRSTROKEPATH = EMRFILLPATH; 3208 TEMRSTROKEPATH = EMRFILLPATH; 3209 PEMRSTROKEPATH = ^EMRFILLPATH; 3210 3211 EMRFILLRGN = record 3212 emr : EMR; 3213 rclBounds : RECTL; 3214 cbRgnData : DWORD; 3215 ihBrush : DWORD; 3216 RgnData : array[0..0] of BYTE; 3217 end; 3218 tagEMRFILLRGN = EMRFILLRGN; 3219 TEMRFILLRGN = EMRFILLRGN; 3220 PEMRFILLRGN = ^EMRFILLRGN; 3221 3222 EMRFORMAT = record 3223 dSignature : DWORD; 3224 nVersion : DWORD; 3225 cbData : DWORD; 3226 offData : DWORD; 3227 end; 3228 tagEMRFORMAT = EMRFORMAT; 3229 TEMRFORMAT = EMRFORMAT; 3230 PEMRFORMAT = ^EMRFORMAT; 3231 3232 SIZE = TSize; 3233 LPSIZE = PSIZE; 3234 tagSIZE = SIZE; 3235 3236 SIZEL = SIZE; //windef 3237 TSIZEL = SIZE; //windef 3238 PSIZEL = ^SIZE; 3239 LPSIZEL = ^SIZE; 3240 3241 EMRFRAMERGN = record 3242 emr : EMR; 3243 rclBounds : RECTL; 3244 cbRgnData : DWORD; 3245 ihBrush : DWORD; 3246 szlStroke : SIZEL; 3247 RgnData : array[0..0] of BYTE; 3248 end; 3249 tagEMRFRAMERGN = EMRFRAMERGN; 3250 TEMRFRAMERGN = EMRFRAMERGN; 3251 PEMRFRAMERGN = ^EMRFRAMERGN; 3252 3253 EMRGDICOMMENT = record 3254 emr : EMR; 3255 cbData : DWORD; 3256 Data : array[0..0] of BYTE; 3257 end; 3258 tagEMRGDICOMMENT = EMRGDICOMMENT; 3259 TEMRGDICOMMENT = EMRGDICOMMENT; 3260 PEMRGDICOMMENT = ^EMRGDICOMMENT; 3261 3262 EMRINVERTRGN = record 3263 emr : EMR; 3264 rclBounds : RECTL; 3265 cbRgnData : DWORD; 3266 RgnData : array[0..0] of BYTE; 3267 end; 3268 tagEMRINVERTRGN = EMRINVERTRGN; 3269 TEMRINVERTRGN = EMRINVERTRGN; 3270 PEMRINVERTRGN = ^EMRINVERTRGN; 3271 3272 EMRPAINTRGN = EMRINVERTRGN; 3273 TEMRPAINTRGN = EMRINVERTRGN; 3274 PEMRPAINTRGN = ^EMRINVERTRGN; 3275 3276 EMRLINETO = record 3277 emr : EMR; 3278 ptl : POINTL; 3279 end; 3280 tagEMRLINETO = EMRLINETO; 3281 TEMRLINETO = EMRLINETO; 3282 PEMRLINETO = ^EMRLINETO; 3283 3284 EMRMOVETOEX = EMRLINETO; 3285 TEMRMOVETOEX = EMRLINETO; 3286 PEMRMOVETOEX = ^EMRLINETO; 3287 3288 EMRMASKBLT = record 3289 emr : EMR; 3290 rclBounds : RECTL; 3291 xDest : LONG; 3292 yDest : LONG; 3293 cxDest : LONG; 3294 cyDest : LONG; 3295 dwRop : DWORD; 3296 xSrc : LONG; 3297 ySrc : LONG; 3298 xformSrc : XFORM; 3299 crBkColorSrc : COLORREF; 3300 iUsageSrc : DWORD; 3301 offBmiSrc : DWORD; 3302 cbBmiSrc : DWORD; 3303 offBitsSrc : DWORD; 3304 cbBitsSrc : DWORD; 3305 xMask : LONG; 3306 yMask : LONG; 3307 iUsageMask : DWORD; 3308 offBmiMask : DWORD; 3309 cbBmiMask : DWORD; 3310 offBitsMask : DWORD; 3311 cbBitsMask : DWORD; 3312 end; 3313 tagEMRMASKBLT = EMRMASKBLT; 3314 TEMRMASKBLT = EMRMASKBLT; 3315 PEMRMASKBLT = ^EMRMASKBLT; 3316 3317 EMRMODIFYWORLDTRANSFORM = record 3318 emr : EMR; 3319 xform : XFORM; 3320 iMode : DWORD; 3321 end; 3322 tagEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; 3323 TEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; 3324 PEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; 3325 3326 EMROFFSETCLIPRGN = record 3327 emr : EMR; 3328 ptlOffset : POINTL; 3329 end; 3330 tagEMROFFSETCLIPRGN = EMROFFSETCLIPRGN; 3331 TEMROFFSETCLIPRGN = EMROFFSETCLIPRGN; 3332 PEMROFFSETCLIPRGN = ^EMROFFSETCLIPRGN; 3333 3334 EMRPLGBLT = record 3335 emr : EMR; 3336 rclBounds : RECTL; 3337 aptlDest : array[0..2] of POINTL; 3338 xSrc : LONG; 3339 ySrc : LONG; 3340 cxSrc : LONG; 3341 cySrc : LONG; 3342 xformSrc : XFORM; 3343 crBkColorSrc : COLORREF; 3344 iUsageSrc : DWORD; 3345 offBmiSrc : DWORD; 3346 cbBmiSrc : DWORD; 3347 offBitsSrc : DWORD; 3348 cbBitsSrc : DWORD; 3349 xMask : LONG; 3350 yMask : LONG; 3351 iUsageMask : DWORD; 3352 offBmiMask : DWORD; 3353 cbBmiMask : DWORD; 3354 offBitsMask : DWORD; 3355 cbBitsMask : DWORD; 3356 end; 3357 tagEMRPLGBLT = EMRPLGBLT; 3358 TEMRPLGBLT = EMRPLGBLT; 3359 PEMRPLGBLT = ^EMRPLGBLT; 3360 3361 EMRPOLYDRAW = record 3362 emr : EMR; 3363 rclBounds : RECTL; 3364 cptl : DWORD; 3365 aptl : array[0..0] of POINTL; 3366 abTypes : array[0..0] of BYTE; 3367 end; 3368 tagEMRPOLYDRAW = EMRPOLYDRAW; 3369 TEMRPOLYDRAW = EMRPOLYDRAW; 3370 PEMRPOLYDRAW = ^EMRPOLYDRAW; 3371 3372 EMRPOLYDRAW16 = record 3373 emr : EMR; 3374 rclBounds : RECTL; 3375 cpts : DWORD; 3376 apts : array[0..0] of POINTS; 3377 abTypes : array[0..0] of BYTE; 3378 end; 3379 tagEMRPOLYDRAW16 = EMRPOLYDRAW16; 3380 TEMRPOLYDRAW16 = EMRPOLYDRAW16; 3381 PEMRPOLYDRAW16 = ^EMRPOLYDRAW16; 3382 3383 EMRPOLYLINE = record 3384 emr : EMR; 3385 rclBounds : RECTL; 3386 cptl : DWORD; 3387 aptl : array[0..0] of POINTL; 3388 end; 3389 tagEMRPOLYLINE = EMRPOLYLINE; 3390 TEMRPOLYLINE = EMRPOLYLINE; 3391 PEMRPOLYLINE = ^EMRPOLYLINE; 3392 3393 EMRPOLYBEZIER = EMRPOLYLINE; 3394 TEMRPOLYBEZIER = EMRPOLYLINE; 3395 PEMRPOLYBEZIER = ^EMRPOLYLINE; 3396 3397 EMRPOLYGON = EMRPOLYLINE; 3398 TEMRPOLYGON = EMRPOLYLINE; 3399 PEMRPOLYGON = ^EMRPOLYLINE; 3400 3401 EMRPOLYBEZIERTO = EMRPOLYLINE; 3402 TEMRPOLYBEZIERTO = EMRPOLYLINE; 3403 PEMRPOLYBEZIERTO = ^EMRPOLYLINE; 3404 3405 EMRPOLYLINETO = EMRPOLYLINE; 3406 TEMRPOLYLINETO = EMRPOLYLINE; 3407 PEMRPOLYLINETO = ^EMRPOLYLINE; 3408 3409 EMRPOLYLINE16 = record 3410 emr : EMR; 3411 rclBounds : RECTL; 3412 cpts : DWORD; 3413 apts : array[0..0] of POINTL; 3414 end; 3415 tagEMRPOLYLINE16 = EMRPOLYLINE16; 3416 TEMRPOLYLINE16 = EMRPOLYLINE16; 3417 PEMRPOLYLINE16 = ^EMRPOLYLINE16; 3418 3419 EMRPOLYBEZIER16 = EMRPOLYLINE16; 3420 TEMRPOLYBEZIER16 = EMRPOLYLINE16; 3421 PEMRPOLYBEZIER16 = ^EMRPOLYLINE16; 3422 3423 EMRPOLYGON16 = EMRPOLYLINE16; 3424 TEMRPOLYGON16 = EMRPOLYLINE16; 3425 PEMRPOLYGON16 = ^EMRPOLYLINE16; 3426 3427 EMRPOLYBEZIERTO16 = EMRPOLYLINE16; 3428 TEMRPOLYBEZIERTO16 = EMRPOLYLINE16; 3429 PEMRPOLYBEZIERTO16 = ^EMRPOLYLINE16; 3430 3431 EMRPOLYLINETO16 = EMRPOLYLINE16; 3432 TEMRPOLYLINETO16 = EMRPOLYLINE16; 3433 PEMRPOLYLINETO16 = ^EMRPOLYLINE16; 3434 3435 EMRPOLYPOLYLINE = record 3436 emr : EMR; 3437 rclBounds : RECTL; 3438 nPolys : DWORD; 3439 cptl : DWORD; 3440 aPolyCounts : array[0..0] of DWORD; 3441 aptl : array[0..0] of POINTL; 3442 end; 3443 tagEMRPOLYPOLYLINE = EMRPOLYPOLYLINE; 3444 TEMRPOLYPOLYLINE = EMRPOLYPOLYLINE; 3445 PEMRPOLYPOLYLINE = ^EMRPOLYPOLYLINE; 3446 3447 EMRPOLYPOLYGON = EMRPOLYPOLYLINE; 3448 TEMRPOLYPOLYGON = EMRPOLYPOLYLINE; 3449 PEMRPOLYPOLYGON = ^EMRPOLYPOLYLINE; 3450 3451 EMRPOLYPOLYLINE16 = record 3452 emr : EMR; 3453 rclBounds : RECTL; 3454 nPolys : DWORD; 3455 cpts : DWORD; 3456 aPolyCounts : array[0..0] of DWORD; 3457 apts : array[0..0] of POINTS; 3458 end; 3459 tagEMRPOLYPOLYLINE16 = EMRPOLYPOLYLINE16; 3460 TEMRPOLYPOLYLINE16 = EMRPOLYPOLYLINE16; 3461 PEMRPOLYPOLYLINE16 = ^EMRPOLYPOLYLINE16; 3462 3463 EMRPOLYPOLYGON16 = EMRPOLYPOLYLINE16; 3464 TEMRPOLYPOLYGON16 = EMRPOLYPOLYLINE16; 3465 PEMRPOLYPOLYGON16 = ^EMRPOLYPOLYLINE16; 3466 3467 EMRPOLYTEXTOUTA = record 3468 emr : EMR; 3469 rclBounds : RECTL; 3470 iGraphicsMode : DWORD; 3471 exScale : Single; 3472 eyScale : Single; 3473 cStrings : LONG; 3474 aemrtext : array[0..0] of EMRTEXT; 3475 end; 3476 tagEMRPOLYTEXTOUTA = EMRPOLYTEXTOUTA; 3477 TEMRPOLYTEXTOUTA = EMRPOLYTEXTOUTA; 3478 PEMRPOLYTEXTOUTA = ^EMRPOLYTEXTOUTA; 3479 3480 EMRPOLYTEXTOUTW = EMRPOLYTEXTOUTA; 3481 TEMRPOLYTEXTOUTW = EMRPOLYTEXTOUTA; 3482 PEMRPOLYTEXTOUTW = ^EMRPOLYTEXTOUTA; 3483 3484 EMRRESIZEPALETTE = record 3485 emr : EMR; 3486 ihPal : DWORD; 3487 cEntries : DWORD; 3488 end; 3489 tagEMRRESIZEPALETTE = EMRRESIZEPALETTE; 3490 TEMRRESIZEPALETTE = EMRRESIZEPALETTE; 3491 PEMRRESIZEPALETTE = ^EMRRESIZEPALETTE; 3492 3493 EMRRESTOREDC = record 3494 emr : EMR; 3495 iRelative : LONG; 3496 end; 3497 tagEMRRESTOREDC = EMRRESTOREDC; 3498 TEMRRESTOREDC = EMRRESTOREDC; 3499 PEMRRESTOREDC = ^EMRRESTOREDC; 3500 3501 EMRROUNDRECT = record 3502 emr : EMR; 3503 rclBox : RECTL; 3504 szlCorner : SIZEL; 3505 end; 3506 tagEMRROUNDRECT = EMRROUNDRECT; 3507 TEMRROUNDRECT = EMRROUNDRECT; 3508 PEMRROUNDRECT = ^EMRROUNDRECT; 3509 3510 EMRSCALEVIEWPORTEXTEX = record 3511 emr : EMR; 3512 xNum : LONG; 3513 xDenom : LONG; 3514 yNum : LONG; 3515 yDenom : LONG; 3516 end; 3517 tagEMRSCALEVIEWPORTEXTEX = EMRSCALEVIEWPORTEXTEX; 3518 TEMRSCALEVIEWPORTEXTEX = EMRSCALEVIEWPORTEXTEX; 3519 PEMRSCALEVIEWPORTEXTEX = ^EMRSCALEVIEWPORTEXTEX; 3520 3521 EMRSCALEWINDOWEXTEX = EMRSCALEVIEWPORTEXTEX; 3522 TEMRSCALEWINDOWEXTEX = EMRSCALEVIEWPORTEXTEX; 3523 PEMRSCALEWINDOWEXTEX = ^EMRSCALEVIEWPORTEXTEX; 3524 3525 EMRSELECTCOLORSPACE = record 3526 emr : EMR; 3527 ihCS : DWORD; 3528 end; 3529 tagEMRSELECTCOLORSPACE = EMRSELECTCOLORSPACE; 3530 TEMRSELECTCOLORSPACE = EMRSELECTCOLORSPACE; 3531 PEMRSELECTCOLORSPACE = ^EMRSELECTCOLORSPACE; 3532 3533 EMRDELETECOLORSPACE = EMRSELECTCOLORSPACE; 3534 TEMRDELETECOLORSPACE = EMRSELECTCOLORSPACE; 3535 PEMRDELETECOLORSPACE = ^EMRSELECTCOLORSPACE; 3536 3537 EMRSELECTOBJECT = record 3538 emr : EMR; 3539 ihObject : DWORD; 3540 end; 3541 tagEMRSELECTOBJECT = EMRSELECTOBJECT; 3542 TEMRSELECTOBJECT = EMRSELECTOBJECT; 3543 PEMRSELECTOBJECT = ^EMRSELECTOBJECT; 3544 3545 EMRDELETEOBJECT = EMRSELECTOBJECT; 3546 TEMRDELETEOBJECT = EMRSELECTOBJECT; 3547 PEMRDELETEOBJECT = ^EMRSELECTOBJECT; 3548 3549 EMRSELECTPALETTE = record 3550 emr : EMR; 3551 ihPal : DWORD; 3552 end; 3553 tagEMRSELECTPALETTE = EMRSELECTPALETTE; 3554 TEMRSELECTPALETTE = EMRSELECTPALETTE; 3555 PEMRSELECTPALETTE = ^EMRSELECTPALETTE; 3556 3557 EMRSETARCDIRECTION = record 3558 emr : EMR; 3559 iArcDirection : DWORD; 3560 end; 3561 tagEMRSETARCDIRECTION = EMRSETARCDIRECTION; 3562 TEMRSETARCDIRECTION = EMRSETARCDIRECTION; 3563 PEMRSETARCDIRECTION = ^EMRSETARCDIRECTION; 3564 3565 EMRSETBKCOLOR = record 3566 emr : EMR; 3567 crColor : COLORREF; 3568 end; 3569 tagEMRSETTEXTCOLOR = EMRSETBKCOLOR; 3570 TEMRSETBKCOLOR = EMRSETBKCOLOR; 3571 PEMRSETBKCOLOR = ^EMRSETBKCOLOR; 3572 3573 EMRSETTEXTCOLOR = EMRSETBKCOLOR; 3574 TEMRSETTEXTCOLOR = EMRSETBKCOLOR; 3575 PEMRSETTEXTCOLOR = ^EMRSETBKCOLOR; 3576 3577 EMRSETCOLORADJUSTMENT = record 3578 emr : EMR; 3579 ColorAdjustment : COLORADJUSTMENT; 3580 end; 3581 tagEMRSETCOLORADJUSTMENT = EMRSETCOLORADJUSTMENT; 3582 TEMRSETCOLORADJUSTMENT = EMRSETCOLORADJUSTMENT; 3583 PEMRSETCOLORADJUSTMENT = ^EMRSETCOLORADJUSTMENT; 3584 3585 EMRSETDIBITSTODEVICE = record 3586 emr : EMR; 3587 rclBounds : RECTL; 3588 xDest : LONG; 3589 yDest : LONG; 3590 xSrc : LONG; 3591 ySrc : LONG; 3592 cxSrc : LONG; 3593 cySrc : LONG; 3594 offBmiSrc : DWORD; 3595 cbBmiSrc : DWORD; 3596 offBitsSrc : DWORD; 3597 cbBitsSrc : DWORD; 3598 iUsageSrc : DWORD; 3599 iStartScan : DWORD; 3600 cScans : DWORD; 3601 end; 3602 tagEMRSETDIBITSTODEVICE = EMRSETDIBITSTODEVICE; 3603 TEMRSETDIBITSTODEVICE = EMRSETDIBITSTODEVICE; 3604 PEMRSETDIBITSTODEVICE = ^EMRSETDIBITSTODEVICE; 3605 3606 EMRSETMAPPERFLAGS = record 3607 emr : EMR; 3608 dwFlags : DWORD; 3609 end; 3610 tagEMRSETMAPPERFLAGS = EMRSETMAPPERFLAGS; 3611 TEMRSETMAPPERFLAGS = EMRSETMAPPERFLAGS; 3612 PEMRSETMAPPERFLAGS = ^EMRSETMAPPERFLAGS; 3613 3614 EMRSETMITERLIMIT = record 3615 emr : EMR; 3616 eMiterLimit : Single; 3617 end; 3618 tagEMRSETMITERLIMIT = EMRSETMITERLIMIT; 3619 TEMRSETMITERLIMIT = EMRSETMITERLIMIT; 3620 PEMRSETMITERLIMIT = ^EMRSETMITERLIMIT; 3621 3622 EMRSETPALETTEENTRIES = record 3623 emr : EMR; 3624 ihPal : DWORD; 3625 iStart : DWORD; 3626 cEntries : DWORD; 3627 aPalEntries : array[0..0] of PALETTEENTRY; 3628 end; 3629 tagEMRSETPALETTEENTRIES = EMRSETPALETTEENTRIES; 3630 TEMRSETPALETTEENTRIES = EMRSETPALETTEENTRIES; 3631 PEMRSETPALETTEENTRIES = ^EMRSETPALETTEENTRIES; 3632 3633 EMRSETPIXELV = record 3634 emr : EMR; 3635 ptlPixel : POINTL; 3636 crColor : COLORREF; 3637 end; 3638 tagEMRSETPIXELV = EMRSETPIXELV; 3639 TEMRSETPIXELV = EMRSETPIXELV; 3640 PEMRSETPIXELV = ^EMRSETPIXELV; 3641 3642 EMRSETVIEWPORTEXTEX = record 3643 emr : EMR; 3644 szlExtent : SIZEL; 3645 end; 3646 tagEMRSETVIEWPORTEXTEX = EMRSETVIEWPORTEXTEX; 3647 TEMRSETVIEWPORTEXTEX = EMRSETVIEWPORTEXTEX; 3648 PEMRSETVIEWPORTEXTEX = ^EMRSETVIEWPORTEXTEX; 3649 3650 EMRSETWINDOWEXTEX = EMRSETVIEWPORTEXTEX; 3651 TEMRSETWINDOWEXTEX = EMRSETVIEWPORTEXTEX; 3652 PEMRSETWINDOWEXTEX = ^EMRSETVIEWPORTEXTEX; 3653 3654 EMRSETVIEWPORTORGEX = record 3655 emr : EMR; 3656 ptlOrigin : POINTL; 3657 end; 3658 tagEMRSETVIEWPORTORGEX = EMRSETVIEWPORTORGEX; 3659 TEMRSETVIEWPORTORGEX = EMRSETVIEWPORTORGEX; 3660 PEMRSETVIEWPORTORGEX = ^EMRSETVIEWPORTORGEX; 3661 3662 EMRSETWINDOWORGEX = EMRSETVIEWPORTORGEX; 3663 TEMRSETWINDOWORGEX = EMRSETVIEWPORTORGEX; 3664 PEMRSETWINDOWORGEX = ^EMRSETVIEWPORTORGEX; 3665 3666 EMRSETBRUSHORGEX = EMRSETVIEWPORTORGEX; 3667 TEMRSETBRUSHORGEX = EMRSETVIEWPORTORGEX; 3668 PEMRSETBRUSHORGEX = ^EMRSETVIEWPORTORGEX; 3669 3670 EMRSETWORLDTRANSFORM = record 3671 emr : EMR; 3672 xform : XFORM; 3673 end; 3674 tagEMRSETWORLDTRANSFORM = EMRSETWORLDTRANSFORM; 3675 TEMRSETWORLDTRANSFORM = EMRSETWORLDTRANSFORM; 3676 PEMRSETWORLDTRANSFORM = ^EMRSETWORLDTRANSFORM; 3677 3678 EMRSTRETCHBLT = record 3679 emr : EMR; 3680 rclBounds : RECTL; 3681 xDest : LONG; 3682 yDest : LONG; 3683 cxDest : LONG; 3684 cyDest : LONG; 3685 dwRop : DWORD; 3686 xSrc : LONG; 3687 ySrc : LONG; 3688 xformSrc : XFORM; 3689 crBkColorSrc : COLORREF; 3690 iUsageSrc : DWORD; 3691 offBmiSrc : DWORD; 3692 cbBmiSrc : DWORD; 3693 offBitsSrc : DWORD; 3694 cbBitsSrc : DWORD; 3695 cxSrc : LONG; 3696 cySrc : LONG; 3697 end; 3698 tagEMRSTRETCHBLT = EMRSTRETCHBLT; 3699 TEMRSTRETCHBLT = EMRSTRETCHBLT; 3700 PEMRSTRETCHBLT = ^EMRSTRETCHBLT; 3701 3702 EMRSTRETCHDIBITS = record 3703 emr : EMR; 3704 rclBounds : RECTL; 3705 xDest : LONG; 3706 yDest : LONG; 3707 xSrc : LONG; 3708 ySrc : LONG; 3709 cxSrc : LONG; 3710 cySrc : LONG; 3711 offBmiSrc : DWORD; 3712 cbBmiSrc : DWORD; 3713 offBitsSrc : DWORD; 3714 cbBitsSrc : DWORD; 3715 iUsageSrc : DWORD; 3716 dwRop : DWORD; 3717 cxDest : LONG; 3718 cyDest : LONG; 3719 end; 3720 tagEMRSTRETCHDIBITS = EMRSTRETCHDIBITS; 3721 TEMRSTRETCHDIBITS = EMRSTRETCHDIBITS; 3722 PEMRSTRETCHDIBITS = ^EMRSTRETCHDIBITS; 3723 3724 EMRABORTPATH = record 3725 emr : EMR; 3726 end; 3727 TEMRABORTPATH = EMRABORTPATH; 3728 PEMRABORTPATH = ^EMRABORTPATH; 3729 3730 tagABORTPATH = EMRABORTPATH; 3731 TABORTPATH = EMRABORTPATH; 3732 3733 EMRBEGINPATH = EMRABORTPATH; 3734 TEMRBEGINPATH = EMRABORTPATH; 3735 PEMRBEGINPATH = ^EMRABORTPATH; 3736 3737 EMRENDPATH = EMRABORTPATH; 3738 TEMRENDPATH = EMRABORTPATH; 3739 PEMRENDPATH = ^EMRABORTPATH; 3740 3741 EMRCLOSEFIGURE = EMRABORTPATH; 3742 TEMRCLOSEFIGURE = EMRABORTPATH; 3743 PEMRCLOSEFIGURE = ^EMRABORTPATH; 3744 3745 EMRFLATTENPATH = EMRABORTPATH; 3746 TEMRFLATTENPATH = EMRABORTPATH; 3747 PEMRFLATTENPATH = ^EMRABORTPATH; 3748 3749 EMRWIDENPATH = EMRABORTPATH; 3750 TEMRWIDENPATH = EMRABORTPATH; 3751 PEMRWIDENPATH = ^EMRABORTPATH; 3752 3753 EMRSETMETARGN = EMRABORTPATH; 3754 TEMRSETMETARGN = EMRABORTPATH; 3755 PEMRSETMETARGN = ^EMRABORTPATH; 3756 3757 EMRSAVEDC = EMRABORTPATH; 3758 TEMRSAVEDC = EMRABORTPATH; 3759 PEMRSAVEDC = ^EMRABORTPATH; 3760 3761 EMRREALIZEPALETTE = EMRABORTPATH; 3762 TEMRREALIZEPALETTE = EMRABORTPATH; 3763 PEMRREALIZEPALETTE = ^EMRABORTPATH; 3764 3765 EMRSELECTCLIPPATH = record 3766 emr : EMR; 3767 iMode : DWORD; 3768 end; 3769 tagEMRSELECTCLIPPATH = EMRSELECTCLIPPATH; 3770 TEMRSELECTCLIPPATH = EMRSELECTCLIPPATH; 3771 PEMRSELECTCLIPPATH = ^EMRSELECTCLIPPATH; 3772 3773 EMRSETBKMODE = EMRSELECTCLIPPATH; 3774 TEMRSETBKMODE = EMRSELECTCLIPPATH; 3775 PEMRSETBKMODE = ^EMRSELECTCLIPPATH; 3776 3777 EMRSETMAPMODE = EMRSELECTCLIPPATH; 3778 TEMRSETMAPMODE = EMRSELECTCLIPPATH; 3779 PEMRSETMAPMODE = ^EMRSELECTCLIPPATH; 3780 3781 EMRSETPOLYFILLMODE = EMRSELECTCLIPPATH; 3782 TEMRSETPOLYFILLMODE = EMRSELECTCLIPPATH; 3783 PEMRSETPOLYFILLMODE = ^EMRSELECTCLIPPATH; 3784 3785 EMRSETROP2 = EMRSELECTCLIPPATH; 3786 TEMRSETROP2 = EMRSELECTCLIPPATH; 3787 PEMRSETROP2 = ^EMRSELECTCLIPPATH; 3788 3789 EMRSETSTRETCHBLTMODE = EMRSELECTCLIPPATH; 3790 TEMRSETSTRETCHBLTMODE = EMRSELECTCLIPPATH; 3791 PEMRSETSTRETCHBLTMODE = ^EMRSELECTCLIPPATH; 3792 3793 EMRSETTEXTALIGN = EMRSELECTCLIPPATH; 3794 TEMRSETTEXTALIGN = EMRSELECTCLIPPATH; 3795 PEMRSETTEXTALIGN = ^EMRSELECTCLIPPATH; 3796 3797 EMRENABLEICM = EMRSELECTCLIPPATH; 3798 TEMRENABLEICM = EMRSELECTCLIPPATH; 3799 PEMRENABLEICM = ^EMRSELECTCLIPPATH; 3800 3801 NMHDR = record 3802 hwndFrom : HWND; 3803 idFrom : UINT; 3804 code : UINT; 3805 end; 3806 tagNMHDR = NMHDR; 3807 TNMHDR = NMHDR; 3808 PNMHDR = ^NMHDR; 3809 3810 ENCORRECTTEXT = record 3811 nmhdr : NMHDR; 3812 chrg : CHARRANGE; 3813 seltyp : WORD; 3814 end; 3815 _encorrecttext = ENCORRECTTEXT; 3816 Tencorrecttext = ENCORRECTTEXT; 3817 Pencorrecttext = ^ENCORRECTTEXT; 3818 3819 ENDROPFILES = record 3820 nmhdr : NMHDR; 3821 hDrop : HANDLE; 3822 cp : LONG; 3823 fProtected : WINBOOL; 3824 end; 3825 _endropfiles = ENDROPFILES; 3826 Tendropfiles = ENDROPFILES; 3827 Pendropfiles = ^ENDROPFILES; 3828 3829 ENSAVECLIPBOARD = record 3830 nmhdr : NMHDR; 3831 cObjectCount : LONG; 3832 cch : LONG; 3833 end; 3834 TENSAVECLIPBOARD = ENSAVECLIPBOARD; 3835 PENSAVECLIPBOARD = ^ENSAVECLIPBOARD; 3836 3837 ENOLEOPFAILED = record 3838 nmhdr : NMHDR; 3839 iob : LONG; 3840 lOper : LONG; 3841 hr : HRESULT; 3842 end; 3843 TENOLEOPFAILED = ENOLEOPFAILED; 3844 PENOLEOPFAILED = ^ENOLEOPFAILED; 3845 3846 ENHMETAHEADER = record 3847 iType : DWORD; 3848 nSize : DWORD; 3849 rclBounds : RECTL; 3850 rclFrame : RECTL; 3851 dSignature : DWORD; 3852 nVersion : DWORD; 3853 nBytes : DWORD; 3854 nRecords : DWORD; 3855 nHandles : WORD; 3856 sReserved : WORD; 3857 nDescription : DWORD; 3858 offDescription : DWORD; 3859 nPalEntries : DWORD; 3860 szlDevice : SIZEL; 3861 szlMillimeters : SIZEL; 3862 end; 3863 LPENHMETAHEADER = ^ENHMETAHEADER; 3864 tagENHMETAHEADER = ENHMETAHEADER; 3865 TENHMETAHEADER = ENHMETAHEADER; 3866 PENHMETAHEADER = ^ENHMETAHEADER; 3867 3868 ENHMETARECORD = record 3869 iType : DWORD; 3870 nSize : DWORD; 3871 dParm : array[0..0] of DWORD; 3872 end; 3873 LPENHMETARECORD = ^ENHMETARECORD; 3874 tagENHMETARECORD = ENHMETARECORD; 3875 TENHMETARECORD = ENHMETARECORD; 3876 PENHMETARECORD = ^ENHMETARECORD; 3877 3878 ENPROTECTED = record 3879 nmhdr : NMHDR; 3880 msg : UINT; 3881 wParam : WPARAM; 3882 lParam : LPARAM; 3883 chrg : CHARRANGE; 3884 end; 3885 _enprotected = ENPROTECTED; 3886 Tenprotected = ENPROTECTED; 3887 Penprotected = ^ENPROTECTED; 3888 3889 SERVICE_STATUS = record 3890 dwServiceType : DWORD; 3891 dwCurrentState : DWORD; 3892 dwControlsAccepted : DWORD; 3893 dwWin32ExitCode : DWORD; 3894 dwServiceSpecificExitCode : DWORD; 3895 dwCheckPoint : DWORD; 3896 dwWaitHint : DWORD; 3897 end; 3898 LPSERVICE_STATUS = ^SERVICE_STATUS; 3899 _SERVICE_STATUS = SERVICE_STATUS; 3900 TSERVICESTATUS = SERVICE_STATUS; 3901 PSERVICESTATUS = ^SERVICE_STATUS; 3902 3903 ENUM_SERVICE_STATUS = record 3904 lpServiceName : LPTSTR; 3905 lpDisplayName : LPTSTR; 3906 ServiceStatus : SERVICE_STATUS; 3907 end; 3908 LPENUM_SERVICE_STATUS = ^ENUM_SERVICE_STATUS; 3909 _ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUS; 3910 TENUMSERVICESTATUS = ENUM_SERVICE_STATUS; 3911 PENUMSERVICESTATUS = ^ENUM_SERVICE_STATUS; 3912 3913 ENUMLOGFONT = record 3914 elfLogFont : LOGFONT; 3915 elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR; 3916 elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR; 3917 end; 3918 tagENUMLOGFONT = ENUMLOGFONT; 3919 TENUMLOGFONT = ENUMLOGFONT; 3920 PENUMLOGFONT = ^ENUMLOGFONT; 3921 3922 ENUMLOGFONTEX = record 3923 elfLogFont : LOGFONT; 3924 elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR; 3925 elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR; 3926 elfScript : array[0..(LF_FACESIZE)-1] of BCHAR; 3927 end; 3928 tagENUMLOGFONTEX = ENUMLOGFONTEX; 3929 TENUMLOGFONTEX = ENUMLOGFONTEX; 3930 PENUMLOGFONTEX = ^ENUMLOGFONTEX; 3931 { 3932 Then follow: 3933 3934 TCHAR SourceName[] 3935 TCHAR Computername[] 3936 SID UserSid 3937 TCHAR Strings[] 3938 BYTE Data[] 3939 CHAR Pad[] 3940 DWORD Length; 3941 } 3942 3943 EVENTLOGRECORD = record 3944 Length : DWORD; 3945 Reserved : DWORD; 3946 RecordNumber : DWORD; 3947 TimeGenerated : DWORD; 3948 TimeWritten : DWORD; 3949 EventID : DWORD; 3950 EventType : WORD; 3951 NumStrings : WORD; 3952 EventCategory : WORD; 3953 ReservedFlags : WORD; 3954 ClosingRecordNumber : DWORD; 3955 StringOffset : DWORD; 3956 UserSidLength : DWORD; 3957 UserSidOffset : DWORD; 3958 DataLength : DWORD; 3959 DataOffset : DWORD; 3960 end; 3961 _EVENTLOGRECORD = EVENTLOGRECORD; 3962 TEVENTLOGRECORD = EVENTLOGRECORD; 3963 PEVENTLOGRECORD = ^EVENTLOGRECORD; 3964 3965 EVENTMSG = record 3966 message : UINT; 3967 paramL : UINT; 3968 paramH : UINT; 3969 time : DWORD; 3970 hwnd : HWND; 3971 end; 3972 tagEVENTMSG = EVENTMSG; 3973 TEVENTMSG = EVENTMSG; 3974 PEVENTMSG = ^EVENTMSG; 3975 3976 EXCEPTION_POINTERS = record //winnt 3977 ExceptionRecord : PEXCEPTION_RECORD; 3978 ContextRecord : PCONTEXT; 3979 end; 3980 LPEXCEPTION_POINTERS = ^EXCEPTION_POINTERS; 3981 PEXCEPTION_POINTERS = ^EXCEPTION_POINTERS; 3982 _EXCEPTION_POINTERS = EXCEPTION_POINTERS; 3983 TEXCEPTIONPOINTERS = EXCEPTION_POINTERS; 3984 PEXCEPTIONPOINTERS = ^EXCEPTION_POINTERS; 3985 3986 EXT_BUTTON = record 3987 idCommand : WORD; 3988 idsHelp : WORD; 3989 fsStyle : WORD; 3990 end; 3991 LPEXT_BUTTON = ^EXT_BUTTON; 3992 _EXT_BUTTON = EXT_BUTTON; 3993 TEXTBUTTON = EXT_BUTTON; 3994 PEXTBUTTON = ^EXT_BUTTON; 3995 3996 FILTERKEYS = record 3997 cbSize : UINT; 3998 dwFlags : DWORD; 3999 iWaitMSec : DWORD; 4000 iDelayMSec : DWORD; 4001 iRepeatMSec : DWORD; 4002 iBounceMSec : DWORD; 4003 end; 4004 tagFILTERKEYS = FILTERKEYS; 4005 TFILTERKEYS = FILTERKEYS; 4006 PFILTERKEYS = ^FILTERKEYS; 4007 4008 FIND_NAME_BUFFER = record 4009 length : UCHAR; 4010 access_control : UCHAR; 4011 frame_control : UCHAR; 4012 destination_addr : array[0..5] of UCHAR; 4013 source_addr : array[0..5] of UCHAR; 4014 routing_info : array[0..17] of UCHAR; 4015 end; 4016 _FIND_NAME_BUFFER = FIND_NAME_BUFFER; 4017 TFINDNAMEBUFFER = FIND_NAME_BUFFER; 4018 PFINDNAMEBUFFER = ^FIND_NAME_BUFFER; 4019 4020 FIND_NAME_HEADER = record 4021 node_count : WORD; 4022 reserved : UCHAR; 4023 unique_group : UCHAR; 4024 end; 4025 _FIND_NAME_HEADER = FIND_NAME_HEADER; 4026 TFINDNAMEHEADER = FIND_NAME_HEADER; 4027 PFINDNAMEHEADER = ^FIND_NAME_HEADER; 4028 4029 FINDREPLACE = record 4030 lStructSize : DWORD; 4031 hwndOwner : HWND; 4032 hInstance : HINST; 4033 Flags : DWORD; 4034 lpstrFindWhat : LPTSTR; 4035 lpstrReplaceWith : LPTSTR; 4036 wFindWhatLen : WORD; 4037 wReplaceWithLen : WORD; 4038 lCustData : LPARAM; 4039 lpfnHook : LPFRHOOKPROC; 4040 lpTemplateName : LPCTSTR; 4041 end; 4042 LPFINDREPLACE = ^FINDREPLACE; 4043 TFINDREPLACE = FINDREPLACE; 4044 PFINDREPLACE = ^FINDREPLACE; 4045 4046 {FINDTEXT = record conflicts with FindText function } 4047 TFINDTEXT = record 4048 chrg : CHARRANGE; 4049 lpstrText : LPSTR; 4050 end; 4051 _findtext = TFINDTEXT; 4052 Pfindtext = ^TFINDTEXT; 4053 4054 FINDTEXTEX = record 4055 chrg : CHARRANGE; 4056 lpstrText : LPSTR; 4057 chrgText : CHARRANGE; 4058 end; 4059 _findtextex = FINDTEXTEX; 4060 Tfindtextex = FINDTEXTEX; 4061 Pfindtextex = ^FINDTEXTEX; 4062 4063 FMS_GETDRIVEINFO = record 4064 dwTotalSpace : DWORD; 4065 dwFreeSpace : DWORD; 4066 szPath : array[0..259] of TCHAR; 4067 szVolume : array[0..13] of TCHAR; 4068 szShare : array[0..127] of TCHAR; 4069 end; 4070 _FMS_GETDRIVEINFO = FMS_GETDRIVEINFO; 4071 TFMSGETDRIVEINFO = FMS_GETDRIVEINFO; 4072 PFMSGETDRIVEINFO = ^FMS_GETDRIVEINFO; 4073 4074 FMS_GETFILESEL = record 4075 ftTime : FILETIME; 4076 dwSize : DWORD; 4077 bAttr : BYTE; 4078 szName : array[0..259] of TCHAR; 4079 end; 4080 _FMS_GETFILESEL = FMS_GETFILESEL; 4081 TFMSGETFILESEL = FMS_GETFILESEL; 4082 PFMSGETFILESEL = ^FMS_GETFILESEL; 4083 4084 FMS_LOAD = record 4085 dwSize : DWORD; 4086 szMenuName : array[0..(MENU_TEXT_LEN)-1] of TCHAR; 4087 hMenu : HMENU; 4088 wMenuDelta : UINT; 4089 end; 4090 _FMS_LOAD = FMS_LOAD; 4091 TFMSLOAD = FMS_LOAD; 4092 PFMSLOAD = ^FMS_LOAD; 4093 4094 FMS_TOOLBARLOAD = record 4095 dwSize : DWORD; 4096 lpButtons : LPEXT_BUTTON; 4097 cButtons : WORD; 4098 cBitmaps : WORD; 4099 idBitmap : WORD; 4100 hBitmap : HBITMAP; 4101 end; 4102 _FMS_TOOLBARLOAD = FMS_TOOLBARLOAD; 4103 TFMSTOOLBARLOAD = FMS_TOOLBARLOAD; 4104 PFMSTOOLBARLOAD = ^FMS_TOOLBARLOAD; 4105 4106 FOCUS_EVENT_RECORD = record 4107 bSetFocus : WINBOOL; 4108 end; 4109 _FOCUS_EVENT_RECORD = FOCUS_EVENT_RECORD; 4110 TFOCUSEVENTRECORD = FOCUS_EVENT_RECORD; 4111 PFOCUSEVENTRECORD = ^FOCUS_EVENT_RECORD; 4112 4113 FORM_INFO_1 = record 4114 Flags : DWORD; 4115 pName : LPTSTR; 4116 Size : SIZEL; 4117 ImageableArea : RECTL; 4118 end; 4119 _FORM_INFO_1 = FORM_INFO_1; 4120 TFORMINFO1 = FORM_INFO_1; 4121 PFORMINFO1 = ^FORM_INFO_1; 4122 4123 FORMAT_PARAMETERS = record 4124 MediaType : MEDIA_TYPE; 4125 StartCylinderNumber : DWORD; 4126 EndCylinderNumber : DWORD; 4127 StartHeadNumber : DWORD; 4128 EndHeadNumber : DWORD; 4129 end; 4130 _FORMAT_PARAMETERS = FORMAT_PARAMETERS; 4131 TFORMATPARAMETERS = FORMAT_PARAMETERS; 4132 PFORMATPARAMETERS = ^FORMAT_PARAMETERS; 4133 4134 FORMATRANGE = record 4135 _hdc : HDC; 4136 hdcTarget : HDC; 4137 rc : RECT; 4138 rcPage : RECT; 4139 chrg : CHARRANGE; 4140 end; 4141 _formatrange = FORMATRANGE; 4142 Tformatrange = FORMATRANGE; 4143 Pformatrange = ^FORMATRANGE; 4144 4145 GCP_RESULTS = record 4146 lStructSize : DWORD; 4147 lpOutString : LPTSTR; 4148 lpOrder : ^UINT; 4149 lpDx : ^WINT; 4150 lpCaretPos : ^WINT; 4151 lpClass : LPTSTR; 4152 lpGlyphs : ^UINT; 4153 nGlyphs : UINT; 4154 nMaxFit : UINT; 4155 end; 4156 LPGCP_RESULTS = ^GCP_RESULTS; 4157 tagGCP_RESULTS = GCP_RESULTS; 4158 TGCPRESULTS = GCP_RESULTS; 4159 PGCPRESULTS = ^GCP_RESULTS; 4160// 4161// Define the generic mapping array. This is used to denote the 4162// mapping of each generic access right to a specific access mask. 4163// 4164 GENERIC_MAPPING = record //winnt 4165 GenericRead : ACCESS_MASK; 4166 GenericWrite : ACCESS_MASK; 4167 GenericExecute : ACCESS_MASK; 4168 GenericAll : ACCESS_MASK; 4169 end; 4170 PGENERIC_MAPPING = ^GENERIC_MAPPING; 4171 _GENERIC_MAPPING = GENERIC_MAPPING; 4172 TGENERICMAPPING = GENERIC_MAPPING; 4173 PGENERICMAPPING = ^GENERIC_MAPPING; 4174 4175 GLYPHMETRICS = record 4176 gmBlackBoxX : UINT; 4177 gmBlackBoxY : UINT; 4178 gmptGlyphOrigin : POINT; 4179 gmCellIncX : integer; 4180 gmCellIncY : integer; 4181 end; 4182 LPGLYPHMETRICS = ^GLYPHMETRICS; 4183 _GLYPHMETRICS = GLYPHMETRICS; 4184 TGLYPHMETRICS = GLYPHMETRICS; 4185 PGLYPHMETRICS = ^GLYPHMETRICS; 4186 4187 HANDLETABLE = record 4188 objectHandle : array[0..0] of HGDIOBJ; 4189 end; 4190 tagHANDLETABLE = HANDLETABLE; 4191 THANDLETABLE = HANDLETABLE; 4192 LPHANDLETABLE = ^HANDLETABLE; 4193 4194 HD_HITTESTINFO = record 4195 pt : POINT; 4196 flags : UINT; 4197 iItem : longint; 4198 end; 4199 _HD_HITTESTINFO = HD_HITTESTINFO; 4200 THDHITTESTINFO = HD_HITTESTINFO; 4201 PHDHITTESTINFO = ^HD_HITTESTINFO; 4202 4203 HD_ITEM = record 4204 mask : UINT; 4205 cxy : longint; 4206 pszText : LPTSTR; 4207 hbm : HBITMAP; 4208 cchTextMax : longint; 4209 fmt : longint; 4210 lParam : LPARAM; 4211 end; 4212 _HD_ITEM = HD_ITEM; 4213 THDITEM = HD_ITEM; 4214 PHDITEM = ^HD_ITEM; 4215 4216 WINDOWPOS = record 4217 _hwnd : HWND; 4218 hwndInsertAfter : HWND; 4219 x : longint; 4220 y : longint; 4221 cx : longint; 4222 cy : longint; 4223 flags : UINT; 4224 end; 4225 LPWINDOWPOS = ^WINDOWPOS; 4226 _WINDOWPOS = WINDOWPOS; 4227 TWINDOWPOS = WINDOWPOS; 4228 PWINDOWPOS = ^WINDOWPOS; 4229 4230 HD_LAYOUT = record 4231 prc : ^RECT; 4232 pwpos : ^WINDOWPOS; 4233 end; 4234 _HD_LAYOUT = HD_LAYOUT; 4235 THDLAYOUT = HD_LAYOUT; 4236 PHDLAYOUT = ^HD_LAYOUT; 4237 4238 HD_NOTIFY = record 4239 hdr : NMHDR; 4240 iItem : longint; 4241 iButton : longint; 4242 pitem : ^HD_ITEM; 4243 end; 4244 _HD_NOTIFY = HD_NOTIFY; 4245 THDNOTIFY = HD_NOTIFY; 4246 PHDNOTIFY = ^HD_NOTIFY; 4247 4248 HELPINFO = record 4249 cbSize : UINT; 4250 iContextType : longint; 4251 iCtrlId : longint; 4252 hItemHandle : HANDLE; 4253 dwContextId : DWORD; 4254 MousePos : POINT; 4255 end; 4256 LPHELPINFO = ^HELPINFO; 4257 tagHELPINFO = HELPINFO; 4258 THELPINFO = HELPINFO; 4259 PHELPINFO = ^HELPINFO; 4260 4261 HELPWININFO = record 4262 wStructSize : longint; 4263 x : longint; 4264 y : longint; 4265 dx : longint; 4266 dy : longint; 4267 wMax : longint; 4268 rgchMember : array[0..1] of TCHAR; 4269 end; 4270 THELPWININFO = HELPWININFO; 4271 PHELPWININFO = ^HELPWININFO; 4272 4273 HIGHCONTRAST = record 4274 cbSize : UINT; 4275 dwFlags : DWORD; 4276 lpszDefaultScheme : LPTSTR; 4277 end; 4278 LPHIGHCONTRAST = ^HIGHCONTRAST; 4279 tagHIGHCONTRAST = HIGHCONTRAST; 4280 THIGHCONTRAST = HIGHCONTRAST; 4281 PHIGHCONTRAST = ^HIGHCONTRAST; 4282 4283 HSZPAIR = record 4284 hszSvc : HSZ; 4285 hszTopic : HSZ; 4286 end; 4287 tagHSZPAIR = HSZPAIR; 4288 THSZPAIR = HSZPAIR; 4289 PHSZPAIR = ^HSZPAIR; 4290 4291 ICONINFO = record 4292 fIcon : WINBOOL; 4293 xHotspot : DWORD; 4294 yHotspot : DWORD; 4295 hbmMask : HBITMAP; 4296 hbmColor : HBITMAP; 4297 end; 4298 _ICONINFO = ICONINFO; 4299 TICONINFO = ICONINFO; 4300 PICONINFO = ^ICONINFO; 4301 4302 ICONMETRICS = record 4303 cbSize : UINT; 4304 iHorzSpacing : longint; 4305 iVertSpacing : longint; 4306 iTitleWrap : longint; 4307 lfFont : LOGFONT; 4308 end; 4309 LPICONMETRICS = ^ICONMETRICS; 4310 tagICONMETRICS = ICONMETRICS; 4311 TICONMETRICS = ICONMETRICS; 4312 PICONMETRICS = ^ICONMETRICS; 4313 4314 IMAGELISTDRAWPARAMS = record //+commctrl 4315 cbSize : DWORD; 4316 himl : HIMAGELIST; 4317 i : Integer; 4318 hdcDst : HDC; 4319 x : Integer; 4320 y : Integer; 4321 cx : Integer; 4322 cy : Integer; 4323 xBitmap : Integer; // x offest from the upperleft of bitmap 4324 yBitmap : Integer; // y offset from the upperleft of bitmap 4325 rgbBk : COLORREF; 4326 rgbFg : COLORREF; 4327 fStyle : UINT; 4328 dwRop : DWORD; 4329 end; 4330 4331 _IMAGELISTDRAWPARAMS=IMAGELISTDRAWPARAMS; 4332 PIMAGELISTDRAWPARAMS=^IMAGELISTDRAWPARAMS; 4333 4334 IMAGEINFO = record 4335 hbmImage : HBITMAP; 4336 hbmMask : HBITMAP; 4337 Unused1 : longint; 4338 Unused2 : longint; 4339 rcImage : RECT; 4340 end; 4341 _IMAGEINFO = IMAGEINFO; 4342 TIMAGEINFO = IMAGEINFO; 4343 PIMAGEINFO = ^IMAGEINFO; 4344 4345 KEY_EVENT_RECORD = packed record 4346 bKeyDown : WINBOOL; 4347 wRepeatCount : WORD; 4348 wVirtualKeyCode : WORD; 4349 wVirtualScanCode : WORD; 4350 case longint of 4351 0 : ( UnicodeChar : WCHAR; 4352 dwControlKeyState : DWORD; ); 4353 1 : ( AsciiChar : CHAR ); 4354 end; 4355 _KEY_EVENT_RECORD = KEY_EVENT_RECORD; 4356 TKEYEVENTRECORD = KEY_EVENT_RECORD; 4357 PKEYEVENTRECORD = ^KEY_EVENT_RECORD; 4358 4359 MOUSE_EVENT_RECORD = record 4360 dwMousePosition : COORD; 4361 dwButtonState : DWORD; 4362 dwControlKeyState : DWORD; 4363 dwEventFlags : DWORD; 4364 end; 4365 _MOUSE_EVENT_RECORD = MOUSE_EVENT_RECORD; 4366 TMOUSEEVENTRECORD = MOUSE_EVENT_RECORD; 4367 PMOUSEEVENTRECORD = ^MOUSE_EVENT_RECORD; 4368 4369 WINDOW_BUFFER_SIZE_RECORD = record 4370 dwSize : COORD; 4371 end; 4372 _WINDOW_BUFFER_SIZE_RECORD = WINDOW_BUFFER_SIZE_RECORD; 4373 TWINDOWBUFFERSIZERECORD = WINDOW_BUFFER_SIZE_RECORD; 4374 PWINDOWBUFFERSIZERECORD = ^WINDOW_BUFFER_SIZE_RECORD; 4375 4376 MENU_EVENT_RECORD = record 4377 dwCommandId : UINT; 4378 end; 4379 PMENU_EVENT_RECORD = ^MENU_EVENT_RECORD; 4380 _MENU_EVENT_RECORD = MENU_EVENT_RECORD; 4381 TMENUEVENTRECORD = MENU_EVENT_RECORD; 4382 PMENUEVENTRECORD = ^MENU_EVENT_RECORD; 4383 4384 INPUT_RECORD = record 4385 EventType: Word; 4386 Reserved: Word; 4387 Event : record case longint of 4388 0 : ( KeyEvent : KEY_EVENT_RECORD ); 4389 1 : ( MouseEvent : MOUSE_EVENT_RECORD ); 4390 2 : ( WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD ); 4391 3 : ( MenuEvent : MENU_EVENT_RECORD ); 4392 4 : ( FocusEvent : FOCUS_EVENT_RECORD ); 4393 end; 4394 end; 4395 PINPUT_RECORD = ^INPUT_RECORD; 4396 _INPUT_RECORD = INPUT_RECORD; 4397 TINPUTRECORD = INPUT_RECORD; 4398 PINPUTRECORD = ^INPUT_RECORD; 4399 4400 SYSTEMTIME = record 4401 case integer of 4402 1 : ( 4403 wYear : WORD; 4404 wMonth : WORD; 4405 wDayOfWeek : WORD; 4406 wDay : WORD; 4407 wHour : WORD; 4408 wMinute : WORD; 4409 wSecond : WORD; 4410 wMilliseconds : WORD; 4411 ); 4412 { Compatibility for FPC } 4413 2 : ( 4414 Year : WORD; 4415 Month : WORD; 4416 DayOfWeek : WORD; 4417 Day : WORD; 4418 Hour : WORD; 4419 Minute : WORD; 4420 Second : WORD; 4421 Millisecond : WORD; 4422 ); 4423 end; 4424 LPSYSTEMTIME = ^SYSTEMTIME; 4425 _SYSTEMTIME = SYSTEMTIME; 4426 TSYSTEMTIME = SYSTEMTIME; 4427 PSYSTEMTIME = ^SYSTEMTIME; 4428 4429 JOB_INFO_1 = record 4430 JobId : DWORD; 4431 pPrinterName : LPTSTR; 4432 pMachineName : LPTSTR; 4433 pUserName : LPTSTR; 4434 pDocument : LPTSTR; 4435 pDatatype : LPTSTR; 4436 pStatus : LPTSTR; 4437 Status : DWORD; 4438 Priority : DWORD; 4439 Position : DWORD; 4440 TotalPages : DWORD; 4441 PagesPrinted : DWORD; 4442 Submitted : SYSTEMTIME; 4443 end; 4444 _JOB_INFO_1 = JOB_INFO_1; 4445 TJOBINFO1 = JOB_INFO_1; 4446 PJOBINFO1 = ^JOB_INFO_1; 4447 4448 SID_AND_ATTRIBUTES = record //~winnt, moved with SID declarations 4449 Sid : PSID; 4450 Attributes : DWORD; 4451 end; 4452 _SID_AND_ATTRIBUTES = SID_AND_ATTRIBUTES; 4453 TSIDANDATTRIBUTES = SID_AND_ATTRIBUTES; 4454 PSIDANDATTRIBUTES = ^SID_AND_ATTRIBUTES; 4455 4456 SID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES; //winnt 4457 PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY; 4458 TSIDANDATTRIBUTESARRAY = SID_AND_ATTRIBUTES_ARRAY; 4459 PSIDANDATTRIBUTESARRAY = ^SID_AND_ATTRIBUTES_ARRAY; 4460 4461 SECURITY_DESCRIPTOR_CONTROL = WORD; 4462 PSECURITY_DESCRIPTOR_CONTROL = ^SECURITY_DESCRIPTOR_CONTROL; 4463 TSECURITYDESCRIPTORCONTROL = SECURITY_DESCRIPTOR_CONTROL; 4464 PSECURITYDESCRIPTORCONTROL = ^SECURITY_DESCRIPTOR_CONTROL; 4465 4466 SECURITY_DESCRIPTOR = record 4467 Revision : BYTE; 4468 Sbz1 : BYTE; 4469 Control : SECURITY_DESCRIPTOR_CONTROL; 4470 Owner : PSID; 4471 Group : PSID; 4472 Sacl : PACL; 4473 Dacl : PACL; 4474 end; 4475 PSECURITY_DESCRIPTOR = ^SECURITY_DESCRIPTOR; 4476 _SECURITY_DESCRIPTOR = SECURITY_DESCRIPTOR; 4477 TSECURITYDESCRIPTOR = SECURITY_DESCRIPTOR; 4478 PSECURITYDESCRIPTOR = ^SECURITY_DESCRIPTOR; 4479 4480 JOB_INFO_2 = record 4481 JobId : DWORD; 4482 pPrinterName : LPTSTR; 4483 pMachineName : LPTSTR; 4484 pUserName : LPTSTR; 4485 pDocument : LPTSTR; 4486 pNotifyName : LPTSTR; 4487 pDatatype : LPTSTR; 4488 pPrintProcessor : LPTSTR; 4489 pParameters : LPTSTR; 4490 pDriverName : LPTSTR; 4491 pDevMode : LPDEVMODE; 4492 pStatus : LPTSTR; 4493 pSecurityDescriptor : PSECURITY_DESCRIPTOR; 4494 Status : DWORD; 4495 Priority : DWORD; 4496 Position : DWORD; 4497 StartTime : DWORD; 4498 UntilTime : DWORD; 4499 TotalPages : DWORD; 4500 Size : DWORD; 4501 Submitted : SYSTEMTIME; 4502 Time : DWORD; 4503 PagesPrinted : DWORD; 4504 end; 4505 _JOB_INFO_2 = JOB_INFO_2; 4506 TJOBINFO2 = JOB_INFO_2; 4507 PJOBINFO2 = ^JOB_INFO_2; 4508 4509 KERNINGPAIR = record 4510 wFirst : WORD; 4511 wSecond : WORD; 4512 iKernAmount : longint; 4513 end; 4514 LPKERNINGPAIR = ^KERNINGPAIR; 4515 tagKERNINGPAIR = KERNINGPAIR; 4516 TKERNINGPAIR = KERNINGPAIR; 4517 PKERNINGPAIR = ^KERNINGPAIR; 4518 4519 LANA_ENUM = record 4520 length : UCHAR; 4521 lana : array[0..(MAX_LANA)-1] of UCHAR; 4522 end; 4523 _LANA_ENUM = LANA_ENUM; 4524 TLANAENUM = LANA_ENUM; 4525 PLANAENUM = ^LANA_ENUM; 4526 const 4527 bm_LDT_ENTRY_BaseMid = $FF; 4528 bp_LDT_ENTRY_BaseMid = 0; 4529 bm_LDT_ENTRY_Type = $1F00; 4530 bp_LDT_ENTRY_Type = 8; 4531 bm_LDT_ENTRY_Dpl = $6000; 4532 bp_LDT_ENTRY_Dpl = 13; 4533 bm_LDT_ENTRY_Pres = $8000; 4534 bp_LDT_ENTRY_Pres = 15; 4535 bm_LDT_ENTRY_LimitHi = $F0000; 4536 bp_LDT_ENTRY_LimitHi = 16; 4537 bm_LDT_ENTRY_Sys = $100000; 4538 bp_LDT_ENTRY_Sys = 20; 4539 bm_LDT_ENTRY_Reserved_0 = $200000; 4540 bp_LDT_ENTRY_Reserved_0 = 21; 4541 bm_LDT_ENTRY_Default_Big = $400000; 4542 bp_LDT_ENTRY_Default_Big = 22; 4543 bm_LDT_ENTRY_Granularity = $800000; 4544 bp_LDT_ENTRY_Granularity = 23; 4545 bm_LDT_ENTRY_BaseHi = $FF000000; 4546 bp_LDT_ENTRY_BaseHi = 24; 4547 4548 type 4549 4550 LOCALESIGNATURE = record 4551 lsUsb : array[0..3] of DWORD; 4552 lsCsbDefault : array[0..1] of DWORD; 4553 lsCsbSupported : array[0..1] of DWORD; 4554 end; 4555 tagLOCALESIGNATURE = LOCALESIGNATURE; 4556 TLOCALESIGNATURE = LOCALESIGNATURE; 4557 PLOCALESIGNATURE = ^LOCALESIGNATURE; 4558 4559 LOCALGROUP_MEMBERS_INFO_0 = record 4560 lgrmi0_sid : PSID; 4561 end; 4562 _LOCALGROUP_MEMBERS_INFO_0 = LOCALGROUP_MEMBERS_INFO_0; 4563 TLOCALGROUPMEMBERSINFO0 = LOCALGROUP_MEMBERS_INFO_0; 4564 PLOCALGROUPMEMBERSINFO0 = ^LOCALGROUP_MEMBERS_INFO_0; 4565 4566 LOCALGROUP_MEMBERS_INFO_3 = record 4567 lgrmi3_domainandname : LPWSTR; 4568 end; 4569 _LOCALGROUP_MEMBERS_INFO_3 = LOCALGROUP_MEMBERS_INFO_3; 4570 TLOCALGROUPMEMBERSINFO3 = LOCALGROUP_MEMBERS_INFO_3; 4571 PLOCALGROUPMEMBERSINFO3 = ^LOCALGROUP_MEMBERS_INFO_3; 4572 4573 FXPT16DOT16 = longint; 4574 LPFXPT16DOT16 = ^FXPT16DOT16; 4575 TFXPT16DOT16 = FXPT16DOT16; 4576 PFXPT16DOT16 = ^FXPT16DOT16; 4577 4578 LUID_AND_ATTRIBUTES = record //winnt 4579 Luid : LUID; 4580 Attributes : DWORD; 4581 end; 4582 _LUID_AND_ATTRIBUTES = LUID_AND_ATTRIBUTES; 4583 TLUIDANDATTRIBUTES = LUID_AND_ATTRIBUTES; 4584 PLUIDANDATTRIBUTES = ^LUID_AND_ATTRIBUTES; 4585 4586 LUID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES; 4587 PLUID_AND_ATTRIBUTES_ARRAY = ^LUID_AND_ATTRIBUTES_ARRAY; 4588 TLUIDANDATTRIBUTESARRAY = LUID_AND_ATTRIBUTES_ARRAY; 4589 PLUIDANDATTRIBUTESARRAY = ^LUID_AND_ATTRIBUTES_ARRAY; 4590 4591 LV_COLUMN = record 4592 mask : UINT; 4593 fmt : longint; 4594 cx : longint; 4595{$IFDEF UNICODE} 4596 pszText : LPWSTR; 4597{$ELSE UNICODE} 4598 pszText : LPTSTR; 4599{$ENDIF UNICODE} 4600 cchTextMax : longint; 4601 iSubItem : longint; 4602 iImage : Longint; //#if (_WIN32_IE >= 0x0300) 4603 iOrder : longint; //#if (_WIN32_IE >= 0x0300) 4604 end; 4605 _LV_COLUMN = LV_COLUMN; 4606 TLVCOLUMN = LV_COLUMN; 4607 PLVCOLUMN = ^LV_COLUMN; 4608 4609 LV_ITEM = record 4610 mask : UINT; 4611 iItem : longint; 4612 iSubItem : longint; 4613 state : UINT; 4614 stateMask : UINT; 4615{$IFDEF UNICODE} 4616 pszText : LPWSTR; 4617{$ELSE UNICODE} 4618 pszText : LPTSTR; 4619{$ENDIF UNICODE} 4620 cchTextMax : longint; 4621 iImage : longint; 4622 lParam : LPARAM; 4623 iIndent: Longint; //#if (_WIN32_IE >= 0x0300) 4624 end; 4625 _LV_ITEM = LV_ITEM; 4626 TLVITEM = LV_ITEM; 4627 PLVITEM = ^LV_ITEM; 4628 4629 LV_DISPINFO = record 4630 hdr : NMHDR; 4631 item : LV_ITEM; 4632 end; 4633 tagLV_DISPINFO = LV_DISPINFO; 4634 TLVDISPINFO = LV_DISPINFO; 4635 PLVDISPINFO = ^LV_DISPINFO; 4636 4637 LV_FINDINFO = record 4638 flags : UINT; 4639 psz : LPCTSTR; 4640 lParam : LPARAM; 4641 pt : POINT; 4642 vkDirection : UINT; 4643 end; 4644 _LV_FINDINFO = LV_FINDINFO; 4645 TLVFINDINFO = LV_FINDINFO; 4646 PLVFINDINFO = ^LV_FINDINFO; 4647 4648 LV_HITTESTINFO = record 4649 pt : POINT; 4650 flags : UINT; 4651 iItem : longint; 4652 end; 4653 _LV_HITTESTINFO = LV_HITTESTINFO; 4654 TLVHITTESTINFO = LV_HITTESTINFO; 4655 PLVHITTESTINFO = ^LV_HITTESTINFO; 4656 4657 LV_KEYDOWN = record 4658 hdr : NMHDR; 4659 wVKey : WORD; 4660 flags : UINT; 4661 end; 4662 tagLV_KEYDOWN = LV_KEYDOWN; 4663 TLVKEYDOWN = LV_KEYDOWN; 4664 PLVKEYDOWN = ^LV_KEYDOWN; 4665 4666 MAT2 = record 4667 eM11 : FIXED; 4668 eM12 : FIXED; 4669 eM21 : FIXED; 4670 eM22 : FIXED; 4671 end; 4672 _MAT2 = MAT2; 4673 TMAT2 = MAT2; 4674 PMAT2 = ^MAT2; 4675 4676 MDICREATESTRUCT = record 4677 szClass : LPCTSTR; 4678 szTitle : LPCTSTR; 4679 hOwner : HANDLE; 4680 x : longint; 4681 y : longint; 4682 cx : longint; 4683 cy : longint; 4684 style : DWORD; 4685 lParam : LPARAM; 4686 end; 4687 LPMDICREATESTRUCT = ^MDICREATESTRUCT; 4688 tagMDICREATESTRUCT = MDICREATESTRUCT; 4689 TMDICREATESTRUCT = MDICREATESTRUCT; 4690 PMDICREATESTRUCT = ^MDICREATESTRUCT; 4691 4692 MEASUREITEMSTRUCT = record 4693 CtlType : UINT; 4694 CtlID : UINT; 4695 itemID : UINT; 4696 itemWidth : UINT; 4697 itemHeight : UINT; 4698 itemData : DWORD; 4699 end; 4700 LPMEASUREITEMSTRUCT = ^MEASUREITEMSTRUCT; 4701 tagMEASUREITEMSTRUCT = MEASUREITEMSTRUCT; 4702 TMEASUREITEMSTRUCT = MEASUREITEMSTRUCT; 4703 PMEASUREITEMSTRUCT = ^MEASUREITEMSTRUCT; 4704 4705 MEMORY_BASIC_INFORMATION = record 4706 BaseAddress : PVOID; 4707 AllocationBase : PVOID; 4708 AllocationProtect : DWORD; 4709 RegionSize : DWORD; 4710 State : DWORD; 4711 Protect : DWORD; 4712 _Type : DWORD; 4713 end; 4714 PMEMORY_BASIC_INFORMATION = ^MEMORY_BASIC_INFORMATION; 4715 _MEMORY_BASIC_INFORMATION = MEMORY_BASIC_INFORMATION; 4716 TMEMORYBASICINFORMATION = MEMORY_BASIC_INFORMATION; 4717 PMEMORYBASICINFORMATION = ^MEMORY_BASIC_INFORMATION; 4718 4719 MEMORYSTATUS = record 4720 dwLength : DWORD; 4721 dwMemoryLoad : DWORD; 4722 dwTotalPhys : DWORD; 4723 dwAvailPhys : DWORD; 4724 dwTotalPageFile : DWORD; 4725 dwAvailPageFile : DWORD; 4726 dwTotalVirtual : DWORD; 4727 dwAvailVirtual : DWORD; 4728 end; 4729 LPMEMORYSTATUS = ^MEMORYSTATUS; 4730 _MEMORYSTATUS = MEMORYSTATUS; 4731 TMEMORYSTATUS = MEMORYSTATUS; 4732 PMEMORYSTATUS = ^MEMORYSTATUS; 4733 4734 MENUEX_TEMPLATE_HEADER = record 4735 wVersion : WORD; 4736 wOffset : WORD; 4737 dwHelpId : DWORD; 4738 end; 4739 TMENUXTEMPLATEHEADER = MENUEX_TEMPLATE_HEADER; 4740 PMENUXTEMPLATEHEADER = ^MENUEX_TEMPLATE_HEADER; 4741 4742 MENUEX_TEMPLATE_ITEM = record 4743 dwType : DWORD; 4744 dwState : DWORD; 4745 uId : UINT; 4746 bResInfo : BYTE; 4747 szText : array[0..0] of WCHAR; 4748 dwHelpId : DWORD; 4749 end; 4750 TMENUEXTEMPLATEITEM = MENUEX_TEMPLATE_ITEM; 4751 PMENUEXTEMPLATEITEM = ^MENUEX_TEMPLATE_ITEM; 4752 4753 MENUITEMINFO = record 4754 cbSize : UINT; 4755 fMask : UINT; 4756 fType : UINT; 4757 fState : UINT; 4758 wID : UINT; 4759 hSubMenu : HMENU; 4760 hbmpChecked : HBITMAP; 4761 hbmpUnchecked : HBITMAP; 4762 dwItemData : DWORD; 4763 dwTypeData : LPTSTR; 4764 cch : UINT; 4765 end; 4766 LPMENUITEMINFO = ^MENUITEMINFO; 4767 LPCMENUITEMINFO = ^MENUITEMINFO; 4768 tagMENUITEMINFO = MENUITEMINFO; 4769 TMENUITEMINFO = MENUITEMINFO; 4770 TMENUITEMINFOW = MENUITEMINFO; 4771 PMENUITEMINFO = ^MENUITEMINFO; 4772 PMENUITEMINFOW = ^MENUITEMINFO; 4773 4774 MENUITEMTEMPLATE = record 4775 mtOption : WORD; 4776 mtID : WORD; 4777 mtString : array[0..0] of WCHAR; 4778 end; 4779 TMENUITEMTEMPLATE = MENUITEMTEMPLATE; 4780 PMENUITEMTEMPLATE = ^MENUITEMTEMPLATE; 4781 4782 MENUITEMTEMPLATEHEADER = record 4783 versionNumber : WORD; 4784 offset : WORD; 4785 end; 4786 TMENUITEMTEMPLATEHEADER = MENUITEMTEMPLATEHEADER; 4787 PMENUITEMTEMPLATEHEADER = ^MENUITEMTEMPLATEHEADER; 4788 4789 MENUTEMPLATE = record 4790 end; 4791 LPMENUTEMPLATE = ^MENUTEMPLATE; 4792 TMENUTEMPLATE = MENUTEMPLATE; 4793 PMENUTEMPLATE = ^MENUTEMPLATE; 4794 4795 METAFILEPICT = record 4796 mm : LONG; 4797 xExt : LONG; 4798 yExt : LONG; 4799 hMF : HMETAFILE; 4800 end; 4801 LPMETAFILEPICT = ^METAFILEPICT; 4802 tagMETAFILEPICT = METAFILEPICT; 4803 TMETAFILEPICT = METAFILEPICT; 4804 PMETAFILEPICT = ^METAFILEPICT; 4805 4806 METAHEADER = packed record 4807 mtType : WORD; 4808 mtHeaderSize : WORD; 4809 mtVersion : WORD; 4810 mtSize : DWORD; 4811 mtNoObjects : WORD; 4812 mtMaxRecord : DWORD; 4813 mtNoParameters : WORD; 4814 end; 4815 tagMETAHEADER = METAHEADER; 4816 TMETAHEADER = METAHEADER; 4817 PMETAHEADER = ^METAHEADER; 4818 4819 METARECORD = record 4820 rdSize : DWORD; 4821 rdFunction : WORD; 4822 rdParm : array[0..0] of WORD; 4823 end; 4824 LPMETARECORD = ^METARECORD; 4825 tagMETARECORD = METARECORD; 4826 TMETARECORD = METARECORD; 4827 PMETARECORD = ^METARECORD; 4828 4829 MINIMIZEDMETRICS = record 4830 cbSize : UINT; 4831 iWidth : longint; 4832 iHorzGap : longint; 4833 iVertGap : longint; 4834 iArrange : longint; 4835 end; 4836 LPMINIMIZEDMETRICS = ^MINIMIZEDMETRICS; 4837 tagMINIMIZEDMETRICS = MINIMIZEDMETRICS; 4838 TMINIMIZEDMETRICS = MINIMIZEDMETRICS; 4839 PMINIMIZEDMETRICS = ^MINIMIZEDMETRICS; 4840 4841 MINMAXINFO = record 4842 ptReserved : POINT; 4843 ptMaxSize : POINT; 4844 ptMaxPosition : POINT; 4845 ptMinTrackSize : POINT; 4846 ptMaxTrackSize : POINT; 4847 end; 4848 tagMINMAXINFO = MINMAXINFO; 4849 TMINMAXINFO = MINMAXINFO; 4850 PMINMAXINFO = ^MINMAXINFO; 4851 4852 MODEMDEVCAPS = record 4853 dwActualSize : DWORD; 4854 dwRequiredSize : DWORD; 4855 dwDevSpecificOffset : DWORD; 4856 dwDevSpecificSize : DWORD; 4857 dwModemProviderVersion : DWORD; 4858 dwModemManufacturerOffset : DWORD; 4859 dwModemManufacturerSize : DWORD; 4860 dwModemModelOffset : DWORD; 4861 dwModemModelSize : DWORD; 4862 dwModemVersionOffset : DWORD; 4863 dwModemVersionSize : DWORD; 4864 dwDialOptions : DWORD; 4865 dwCallSetupFailTimer : DWORD; 4866 dwInactivityTimeout : DWORD; 4867 dwSpeakerVolume : DWORD; 4868 dwSpeakerMode : DWORD; 4869 dwModemOptions : DWORD; 4870 dwMaxDTERate : DWORD; 4871 dwMaxDCERate : DWORD; 4872 abVariablePortion : array[0..0] of BYTE; 4873 end; 4874 LPMODEMDEVCAPS = ^MODEMDEVCAPS; 4875 TMODEMDEVCAPS = MODEMDEVCAPS; 4876 PMODEMDEVCAPS = ^MODEMDEVCAPS; 4877 4878 modemdevcaps_tag = MODEMDEVCAPS; 4879 4880 MODEMSETTINGS = record 4881 dwActualSize : DWORD; 4882 dwRequiredSize : DWORD; 4883 dwDevSpecificOffset : DWORD; 4884 dwDevSpecificSize : DWORD; 4885 dwCallSetupFailTimer : DWORD; 4886 dwInactivityTimeout : DWORD; 4887 dwSpeakerVolume : DWORD; 4888 dwSpeakerMode : DWORD; 4889 dwPreferredModemOptions : DWORD; 4890 dwNegotiatedModemOptions : DWORD; 4891 dwNegotiatedDCERate : DWORD; 4892 abVariablePortion : array[0..0] of BYTE; 4893 end; 4894 LPMODEMSETTINGS = ^MODEMSETTINGS; 4895 TMODEMSETTINGS = MODEMSETTINGS; 4896 PMODEMSETTINGS = ^MODEMSETTINGS; 4897 4898 modemsettings_tag = MODEMSETTINGS; 4899 4900 MONCBSTRUCT = record 4901 cb : UINT; 4902 dwTime : DWORD; 4903 hTask : HANDLE; 4904 dwRet : DWORD; 4905 wType : UINT; 4906 wFmt : UINT; 4907 hConv : HCONV; 4908 hsz1 : HSZ; 4909 hsz2 : HSZ; 4910 hData : HDDEDATA; 4911 dwData1 : DWORD; 4912 dwData2 : DWORD; 4913 cc : CONVCONTEXT; 4914 cbData : DWORD; 4915 Data : array[0..7] of DWORD; 4916 end; 4917 tagMONCBSTRUCT = MONCBSTRUCT; 4918 TMONCBSTRUCT = MONCBSTRUCT; 4919 PMONCBSTRUCT = ^MONCBSTRUCT; 4920 4921 MONCONVSTRUCT = record 4922 cb : UINT; 4923 fConnect : WINBOOL; 4924 dwTime : DWORD; 4925 hTask : HANDLE; 4926 hszSvc : HSZ; 4927 hszTopic : HSZ; 4928 hConvClient : HCONV; 4929 hConvServer : HCONV; 4930 end; 4931 tagMONCONVSTRUCT = MONCONVSTRUCT; 4932 TMONCONVSTRUCT = MONCONVSTRUCT; 4933 PMONCONVSTRUCT = ^MONCONVSTRUCT; 4934 4935 MONERRSTRUCT = record 4936 cb : UINT; 4937 wLastError : UINT; 4938 dwTime : DWORD; 4939 hTask : HANDLE; 4940 end; 4941 tagMONERRSTRUCT = MONERRSTRUCT; 4942 TMONERRSTRUCT = MONERRSTRUCT; 4943 PMONERRSTRUCT = ^MONERRSTRUCT; 4944 4945 MONHSZSTRUCT = record 4946 cb : UINT; 4947 fsAction : WINBOOL; 4948 dwTime : DWORD; 4949 hsz : HSZ; 4950 hTask : HANDLE; 4951 str : array[0..0] of TCHAR; 4952 end; 4953 tagMONHSZSTRUCT = MONHSZSTRUCT; 4954 TMONHSZSTRUCT = MONHSZSTRUCT; 4955 PMONHSZSTRUCT = ^MONHSZSTRUCT; 4956 4957 MONITOR_INFO_1 = record 4958 pName : LPTSTR; 4959 end; 4960 _MONITOR_INFO_1 = MONITOR_INFO_1; 4961 TMONITORINFO1 = MONITOR_INFO_1; 4962 PMONITORINFO1 = ^MONITOR_INFO_1; 4963 4964 MONITOR_INFO_2 = record 4965 pName : LPTSTR; 4966 pEnvironment : LPTSTR; 4967 pDLLName : LPTSTR; 4968 end; 4969 _MONITOR_INFO_2 = MONITOR_INFO_2; 4970 TMONITORINFO2 = MONITOR_INFO_2; 4971 PMONITORINFO2 = ^MONITOR_INFO_2; 4972 4973 MONLINKSTRUCT = record 4974 cb : UINT; 4975 dwTime : DWORD; 4976 hTask : HANDLE; 4977 fEstablished : WINBOOL; 4978 fNoData : WINBOOL; 4979 hszSvc : HSZ; 4980 hszTopic : HSZ; 4981 hszItem : HSZ; 4982 wFmt : UINT; 4983 fServer : WINBOOL; 4984 hConvServer : HCONV; 4985 hConvClient : HCONV; 4986 end; 4987 tagMONLINKSTRUCT = MONLINKSTRUCT; 4988 TMONLINKSTRUCT = MONLINKSTRUCT; 4989 PMONLINKSTRUCT = ^MONLINKSTRUCT; 4990 4991 MONMSGSTRUCT = record 4992 cb : UINT; 4993 hwndTo : HWND; 4994 dwTime : DWORD; 4995 hTask : HANDLE; 4996 wMsg : UINT; 4997 wParam : WPARAM; 4998 lParam : LPARAM; 4999 dmhd : DDEML_MSG_HOOK_DATA; 5000 end; 5001 tagMONMSGSTRUCT = MONMSGSTRUCT; 5002 TMONMSGSTRUCT = MONMSGSTRUCT; 5003 PMONMSGSTRUCT = ^MONMSGSTRUCT; 5004 5005 MOUSEHOOKSTRUCT = record 5006 pt : POINT; 5007 hwnd : HWND; 5008 wHitTestCode : UINT; 5009 dwExtraInfo : DWORD; 5010 end; 5011 LPMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT; 5012 tagMOUSEHOOKSTRUCT = MOUSEHOOKSTRUCT; 5013 TMOUSEHOOKSTRUCT = MOUSEHOOKSTRUCT; 5014 PMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT; 5015 5016 MOUSEKEYS = record 5017 cbSize : DWORD; 5018 dwFlags : DWORD; 5019 iMaxSpeed : DWORD; 5020 iTimeToMaxSpeed : DWORD; 5021 iCtrlSpeed : DWORD; 5022 dwReserved1 : DWORD; 5023 dwReserved2 : DWORD; 5024 end; 5025 TMOUSEKEYS = MOUSEKEYS; 5026 PMOUSEKEYS = ^MOUSEKEYS; 5027 5028 MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO); 5029 TMSGBOXCALLBACK = MSGBOXCALLBACK; 5030 5031 MSGBOXPARAMS = record 5032 cbSize : UINT; 5033 hwndOwner : HWND; 5034 hInstance : HINST; 5035 lpszText : LPCSTR; 5036 lpszCaption : LPCSTR; 5037 dwStyle : DWORD; 5038 lpszIcon : LPCSTR; 5039 dwContextHelpId : DWORD; 5040 lpfnMsgBoxCallback : MSGBOXCALLBACK; 5041 dwLanguageId : DWORD; 5042 end; 5043 LPMSGBOXPARAMS = ^MSGBOXPARAMS; 5044 TMSGBOXPARAMS = MSGBOXPARAMS; 5045 TMSGBOXPARAMSA = MSGBOXPARAMS; 5046 PMSGBOXPARAMS = ^MSGBOXPARAMS; 5047 5048 MSGFILTER = record 5049 nmhdr : NMHDR; 5050 msg : UINT; 5051 wParam : WPARAM; 5052 lParam : LPARAM; 5053 end; 5054 _msgfilter = MSGFILTER; 5055 Tmsgfilter = MSGFILTER; 5056 Pmsgfilter = ^MSGFILTER; 5057 5058 MULTIKEYHELP = record 5059 mkSize : DWORD; 5060 mkKeylist : TCHAR; 5061 szKeyphrase : array[0..0] of TCHAR; 5062 end; 5063 tagMULTIKEYHELP = MULTIKEYHELP; 5064 TMULTIKEYHELP = MULTIKEYHELP; 5065 PMULTIKEYHELP = ^MULTIKEYHELP; 5066 5067 EXTENDED_NAME_FORMAT=( 5068 // unknown name type 5069 NameUnknown = 0, 5070 // CN=Spencer Katt, OU=Software, OU=Engineering, O=Widget, C=US 5071 NameFullyQualifiedDN = 1, 5072 // Engineering\SpencerK 5073 NameSamCompatible = 2, 5074 // Probably "Spencer Katt" but could be something else. I.e. The 5075 // display name is not necessarily the defining RDN. 5076 NameDisplay = 3, 5077 // xxx@engineering.widget.com where xxx could be "SpencerK" or 5078 // anything else. Could be multi-valued to handle migration and aliasing. 5079 NameDomainSimple = 4, 5080 // xxx@widget.com where xxx could be "SpencerK" or anything else. 5081 // Could be multi-valued to handle migration and aliasing. 5082 NameEnterpriseSimple = 5, 5083 // String-ized GUID as returned by IIDFromString(). 5084 // eg: {4fa050f0-f561-11cf-bdd9-00aa003a77b6} 5085 NameUniqueId = 6, 5086 // engineering.widget.com/software/spencer katt 5087 NameCanonical = 7, 5088 // local logon name 5089 NameWindowsCeLocal = $80000001); //+winbase 5090 PEXTENDED_NAME_FORMAT=^EXTENDED_NAME_FORMAT; //+winbase 5091 5092 NAME_BUFFER = record 5093 name : array[0..(NCBNAMSZ)-1] of UCHAR; 5094 name_num : UCHAR; 5095 name_flags : UCHAR; 5096 end; 5097 _NAME_BUFFER = NAME_BUFFER; 5098 TNAMEBUFFER = NAME_BUFFER; 5099 PNAMEBUFFER = ^NAME_BUFFER; 5100 5101 p_NCB = ^_NCB; 5102 NCB = record 5103 ncb_command : UCHAR; 5104 ncb_retcode : UCHAR; 5105 ncb_lsn : UCHAR; 5106 ncb_num : UCHAR; 5107 ncb_buffer : PUCHAR; 5108 ncb_length : WORD; 5109 ncb_callname : array[0..(NCBNAMSZ)-1] of UCHAR; 5110 ncb_name : array[0..(NCBNAMSZ)-1] of UCHAR; 5111 ncb_rto : UCHAR; 5112 ncb_sto : UCHAR; 5113 ncb_post : procedure (_para1:p_NCB);CDECL; 5114 ncb_lana_num : UCHAR; 5115 ncb_cmd_cplt : UCHAR; 5116 ncb_reserve : array[0..9] of UCHAR; 5117 ncb_event : HANDLE; 5118 end; 5119 _NCB = NCB; 5120 TNCB = NCB; 5121 PNCB = ^NCB; 5122 5123 NCCALCSIZE_PARAMS = record 5124 rgrc : array[0..2] of RECT; 5125 lppos : PWINDOWPOS; 5126 end; 5127 _NCCALCSIZE_PARAMS = NCCALCSIZE_PARAMS; 5128 TNCCALCSIZEPARAMS = NCCALCSIZE_PARAMS; 5129 PNCCALCSIZEPARAMS = ^NCCALCSIZE_PARAMS; 5130 5131 NDDESHAREINFO = record 5132 lRevision : LONG; 5133 lpszShareName : LPTSTR; 5134 lShareType : LONG; 5135 lpszAppTopicList : LPTSTR; 5136 fSharedFlag : LONG; 5137 fService : LONG; 5138 fStartAppFlag : LONG; 5139 nCmdShow : LONG; 5140 qModifyId : array[0..1] of LONG; 5141 cNumItems : LONG; 5142 lpszItemList : LPTSTR; 5143 end; 5144 _NDDESHAREINFO = NDDESHAREINFO; 5145 TNDDESHAREINFO = NDDESHAREINFO; 5146 PNDDESHAREINFO = ^NDDESHAREINFO; 5147 5148 NETRESOURCE = record 5149 dwScope : DWORD; 5150 dwType : DWORD; 5151 dwDisplayType : DWORD; 5152 dwUsage : DWORD; 5153 lpLocalName : LPTSTR; 5154 lpRemoteName : LPTSTR; 5155 lpComment : LPTSTR; 5156 lpProvider : LPTSTR; 5157 end; 5158 LPNETRESOURCE = ^NETRESOURCE; 5159 _NETRESOURCE = NETRESOURCE; 5160 TNETRESOURCE = NETRESOURCE; 5161 TNETRESOURCEA = NETRESOURCE; 5162 PNETRESOURCE = ^NETRESOURCE; 5163 PNETRESOURCEA = ^NETRESOURCE; 5164 5165 NETRESOURCEW = record //+winnetwk 5166 dwScope : DWORD; 5167 dwType : DWORD; 5168 dwDisplayType : DWORD; 5169 dwUsage : DWORD; 5170 lpLocalName : LPWSTR; 5171 lpRemoteName : LPWSTR; 5172 lpComment : LPWSTR; 5173 lpProvider : LPWSTR; 5174 end; 5175 LPNETRESOURCEW = ^NETRESOURCEW; //+winnetwk 5176 _NETRESOURCEW = NETRESOURCEW; //+winnetwk 5177 5178 NEWCPLINFO = record 5179 dwSize : DWORD; 5180 dwFlags : DWORD; 5181 dwHelpContext : DWORD; 5182 lData : LONG; 5183 hIcon : HICON; 5184 szName : array[0..31] of TCHAR; 5185 szInfo : array[0..63] of TCHAR; 5186 szHelpFile : array[0..127] of TCHAR; 5187 end; 5188 tagNEWCPLINFO = NEWCPLINFO; 5189 TNEWCPLINFO = NEWCPLINFO; 5190 PNEWCPLINFO = ^NEWCPLINFO; 5191 5192 NEWTEXTMETRIC = record 5193 tmHeight : LONG; 5194 tmAscent : LONG; 5195 tmDescent : LONG; 5196 tmInternalLeading : LONG; 5197 tmExternalLeading : LONG; 5198 tmAveCharWidth : LONG; 5199 tmMaxCharWidth : LONG; 5200 tmWeight : LONG; 5201 tmOverhang : LONG; 5202 tmDigitizedAspectX : LONG; 5203 tmDigitizedAspectY : LONG; 5204 tmFirstChar : BCHAR; 5205 tmLastChar : BCHAR; 5206 tmDefaultChar : BCHAR; 5207 tmBreakChar : BCHAR; 5208 tmItalic : BYTE; 5209 tmUnderlined : BYTE; 5210 tmStruckOut : BYTE; 5211 tmPitchAndFamily : BYTE; 5212 tmCharSet : BYTE; 5213 ntmFlags : DWORD; 5214 ntmSizeEM : UINT; 5215 ntmCellHeight : UINT; 5216 ntmAvgWidth : UINT; 5217 end; 5218 tagNEWTEXTMETRIC = NEWTEXTMETRIC; 5219 TNEWTEXTMETRIC = NEWTEXTMETRIC; 5220 PNEWTEXTMETRIC = ^NEWTEXTMETRIC; 5221 5222 NEWTEXTMETRICEX = record 5223 ntmentm : NEWTEXTMETRIC; 5224 ntmeFontSignature : FONTSIGNATURE; 5225 end; 5226 tagNEWTEXTMETRICEX = NEWTEXTMETRICEX; 5227 TNEWTEXTMETRICEX = NEWTEXTMETRICEX; 5228 PNEWTEXTMETRICEX = ^NEWTEXTMETRICEX; 5229 5230 NM_LISTVIEW = record 5231 hdr : NMHDR; 5232 iItem : longint; 5233 iSubItem : longint; 5234 uNewState : UINT; 5235 uOldState : UINT; 5236 uChanged : UINT; 5237 ptAction : POINT; 5238 lParam : LPARAM; 5239 end; 5240 tagNM_LISTVIEW = NM_LISTVIEW; 5241 TNMLISTVIEW = NM_LISTVIEW; 5242 PNMLISTVIEW = ^NM_LISTVIEW; 5243 5244 TV_ITEM = record 5245 mask : UINT; 5246 hItem : HTREEITEM; 5247 state : UINT; 5248 stateMask : UINT; 5249 pszText : LPTSTR; 5250 cchTextMax : longint; 5251 iImage : longint; 5252 iSelectedImage : longint; 5253 cChildren : longint; 5254 lParam : LPARAM; 5255 end; 5256 LPTV_ITEM = ^TV_ITEM; 5257 _TV_ITEM = TV_ITEM; 5258 TTVITEM = TV_ITEM; 5259 PTVITEM = ^TV_ITEM; 5260 5261 NM_TREEVIEW = record 5262 hdr : NMHDR; 5263 action : UINT; 5264 itemOld : TV_ITEM; 5265 itemNew : TV_ITEM; 5266 ptDrag : POINT; 5267 end; 5268 LPNM_TREEVIEW = ^NM_TREEVIEW; 5269 _NM_TREEVIEW = NM_TREEVIEW; 5270 TNMTREEVIEW = NM_TREEVIEW; 5271 PNMTREEVIEW = ^NM_TREEVIEW; 5272 5273 NM_UPDOWNW = record 5274 hdr : NMHDR; 5275 iPos : longint; 5276 iDelta : longint; 5277 end; 5278 _NM_UPDOWN = NM_UPDOWNW; 5279 TNMUPDOWN = NM_UPDOWNW; 5280 PNMUPDOWN = ^NM_UPDOWNW; 5281 5282 NONCLIENTMETRICS = record 5283 cbSize : UINT; 5284 iBorderWidth : longint; 5285 iScrollWidth : longint; 5286 iScrollHeight : longint; 5287 iCaptionWidth : longint; 5288 iCaptionHeight : longint; 5289 lfCaptionFont : LOGFONT; 5290 iSmCaptionWidth : longint; 5291 iSmCaptionHeight : longint; 5292 lfSmCaptionFont : LOGFONT; 5293 iMenuWidth : longint; 5294 iMenuHeight : longint; 5295 lfMenuFont : LOGFONT; 5296 lfStatusFont : LOGFONT; 5297 lfMessageFont : LOGFONT; 5298 end; 5299 LPNONCLIENTMETRICS = ^NONCLIENTMETRICS; 5300 tagNONCLIENTMETRICS = NONCLIENTMETRICS; 5301 TNONCLIENTMETRICS = NONCLIENTMETRICS; 5302 PNONCLIENTMETRICS = ^NONCLIENTMETRICS; 5303 5304 SERVICE_ADDRESS = record 5305 dwAddressType : DWORD; 5306 dwAddressFlags : DWORD; 5307 dwAddressLength : DWORD; 5308 dwPrincipalLength : DWORD; 5309 lpAddress : ^BYTE; 5310 lpPrincipal : ^BYTE; 5311 end; 5312 _SERVICE_ADDRESS = SERVICE_ADDRESS; 5313 TSERVICEADDRESS = SERVICE_ADDRESS; 5314 PSERVICEADDRESS = ^SERVICE_ADDRESS; 5315 5316 SERVICE_ADDRESSES = record 5317 dwAddressCount : DWORD; 5318 Addresses : array[0..0] of SERVICE_ADDRESS; 5319 end; 5320 LPSERVICE_ADDRESSES = ^SERVICE_ADDRESSES; 5321 _SERVICE_ADDRESSES = SERVICE_ADDRESSES; 5322 TSERVICEADDRESSES = SERVICE_ADDRESSES; 5323 PSERVICEADDRESSES = ^SERVICE_ADDRESSES; 5324 5325 GUID = system.tguid; //winnt 5326 LPGUID = ^GUID; 5327 _GUID = GUID; 5328 TGUID = GUID; 5329 PGUID = ^GUID; 5330 REFGUID = ^GUID; 5331 5332 CLSID = GUID; 5333 LPCLSID = ^CLSID; 5334 TCLSID = CLSID; 5335 PCLSID = ^CLSID; 5336 REFCLSID = ^CLSID; 5337 5338 FMTID = GUID; 5339 LPFMTID = ^FMTID; 5340 REFFMTID = ^FMTID; 5341 5342 5343 SERVICE_INFO = record 5344 lpServiceType : LPGUID; 5345 lpServiceName : LPTSTR; 5346 lpComment : LPTSTR; 5347 lpLocale : LPTSTR; 5348 dwDisplayHint : DWORD; 5349 dwVersion : DWORD; 5350 dwTime : DWORD; 5351 lpMachineName : LPTSTR; 5352 lpServiceAddress : LPSERVICE_ADDRESSES; 5353 ServiceSpecificInfo : BLOB; 5354 end; 5355 _SERVICE_INFO = SERVICE_INFO; 5356 TSERVICEINFO = SERVICE_INFO; 5357 PSERVICEINFO = ^SERVICE_INFO; 5358 5359 NS_SERVICE_INFO = record 5360 dwNameSpace : DWORD; 5361 ServiceInfo : SERVICE_INFO; 5362 end; 5363 _NS_SERVICE_INFO = NS_SERVICE_INFO; 5364 TNSSERVICEINFO = NS_SERVICE_INFO; 5365 PNSSERVICEINFO = ^NS_SERVICE_INFO; 5366 5367 NUMBERFMT = record 5368 NumDigits : UINT; 5369 LeadingZero : UINT; 5370 Grouping : UINT; 5371 lpDecimalSep : LPTSTR; 5372 lpThousandSep : LPTSTR; 5373 NegativeOrder : UINT; 5374 end; 5375 _numberfmt = NUMBERFMT; 5376 Tnumberfmt = NUMBERFMT; 5377 Pnumberfmt = ^NUMBERFMT; 5378 5379 OFSTRUCT = record 5380 cBytes : BYTE; 5381 fFixedDisk : BYTE; 5382 nErrCode : WORD; 5383 Reserved1 : WORD; 5384 Reserved2 : WORD; 5385 szPathName : array[0..(OFS_MAXPATHNAME)-1] of CHAR; 5386 end; 5387 LPOFSTRUCT = ^OFSTRUCT; 5388 _OFSTRUCT = OFSTRUCT; 5389 TOFSTRUCT = OFSTRUCT; 5390 POFSTRUCT = ^OFSTRUCT; 5391 5392 OPENFILENAMEW = record //+commdlg 5393 lStructSize : DWORD; 5394 hwndOwner : HWND; 5395 hInstance : HINST; 5396 lpstrFilter : LPCWSTR; 5397 lpstrCustomFilter : LPWSTR; 5398 nMaxCustFilter : DWORD; 5399 nFilterIndex : DWORD; 5400 lpstrFile : LPWSTR; 5401 nMaxFile : DWORD; 5402 lpstrFileTitle : LPWSTR; 5403 nMaxFileTitle : DWORD; 5404 lpstrInitialDir : LPCWSTR; 5405 lpstrTitle : LPCWSTR; 5406 Flags : DWORD; 5407 nFileOffset : WORD; 5408 nFileExtension : WORD; 5409 lpstrDefExt : LPCWSTR; 5410 lCustData : LPARAM; 5411 lpfnHook : LPOFNHOOKPROC; 5412 lpTemplateName : LPCWSTR; 5413 end; 5414 LPOPENFILENAMEW = ^OPENFILENAMEW; //+commdlg 5415 tagOFNW = OPENFILENAMEW; //+commdlg 5416 LPOPENFILENAME = ^OPENFILENAMEW; 5417 TOPENFILENAME = OPENFILENAMEW; 5418 POPENFILENAME = ^OPENFILENAMEW; 5419 TOPENFILENAMEW = OPENFILENAMEW; 5420 POPENFILENAMEW = ^OPENFILENAMEW; 5421 5422 tagOFN = OPENFILENAMEW; 5423 TOFN = OPENFILENAMEW; 5424 POFN = ^OPENFILENAMEW; 5425 5426 OFNOTIFY = record 5427 hdr : NMHDR; 5428 lpOFN : LPOPENFILENAME; 5429 pszFile : LPTSTR; 5430 end; 5431 LPOFNOTIFY = ^OFNOTIFY; 5432 _OFNOTIFY = OFNOTIFY; 5433 TOFNOTIFY = OFNOTIFY; 5434 POFNOTIFY = ^OFNOTIFY; 5435 5436 OSVERSIONINFO = record 5437 dwOSVersionInfoSize : DWORD; 5438 dwMajorVersion : DWORD; 5439 dwMinorVersion : DWORD; 5440 dwBuildNumber : DWORD; 5441 dwPlatformId : DWORD; 5442 szCSDVersion : array[0..127] of TCHAR; 5443 end; 5444 LPOSVERSIONINFO = ^OSVERSIONINFO; 5445 _OSVERSIONINFO = OSVERSIONINFO; 5446 TOSVERSIONINFO = OSVERSIONINFO; 5447 POSVERSIONINFO = ^OSVERSIONINFO; 5448 5449 OSVERSIONINFOW = record 5450 dwOSVersionInfoSize : DWORD; 5451 dwMajorVersion : DWORD; 5452 dwMinorVersion : DWORD; 5453 dwBuildNumber : DWORD; 5454 dwPlatformId : DWORD; 5455 szCSDVersion : array[0..127] of WCHAR; 5456 end; 5457 LPOSVERSIONINFOW = ^OSVERSIONINFOW; 5458 _OSVERSIONINFOW = OSVERSIONINFOW; 5459 TOSVERSIONINFOW = OSVERSIONINFOW; 5460 POSVERSIONINFOW = ^OSVERSIONINFOW; 5461 5462 5463 5464 5465 5466 TEXTMETRIC = record 5467 tmHeight : LONG; 5468 tmAscent : LONG; 5469 tmDescent : LONG; 5470 tmInternalLeading : LONG; 5471 tmExternalLeading : LONG; 5472 tmAveCharWidth : LONG; 5473 tmMaxCharWidth : LONG; 5474 tmWeight : LONG; 5475 tmOverhang : LONG; 5476 tmDigitizedAspectX : LONG; 5477 tmDigitizedAspectY : LONG; 5478 tmFirstChar : BCHAR; 5479 tmLastChar : BCHAR; 5480 tmDefaultChar : BCHAR; 5481 tmBreakChar : BCHAR; 5482 tmItalic : BYTE; 5483 tmUnderlined : BYTE; 5484 tmStruckOut : BYTE; 5485 tmPitchAndFamily : BYTE; 5486 tmCharSet : BYTE; 5487 end; 5488 LPTEXTMETRIC = ^TEXTMETRIC; 5489 tagTEXTMETRIC = TEXTMETRIC; 5490 TTEXTMETRIC = TEXTMETRIC; 5491 PTEXTMETRIC = ^TEXTMETRIC; 5492 5493 TEXTMETRICW = record 5494 tmHeight : LONG; 5495 tmAscent : LONG; 5496 tmDescent : LONG; 5497 tmInternalLeading : LONG; 5498 tmExternalLeading : LONG; 5499 tmAveCharWidth : LONG; 5500 tmMaxCharWidth : LONG; 5501 tmWeight : LONG; 5502 tmOverhang : LONG; 5503 tmDigitizedAspectX : LONG; 5504 tmDigitizedAspectY : LONG; 5505 tmFirstChar : WCHAR; 5506 tmLastChar : WCHAR; 5507 tmDefaultChar : WCHAR; 5508 tmBreakChar : WCHAR; 5509 tmItalic : BYTE; 5510 tmUnderlined : BYTE; 5511 tmStruckOut : BYTE; 5512 tmPitchAndFamily : BYTE; 5513 tmCharSet : BYTE; 5514 end; 5515 LPTEXTMETRICW = ^TEXTMETRICW; 5516 tagTEXTMETRICW = TEXTMETRICW; 5517 TTEXTMETRICW = TEXTMETRICW; 5518 PTEXTMETRICW = ^TEXTMETRICW; 5519 5520 5521 OUTLINETEXTMETRIC = record 5522 otmSize : UINT; 5523 otmTextMetrics : TEXTMETRIC; 5524 otmFiller : BYTE; 5525 otmPanoseNumber : PANOSE; 5526 otmfsSelection : UINT; 5527 otmfsType : UINT; 5528 otmsCharSlopeRise : longint; 5529 otmsCharSlopeRun : longint; 5530 otmItalicAngle : longint; 5531 otmEMSquare : UINT; 5532 otmAscent : longint; 5533 otmDescent : longint; 5534 otmLineGap : UINT; 5535 otmsCapEmHeight : UINT; 5536 otmsXHeight : UINT; 5537 otmrcFontBox : RECT; 5538 otmMacAscent : longint; 5539 otmMacDescent : longint; 5540 otmMacLineGap : UINT; 5541 otmusMinimumPPEM : UINT; 5542 otmptSubscriptSize : POINT; 5543 otmptSubscriptOffset : POINT; 5544 otmptSuperscriptSize : POINT; 5545 otmptSuperscriptOffset : POINT; 5546 otmsStrikeoutSize : UINT; 5547 otmsStrikeoutPosition : longint; 5548 otmsUnderscoreSize : longint; 5549 otmsUnderscorePosition : longint; 5550 otmpFamilyName : PSTR; 5551 otmpFaceName : PSTR; 5552 otmpStyleName : PSTR; 5553 otmpFullName : PSTR; 5554 end; 5555 LPOUTLINETEXTMETRIC = ^OUTLINETEXTMETRIC; 5556 _OUTLINETEXTMETRIC = OUTLINETEXTMETRIC; 5557 TOUTLINETEXTMETRIC = OUTLINETEXTMETRIC; 5558 POUTLINETEXTMETRIC = ^OUTLINETEXTMETRIC; 5559 5560 OVERLAPPED = record 5561 Internal : DWORD; 5562 InternalHigh : DWORD; 5563 Offset : DWORD; 5564 OffsetHigh : DWORD; 5565 hEvent : HANDLE; 5566 end; 5567 LPOVERLAPPED = ^OVERLAPPED; 5568 _OVERLAPPED = OVERLAPPED; 5569 TOVERLAPPED = OVERLAPPED; 5570 POVERLAPPED = ^OVERLAPPED; 5571 5572 {PAGESETUPDLG = record conflicts with function PageSetupDlg } 5573 TPAGESETUPDLG = record 5574 lStructSize : DWORD; 5575 hwndOwner : HWND; 5576 hDevMode : HGLOBAL; 5577 hDevNames : HGLOBAL; 5578 Flags : DWORD; 5579 ptPaperSize : POINT; 5580 rtMinMargin : RECT; 5581 rtMargin : RECT; 5582 hInstance : HINST; 5583 lCustData : LPARAM; 5584 lpfnPageSetupHook : LPPAGESETUPHOOK; 5585 lpfnPagePaintHook : LPPAGEPAINTHOOK; 5586 lpPageSetupTemplateName : LPCTSTR; 5587 hPageSetupTemplate : HGLOBAL; 5588 end; 5589 LPPAGESETUPDLG = ^TPAGESETUPDLG; 5590 PPAGESETUPDLG = ^TPAGESETUPDLG; 5591 5592 tagPSD = TPAGESETUPDLG; 5593 TPSD = TPAGESETUPDLG; 5594 PPSD = ^TPAGESETUPDLG; 5595 5596 TPAGESETUPDLGW = record //+commdlg 5597 lStructSize : DWORD; 5598 hwndOwner : HWND; 5599 hDevMode : HGLOBAL; 5600 hDevNames : HGLOBAL; 5601 Flags : DWORD; 5602 ptPaperSize : POINT; // ignored in CE 5603 rtMinMargin : RECT; 5604 rtMargin : RECT; 5605 hInstance : HINST; 5606 lCustData : LPARAM; 5607 lpfnPageSetupHook : LPPAGESETUPHOOK; 5608 lpfnPagePaintHook : LPPAGEPAINTHOOK; // ignored in CE 5609 lpPageSetupTemplateName : LPCWSTR; 5610 hPageSetupTemplate : HGLOBAL; 5611 end; 5612 LPPAGESETUPDLGW = ^TPAGESETUPDLGW; //+commdlg 5613 tagPSDW = TPAGESETUPDLGW; //+commdlg 5614 5615 PAINTSTRUCT = record 5616 hdc : HDC; 5617 fErase : WINBOOL; 5618 rcPaint : RECT; 5619 fRestore : WINBOOL; 5620 fIncUpdate : WINBOOL; 5621 rgbReserved : array[0..31] of BYTE; 5622 end; 5623 LPPAINTSTRUCT = ^PAINTSTRUCT; 5624 tagPAINTSTRUCT = PAINTSTRUCT; 5625 TPAINTSTRUCT = PAINTSTRUCT; 5626 PPAINTSTRUCT = ^PAINTSTRUCT; 5627 5628 PARAFORMAT = record 5629 cbSize : UINT; 5630 dwMask : DWORD; 5631 wNumbering : WORD; 5632 wReserved : WORD; 5633 dxStartIndent : LONG; 5634 dxRightIndent : LONG; 5635 dxOffset : LONG; 5636 wAlignment : WORD; 5637 cTabCount : SHORT; 5638 rgxTabs : array[0..(MAX_TAB_STOPS)-1] of LONG; 5639 end; 5640 _paraformat = PARAFORMAT; 5641 Tparaformat = PARAFORMAT; 5642 Pparaformat = ^PARAFORMAT; 5643 5644 PERF_COUNTER_BLOCK = record 5645 ByteLength : DWORD; 5646 end; 5647 _PERF_COUNTER_BLOCK = PERF_COUNTER_BLOCK; 5648 TPERFCOUNTERBLOCK = PERF_COUNTER_BLOCK; 5649 PPERFCOUNTERBLOCK = ^PERF_COUNTER_BLOCK; 5650 5651 PERF_COUNTER_DEFINITION = record 5652 ByteLength : DWORD; 5653 CounterNameTitleIndex : DWORD; 5654 CounterNameTitle : LPWSTR; 5655 CounterHelpTitleIndex : DWORD; 5656 CounterHelpTitle : LPWSTR; 5657 DefaultScale : DWORD; 5658 DetailLevel : DWORD; 5659 CounterType : DWORD; 5660 CounterSize : DWORD; 5661 CounterOffset : DWORD; 5662 end; 5663 _PERF_COUNTER_DEFINITION = PERF_COUNTER_DEFINITION; 5664 TPERFCOUNTERDEFINITION = PERF_COUNTER_DEFINITION; 5665 PPERFCOUNTERDEFINITION = ^PERF_COUNTER_DEFINITION; 5666 5667 PERF_DATA_BLOCK = record 5668 Signature : array[0..3] of WCHAR; 5669 LittleEndian : DWORD; 5670 Version : DWORD; 5671 Revision : DWORD; 5672 TotalByteLength : DWORD; 5673 HeaderLength : DWORD; 5674 NumObjectTypes : DWORD; 5675 DefaultObject : DWORD; 5676 SystemTime : SYSTEMTIME; 5677 PerfTime : LARGE_INTEGER; 5678 PerfFreq : LARGE_INTEGER; 5679 PerfTime100nSec : LARGE_INTEGER; 5680 SystemNameLength : DWORD; 5681 SystemNameOffset : DWORD; 5682 end; 5683 _PERF_DATA_BLOCK = PERF_DATA_BLOCK; 5684 TPERFDATABLOCK = PERF_DATA_BLOCK; 5685 PPERFDATABLOCK = ^PERF_DATA_BLOCK; 5686 5687 PERF_INSTANCE_DEFINITION = record 5688 ByteLength : DWORD; 5689 ParentObjectTitleIndex : DWORD; 5690 ParentObjectInstance : DWORD; 5691 UniqueID : DWORD; 5692 NameOffset : DWORD; 5693 NameLength : DWORD; 5694 end; 5695 _PERF_INSTANCE_DEFINITION = PERF_INSTANCE_DEFINITION; 5696 TPERFINSTANCEDEFINITION = PERF_INSTANCE_DEFINITION; 5697 PPERFINSTANCEDEFINITION = PERF_INSTANCE_DEFINITION; 5698 5699 PERF_OBJECT_TYPE = record 5700 TotalByteLength : DWORD; 5701 DefinitionLength : DWORD; 5702 HeaderLength : DWORD; 5703 ObjectNameTitleIndex : DWORD; 5704 ObjectNameTitle : LPWSTR; 5705 ObjectHelpTitleIndex : DWORD; 5706 ObjectHelpTitle : LPWSTR; 5707 DetailLevel : DWORD; 5708 NumCounters : DWORD; 5709 DefaultCounter : DWORD; 5710 NumInstances : DWORD; 5711 CodePage : DWORD; 5712 PerfTime : LARGE_INTEGER; 5713 PerfFreq : LARGE_INTEGER; 5714 end; 5715 _PERF_OBJECT_TYPE = PERF_OBJECT_TYPE; 5716 TPERFOBJECTTYPE = PERF_OBJECT_TYPE; 5717 PPERFOBJECTTYPE = ^PERF_OBJECT_TYPE; 5718 5719 POLYTEXT = record 5720 x : longint; 5721 y : longint; 5722 n : UINT; 5723 lpstr : LPCTSTR; 5724 uiFlags : UINT; 5725 rcl : RECT; 5726 pdx : ^longint; 5727 end; 5728 _POLYTEXT = POLYTEXT; 5729 TPOLYTEXT = POLYTEXT; 5730 PPOLYTEXT = ^POLYTEXT; 5731 5732 PORT_INFO_1 = record 5733 pName : LPTSTR; 5734 end; 5735 _PORT_INFO_1 = PORT_INFO_1; 5736 TPORTINFO1 = PORT_INFO_1; 5737 PPORTINFO1 = ^PORT_INFO_1; 5738 5739 PORT_INFO_2 = record 5740 pPortName : LPSTR; 5741 pMonitorName : LPSTR; 5742 pDescription : LPSTR; 5743 fPortType : DWORD; 5744 Reserved : DWORD; 5745 end; 5746 _PORT_INFO_2 = PORT_INFO_2; 5747 TPORTINFO2 = PORT_INFO_2; 5748 PPORTINFO2 = ^PORT_INFO_2; 5749 5750 PREVENT_MEDIA_REMOVAL = record 5751 PreventMediaRemoval : BOOLEAN; 5752 end; 5753 _PREVENT_MEDIA_REMOVAL = PREVENT_MEDIA_REMOVAL; 5754 TPREVENTMEDIAREMOVAL = PREVENT_MEDIA_REMOVAL; 5755 PPREVENTMEDIAREMOVAL = ^PREVENT_MEDIA_REMOVAL; 5756 5757 {PRINTDLG = record conflicts with PrintDlg function } 5758 TPRINTDLG = packed record 5759 lStructSize : DWORD; 5760 hwndOwner : HWND; 5761 hDevMode : HANDLE; 5762 hDevNames : HANDLE; 5763 hDC : HDC; 5764 Flags : DWORD; 5765 nFromPage : WORD; 5766 nToPage : WORD; 5767 nMinPage : WORD; 5768 nMaxPage : WORD; 5769 nCopies : WORD; 5770 hInstance : HINST; 5771 lCustData : DWORD; 5772 lpfnPrintHook : LPPRINTHOOKPROC; 5773 lpfnSetupHook : LPSETUPHOOKPROC; 5774 lpPrintTemplateName : LPCTSTR; 5775 lpSetupTemplateName : LPCTSTR; 5776 hPrintTemplate : HANDLE; 5777 hSetupTemplate : HANDLE; 5778 end; 5779 LPPRINTDLG = ^TPRINTDLG; 5780 PPRINTDLG = ^TPRINTDLG; 5781 5782 tagPD = TPRINTDLG; 5783 TPD = TPRINTDLG; 5784 PPD = ^TPRINTDLG; 5785 5786 PRINTER_DEFAULTS = record 5787 pDatatype : LPTSTR; 5788 pDevMode : LPDEVMODE; 5789 DesiredAccess : ACCESS_MASK; 5790 end; 5791 _PRINTER_DEFAULTS = PRINTER_DEFAULTS; 5792 TPRINTERDEFAULTS = PRINTER_DEFAULTS; 5793 PPRINTERDEFAULTS = ^PRINTER_DEFAULTS; 5794 5795 PRINTER_INFO_1 = record 5796 Flags : DWORD; 5797 pDescription : LPTSTR; 5798 pName : LPTSTR; 5799 pComment : LPTSTR; 5800 end; 5801 LPPRINTER_INFO_1 = ^PRINTER_INFO_1; 5802 PPRINTER_INFO_1 = ^PRINTER_INFO_1; 5803 _PRINTER_INFO_1 = PRINTER_INFO_1; 5804 TPRINTERINFO1 = PRINTER_INFO_1; 5805 PPRINTERINFO1 = ^PRINTER_INFO_1; 5806 5807 PRINTER_INFO_2 = record 5808 pServerName : LPTSTR; 5809 pPrinterName : LPTSTR; 5810 pShareName : LPTSTR; 5811 pPortName : LPTSTR; 5812 pDriverName : LPTSTR; 5813 pComment : LPTSTR; 5814 pLocation : LPTSTR; 5815 pDevMode : LPDEVMODE; 5816 pSepFile : LPTSTR; 5817 pPrintProcessor : LPTSTR; 5818 pDatatype : LPTSTR; 5819 pParameters : LPTSTR; 5820 pSecurityDescriptor : PSECURITY_DESCRIPTOR; 5821 Attributes : DWORD; 5822 Priority : DWORD; 5823 DefaultPriority : DWORD; 5824 StartTime : DWORD; 5825 UntilTime : DWORD; 5826 Status : DWORD; 5827 cJobs : DWORD; 5828 AveragePPM : DWORD; 5829 end; 5830 _PRINTER_INFO_2 = PRINTER_INFO_2; 5831 TPRINTERINFO2 = PRINTER_INFO_2; 5832 PPRINTERINFO2 = ^PRINTER_INFO_2; 5833 5834 PRINTER_INFO_3 = record 5835 pSecurityDescriptor : PSECURITY_DESCRIPTOR; 5836 end; 5837 _PRINTER_INFO_3 = PRINTER_INFO_3; 5838 TPRINTERINFO3 = PRINTER_INFO_3; 5839 PPRINTERINFO3 = ^PRINTER_INFO_3; 5840 5841 PRINTER_INFO_4 = record 5842 pPrinterName : LPTSTR; 5843 pServerName : LPTSTR; 5844 Attributes : DWORD; 5845 end; 5846 _PRINTER_INFO_4 = PRINTER_INFO_4; 5847 TPRINTERINFO4 = PRINTER_INFO_4; 5848 PPRINTERINFO4 = ^PRINTER_INFO_4; 5849 5850 PRINTER_INFO_5 = record 5851 pPrinterName : LPTSTR; 5852 pPortName : LPTSTR; 5853 Attributes : DWORD; 5854 DeviceNotSelectedTimeout : DWORD; 5855 TransmissionRetryTimeout : DWORD; 5856 end; 5857 _PRINTER_INFO_5 = PRINTER_INFO_5; 5858 TPRINTERINFO5 = PRINTER_INFO_5; 5859 PPRINTERINFO5 = ^PRINTER_INFO_5; 5860 5861 PRINTER_NOTIFY_INFO_DATA = record 5862 _Type : WORD; 5863 Field : WORD; 5864 Reserved : DWORD; 5865 Id : DWORD; 5866 NotifyData : record 5867 case longint of 5868 0 : ( adwData : array[0..1] of DWORD ); 5869 1 : ( Data : record 5870 cbBuf : DWORD; 5871 pBuf : LPVOID; 5872 end ); 5873 end; 5874 end; 5875 _PRINTER_NOTIFY_INFO_DATA = PRINTER_NOTIFY_INFO_DATA; 5876 TPRINTERNOTIFYINFODATA = PRINTER_NOTIFY_INFO_DATA; 5877 PPRINTERNOTIFYINFODATA = ^PRINTER_NOTIFY_INFO_DATA; 5878 5879 PRINTER_NOTIFY_INFO = record 5880 Version : DWORD; 5881 Flags : DWORD; 5882 Count : DWORD; 5883 aData : array[0..0] of PRINTER_NOTIFY_INFO_DATA; 5884 end; 5885 _PRINTER_NOTIFY_INFO = PRINTER_NOTIFY_INFO; 5886 TPRINTERNOTIFYINFO = PRINTER_NOTIFY_INFO; 5887 PPRINTERNOTIFYINFO = ^PRINTER_NOTIFY_INFO; 5888 5889 PRINTER_NOTIFY_OPTIONS_TYPE = record 5890 _Type : WORD; 5891 Reserved0 : WORD; 5892 Reserved1 : DWORD; 5893 Reserved2 : DWORD; 5894 Count : DWORD; 5895 pFields : PWORD; 5896 end; 5897 PPRINTER_NOTIFY_OPTIONS_TYPE = ^PRINTER_NOTIFY_OPTIONS_TYPE; 5898 _PRINTER_NOTIFY_OPTIONS_TYPE = PRINTER_NOTIFY_OPTIONS_TYPE; 5899 TPRINTERNOTIFYOPTIONSTYPE = PRINTER_NOTIFY_OPTIONS_TYPE; 5900 PPRINTERNOTIFYOPTIONSTYPE = ^PRINTER_NOTIFY_OPTIONS_TYPE; 5901 5902 PRINTER_NOTIFY_OPTIONS = record 5903 Version : DWORD; 5904 Flags : DWORD; 5905 Count : DWORD; 5906 pTypes : PPRINTER_NOTIFY_OPTIONS_TYPE; 5907 end; 5908 _PRINTER_NOTIFY_OPTIONS = PRINTER_NOTIFY_OPTIONS; 5909 TPRINTERNOTIFYOPTIONS = PRINTER_NOTIFY_OPTIONS; 5910 PPRINTERNOTIFYOPTIONS = ^PRINTER_NOTIFY_OPTIONS; 5911 5912 PRINTPROCESSOR_INFO_1 = record 5913 pName : LPTSTR; 5914 end; 5915 _PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1; 5916 TPRINTPROCESSORINFO1 = PRINTPROCESSOR_INFO_1; 5917 PPRINTPROCESSORINFO1 = ^PRINTPROCESSOR_INFO_1; 5918 5919 PRIVILEGE_SET = record 5920 PrivilegeCount : DWORD; 5921 Control : DWORD; 5922 Privilege : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES; 5923 end; 5924 LPPRIVILEGE_SET = ^PRIVILEGE_SET; 5925 PPRIVILEGE_SET = ^PRIVILEGE_SET; 5926 _PRIVILEGE_SET = PRIVILEGE_SET; 5927 TPRIVILEGESET = PRIVILEGE_SET; 5928 PPRIVILEGESET = ^PRIVILEGE_SET; 5929 5930 PROCESS_HEAPENTRY = record 5931 lpData : PVOID; 5932 cbData : DWORD; 5933 cbOverhead : BYTE; 5934 iRegionIndex : BYTE; 5935 wFlags : WORD; 5936 dwCommittedSize : DWORD; 5937 dwUnCommittedSize : DWORD; 5938 lpFirstBlock : LPVOID; 5939 lpLastBlock : LPVOID; 5940 hMem : HANDLE; 5941 end; 5942 LPPROCESS_HEAP_ENTRY = ^PROCESS_HEAPENTRY; 5943 _PROCESS_HEAP_ENTRY = PROCESS_HEAPENTRY; 5944 TPROCESSHEAPENTRY = PROCESS_HEAPENTRY; 5945 PPROCESSHEAPENTRY = ^PROCESS_HEAPENTRY; 5946 5947 PROCESS_INFORMATION = record 5948 hProcess : HANDLE; 5949 hThread : HANDLE; 5950 dwProcessId : DWORD; 5951 dwThreadId : DWORD; 5952 end; 5953 LPPROCESS_INFORMATION = ^PROCESS_INFORMATION; 5954 _PROCESS_INFORMATION = PROCESS_INFORMATION; 5955 TPROCESSINFORMATION = PROCESS_INFORMATION; 5956 PPROCESSINFORMATION = ^PROCESS_INFORMATION; 5957 5958 LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT; 5959 TFNPSPCALLBACK = LPFNPSPCALLBACK; 5960 5961 PROPSHEETPAGEA = record 5962 dwSize : DWORD; 5963 dwFlags : DWORD; 5964 hInstance : HINST; 5965 case longint of 5966 0 : (pszTemplate : LPCTSTR); 5967 1 : (pResource : LPCDLGTEMPLATE; 5968 case longint of 5969 0 : (hIcon : HICON); 5970 1 : (pszIcon : LPCTSTR; 5971 pszTitle : LPCTSTR; 5972 pfnDlgProc : DLGPROC; 5973 lParam : LPARAM; 5974 pfnCallback : LPFNPSPCALLBACK; 5975 pcRefParent : ^UINT; 5976 ); 5977 ); 5978 end; 5979 LPPROPSHEETPAGEA = ^PROPSHEETPAGEA; 5980 LPCPROPSHEETPAGEA = ^PROPSHEETPAGEA; 5981 5982 PROPSHEETPAGEW = record 5983 dwSize : DWORD; 5984 dwFlags : DWORD; 5985 hInstance : HINST; 5986 case longint of 5987 0 : (pszTemplate : LPCWSTR); 5988 1 : (pResource : LPCDLGTEMPLATE; 5989 case longint of 5990 0 : (hIcon : HICON); 5991 1 : (pszIcon : LPCWSTR; 5992 pszTitle : LPCWSTR; 5993 pfnDlgProc : DLGPROC; 5994 lParam : LPARAM; 5995 pfnCallback : LPFNPSPCALLBACK; 5996 pcRefParent : ^UINT; 5997 ); 5998 ); 5999 end; 6000 LPPROPSHEETPAGEW = ^PROPSHEETPAGEW; 6001 LPCPROPSHEETPAGEW = ^PROPSHEETPAGEW; 6002 6003{$IFDEF UNICODE} 6004 LPPROPSHEETPAGE = ^PROPSHEETPAGEW; 6005 LPCPROPSHEETPAGE = ^PROPSHEETPAGEW; 6006 _PROPSHEETPAGE = PROPSHEETPAGEW; 6007 PROPSHEETPAGE = PROPSHEETPAGEW; 6008 TPROPSHEETPAGE = PROPSHEETPAGEW; 6009 PPROPSHEETPAGE = ^PROPSHEETPAGEW; 6010{$ELSE UNICODE} 6011 LPPROPSHEETPAGE = ^PROPSHEETPAGEA; 6012 LPCPROPSHEETPAGE = ^PROPSHEETPAGEA; 6013 _PROPSHEETPAGE = PROPSHEETPAGEA; 6014 PROPSHEETPAGE = PROPSHEETPAGEA; 6015 TPROPSHEETPAGE = PROPSHEETPAGEA; 6016 PPROPSHEETPAGE = ^PROPSHEETPAGEA; 6017{$ENDIF UNICODE} 6018 6019 emptyrecord = record 6020 end; 6021 lpemptyrecord = ^emptyrecord; 6022 HPROPSHEETPAGE = ^emptyrecord; 6023 6024 PROPSHEETHEADERA = record //prsht 6025 dwSize : DWORD; 6026 dwFlags : DWORD; 6027 hwndParent : HWND; 6028 hInstance : HINST; 6029 case longint of 6030 0 : (hIcon : HICON); 6031 1 : (pszIcon : LPCTSTR; 6032 pszCaption : LPCTSTR; 6033 nPages : UINT; 6034 case longint of 6035 0 : (nStartPage : UINT); 6036 1 : (pStartPage : LPCTSTR; 6037 case longint of 6038 0 : (ppsp : LPCPROPSHEETPAGE); 6039 1 : (phpage : ^HPROPSHEETPAGE; 6040 pfnCallback : PFNPROPSHEETCALLBACK; 6041 case longint of 6042 0 : (hbmWatermark : HBITMAP); 6043 1 : (pszbmWatermark : LPCTSTR; 6044 hplWatermark : HPALETTE; 6045 case longint of 6046 0 : (hbmHeader : HBITMAP); 6047 1 : (pszbmHeader: PAnsiChar); 6048 ); 6049 ); 6050 ); 6051 ); 6052 end; 6053 LPPROPSHEETHEADERA = ^PROPSHEETHEADERA; 6054 LPCPROPSHEETHEADERA = ^PROPSHEETHEADERA; 6055 PPROPSHEETHEADERA = ^PROPSHEETHEADERA; 6056 6057 PROPSHEETHEADERW = record //prsht 6058 dwSize : DWORD; 6059 dwFlags : DWORD; 6060 hwndParent : HWND; 6061 hInstance : HINST; 6062 case longint of 6063 0 : (hIcon : HICON); 6064 1 : (pszIcon : LPCWSTR; 6065 pszCaption : LPCWSTR; 6066 nPages : UINT; 6067 case longint of 6068 0 : (nStartPage : UINT); 6069 1 : (pStartPage : LPCWSTR; 6070 case longint of 6071 0 : (ppsp : LPCPROPSHEETPAGE); 6072 1 : (phpage : ^HPROPSHEETPAGE; 6073 pfnCallback : PFNPROPSHEETCALLBACK; 6074 ); 6075 ); 6076 ); 6077 end; 6078 6079 LPPROPSHEETHEADERW = ^PROPSHEETHEADERW; 6080 LPCPROPSHEETHEADERW = ^PROPSHEETHEADERW; 6081 PPROPSHEETHEADERW = ^PROPSHEETHEADERW; 6082 6083{$IFDEF UNICODE} 6084 _PROPSHEETHEADER = PROPSHEETHEADERW; 6085 PROPSHEETHEADER = PROPSHEETHEADERW; 6086 TPROPSHEETHEADER = PROPSHEETHEADERW; 6087 PPROPSHEETHEADER = ^PROPSHEETHEADERW; 6088 LPPROPSHEETHEADER = ^PROPSHEETHEADERW; 6089 LPCPROPSHEETHEADER = ^PROPSHEETHEADERW; 6090{$ELSE UNICODE} 6091 _PROPSHEETHEADER = PROPSHEETHEADERA; 6092 PROPSHEETHEADER = PROPSHEETHEADERA; 6093 TPROPSHEETHEADER = PROPSHEETHEADERA; 6094 PPROPSHEETHEADER = ^PROPSHEETHEADERA; 6095 LPPROPSHEETHEADER = ^PROPSHEETHEADERA; 6096 LPCPROPSHEETHEADER = ^PROPSHEETHEADERA; 6097{$ENDIF UNICODE} 6098 6099 6100 { PropertySheet callbacks } 6101 LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL; 6102 TFNADDPROPSHEETPAGE = LPFNADDPROPSHEETPAGE; 6103 6104 LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL; 6105 TFNADDPROPSHEETPAGES = LPFNADDPROPSHEETPAGES; 6106 6107 PROTOCOL_INFO = record 6108 dwServiceFlags : DWORD; 6109 iAddressFamily : WINT; 6110 iMaxSockAddr : WINT; 6111 iMinSockAddr : WINT; 6112 iSocketType : WINT; 6113 iProtocol : WINT; 6114 dwMessageSize : DWORD; 6115 lpProtocol : LPTSTR; 6116 end; 6117 _PROTOCOL_INFO = PROTOCOL_INFO; 6118 TPROTOCOLINFO = PROTOCOL_INFO; 6119 PPROTOCOLINFO = ^PROTOCOL_INFO; 6120 6121 PROVIDOR_INFO_1 = record 6122 pName : LPTSTR; 6123 pEnvironment : LPTSTR; 6124 pDLLName : LPTSTR; 6125 end; 6126 _PROVIDOR_INFO_1 = PROVIDOR_INFO_1; 6127 TPROVIDORINFO1 = PROVIDOR_INFO_1; 6128 PPROVIDORINFO1 = ^PROVIDOR_INFO_1; 6129 6130 PSHNOTIFY = record 6131 hdr : NMHDR; 6132 lParam : LPARAM; 6133 end; 6134 LPPSHNOTIFY = ^PSHNOTIFY; 6135 _PSHNOTIFY = PSHNOTIFY; 6136 TPSHNOTIFY = PSHNOTIFY; 6137 PPSHNOTIFY = ^PSHNOTIFY; 6138 6139 PUNCTUATION = record 6140 iSize : UINT; 6141 szPunctuation : LPSTR; 6142 end; 6143 _punctuation = PUNCTUATION; 6144 Tpunctuation = PUNCTUATION; 6145 Ppunctuation = ^PUNCTUATION; 6146 6147 QUERY_SERVICE_CONFIG = record 6148 dwServiceType : DWORD; 6149 dwStartType : DWORD; 6150 dwErrorControl : DWORD; 6151 lpBinaryPathName : LPTSTR; 6152 lpLoadOrderGroup : LPTSTR; 6153 dwTagId : DWORD; 6154 lpDependencies : LPTSTR; 6155 lpServiceStartName : LPTSTR; 6156 lpDisplayName : LPTSTR; 6157 end; 6158 LPQUERY_SERVICE_CONFIG = ^QUERY_SERVICE_CONFIG; 6159 _QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIG; 6160 TQUERYSERVICECONFIG = QUERY_SERVICE_CONFIG; 6161 PQUERYSERVICECONFIG = ^QUERY_SERVICE_CONFIG; 6162 6163 QUERY_SERVICE_LOCK_STATUS = record 6164 fIsLocked : DWORD; 6165 lpLockOwner : LPTSTR; 6166 dwLockDuration : DWORD; 6167 end; 6168 LPQUERY_SERVICE_LOCK_STATUS = ^QUERY_SERVICE_LOCK_STATUS; 6169 _QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUS; 6170 TQUERYSERVICELOCKSTATUS = QUERY_SERVICE_LOCK_STATUS; 6171 PQUERYSERVICELOCKSTATUS = ^QUERY_SERVICE_LOCK_STATUS; 6172 6173 RASAMB = record 6174 dwSize : DWORD; 6175 dwError : DWORD; 6176 szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of TCHAR; 6177 bLana : BYTE; 6178 end; 6179 _RASAMB = RASAMB; 6180 TRASAMB = RASAMB; 6181 PRASAMB = ^RASAMB; 6182 6183 RASCONN = record 6184 dwSize : DWORD; 6185 hrasconn : HRASCONN; 6186 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of TCHAR; 6187 szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of CHAR; 6188 szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of CHAR; 6189 end; 6190 _RASCONN = RASCONN; 6191 TRASCONN = RASCONN; 6192 PRASCONN = ^RASCONN; 6193 6194 RASCONNSTATUS = record 6195 dwSize : DWORD; 6196 rasconnstate : RASCONNSTATE; 6197 dwError : DWORD; 6198 szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of TCHAR; 6199 szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of TCHAR; 6200 end; 6201 _RASCONNSTATUS = RASCONNSTATUS; 6202 TRASCONNSTATUS = RASCONNSTATUS; 6203 PRASCONNSTATUS = ^RASCONNSTATUS; 6204 6205 RASDIALEXTENSIONS = record 6206 dwSize : DWORD; 6207 dwfOptions : DWORD; 6208 hwndParent : HWND; 6209 reserved : DWORD; 6210 end; 6211 _RASDIALEXTENSIONS = RASDIALEXTENSIONS; 6212 TRASDIALEXTENSIONS = RASDIALEXTENSIONS; 6213 PRASDIALEXTENSIONS = ^RASDIALEXTENSIONS; 6214 6215 RASDIALPARAMS = record 6216 dwSize : DWORD; 6217 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of TCHAR; 6218 szPhoneNumber : array[0..(RAS_MaxPhoneNumber + 1)-1] of TCHAR; 6219 szCallbackNumber : array[0..(RAS_MaxCallbackNumber + 1)-1] of TCHAR; 6220 szUserName : array[0..(UNLEN + 1)-1] of TCHAR; 6221 szPassword : array[0..(PWLEN + 1)-1] of TCHAR; 6222 szDomain : array[0..(DNLEN + 1)-1] of TCHAR; 6223 end; 6224 _RASDIALPARAMS = RASDIALPARAMS; 6225 TRASDIALPARAMS = RASDIALPARAMS; 6226 PRASDIALPARAMS = ^RASDIALPARAMS; 6227 6228 RASENTRYNAME = record 6229 dwSize : DWORD; 6230 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of TCHAR; 6231 end; 6232 _RASENTRYNAME = RASENTRYNAME; 6233 TRASENTRYNAME = RASENTRYNAME; 6234 PRASENTRYNAME = ^RASENTRYNAME; 6235 6236 RASPPPIP = record 6237 dwSize : DWORD; 6238 dwError : DWORD; 6239 szIpAddress : array[0..(RAS_MaxIpAddress + 1)-1] of TCHAR; 6240 end; 6241 _RASPPPIP = RASPPPIP; 6242 TRASPPPIP = RASPPPIP; 6243 PRASPPPIP = ^RASPPPIP; 6244 6245 RASPPPIPX = record 6246 dwSize : DWORD; 6247 dwError : DWORD; 6248 szIpxAddress : array[0..(RAS_MaxIpxAddress + 1)-1] of TCHAR; 6249 end; 6250 _RASPPPIPX = RASPPPIPX; 6251 TRASPPPIPX = RASPPPIPX; 6252 PRASPPPIPX = ^RASPPPIPX; 6253 6254 RASPPPNBF = record 6255 dwSize : DWORD; 6256 dwError : DWORD; 6257 dwNetBiosError : DWORD; 6258 szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of TCHAR; 6259 szWorkstationName : array[0..(NETBIOS_NAME_LEN + 1)-1] of TCHAR; 6260 bLana : BYTE; 6261 end; 6262 _RASPPPNBF = RASPPPNBF; 6263 TRASPPPNBF = RASPPPNBF; 6264 PRASPPPNBF = ^RASPPPNBF; 6265 6266 RASTERIZER_STATUS = record 6267 nSize : integer; 6268 wFlags : integer; 6269 nLanguageID : integer; 6270 end; 6271 LPRASTERIZER_STATUS = ^RASTERIZER_STATUS; 6272 _RASTERIZER_STATUS = RASTERIZER_STATUS; 6273 TRASTERIZERSTATUS = RASTERIZER_STATUS; 6274 PRASTERIZERSTATUS = ^RASTERIZER_STATUS; 6275 6276 REASSIGN_BLOCKS = record 6277 Reserved : WORD; 6278 Count : WORD; 6279 BlockNumber : array[0..0] of DWORD; 6280 end; 6281 _REASSIGN_BLOCKS = REASSIGN_BLOCKS; 6282 TREASSIGNBLOCKS = REASSIGN_BLOCKS; 6283 PREASSIGNBLOCKS = ^REASSIGN_BLOCKS; 6284 6285 REMOTE_NAME_INFO = record 6286 lpUniversalName : LPTSTR; 6287 lpConnectionName : LPTSTR; 6288 lpRemainingPath : LPTSTR; 6289 end; 6290 _REMOTE_NAME_INFO = REMOTE_NAME_INFO; 6291 TREMOTENAMEINFO = REMOTE_NAME_INFO; 6292 PREMOTENAMEINFO = ^REMOTE_NAME_INFO; 6293 6294 (* 6295 TODO: OLE 6296 typedef struct _reobject { 6297 DWORD cbStruct; 6298 LONG cp; 6299 CLSID clsid; 6300 LPOLEOBJECT poleobj; 6301 LPSTORAGE pstg; 6302 LPOLECLIENTSITE polesite; 6303 SIZEL sizel; 6304 DWORD dvaspect; 6305 DWORD dwFlags; 6306 DWORD dwUser; 6307 } REOBJECT; 6308 *) 6309 6310 REPASTESPECIAL = record 6311 dwAspect : DWORD; 6312 dwParam : DWORD; 6313 end; 6314 _repastespecial = REPASTESPECIAL; 6315 Trepastespecial = REPASTESPECIAL; 6316 Prepastespecial = ^REPASTESPECIAL; 6317 6318 REQRESIZE = record 6319 nmhdr : NMHDR; 6320 rc : RECT; 6321 end; 6322 _reqresize = REQRESIZE; 6323 Treqresize = REQRESIZE; 6324 Preqresize = ^REQRESIZE; 6325 6326 RGNDATAHEADER = record 6327 dwSize : DWORD; 6328 iType : DWORD; 6329 nCount : DWORD; 6330 nRgnSize : DWORD; 6331 rcBound : RECT; 6332 end; 6333 _RGNDATAHEADER = RGNDATAHEADER; 6334 TRGNDATAHEADER = RGNDATAHEADER; 6335 PRGNDATAHEADER = ^RGNDATAHEADER; 6336 6337 RGNDATA = record 6338 rdh : RGNDATAHEADER; 6339 Buffer : array[0..0] of char; 6340 end; 6341 LPRGNDATA = ^RGNDATA; 6342 _RGNDATA = RGNDATA; 6343 TRGNDATA = RGNDATA; 6344 PRGNDATA = ^RGNDATA; 6345 6346 SCROLLINFO = record 6347 cbSize : UINT; 6348 fMask : UINT; 6349 nMin : longint; 6350 nMax : longint; 6351 nPage : UINT; 6352 nPos : longint; 6353 nTrackPos : longint; 6354 end; 6355 LPSCROLLINFO = ^SCROLLINFO; 6356 LPCSCROLLINFO = ^SCROLLINFO; 6357 tagSCROLLINFO = SCROLLINFO; 6358 TSCROLLINFO = SCROLLINFO; 6359 PSCROLLINFO = ^SCROLLINFO; 6360 6361 SECURITY_ATTRIBUTES = record 6362 nLength : DWORD; 6363 lpSecurityDescriptor : LPVOID; 6364 bInheritHandle : WINBOOL; 6365 end; 6366 LPSECURITY_ATTRIBUTES = ^SECURITY_ATTRIBUTES; 6367 _SECURITY_ATTRIBUTES = SECURITY_ATTRIBUTES; 6368 TSECURITYATTRIBUTES = SECURITY_ATTRIBUTES; 6369 PSECURITYATTRIBUTES = ^SECURITY_ATTRIBUTES; 6370 6371 SECURITY_INFORMATION = DWORD; 6372 PSECURITY_INFORMATION = ^SECURITY_INFORMATION; 6373 TSECURITYINFORMATION = SECURITY_INFORMATION; 6374 PSECURITYINFORMATION = ^SECURITY_INFORMATION; 6375 6376 SELCHANGE = record 6377 nmhdr : NMHDR; 6378 chrg : CHARRANGE; 6379 seltyp : WORD; 6380 end; 6381 _selchange = SELCHANGE; 6382 Tselchange = SELCHANGE; 6383 Pselchange = ^SELCHANGE; 6384 6385 SERIALKEYS = record 6386 cbSize : DWORD; 6387 dwFlags : DWORD; 6388 lpszActivePort : LPSTR; 6389 lpszPort : LPSTR; 6390 iBaudRate : DWORD; 6391 iPortState : DWORD; 6392 end; 6393 LPSERIALKEYS = ^SERIALKEYS; 6394 tagSERIALKEYS = SERIALKEYS; 6395 TSERIALKEYS = SERIALKEYS; 6396 PSERIALKEYS = ^SERIALKEYS; 6397 6398 SERVICE_TABLE_ENTRY = record 6399 lpServiceName : LPTSTR; 6400 lpServiceProc : LPSERVICE_MAIN_FUNCTION; 6401 end; 6402 LPSERVICE_TABLE_ENTRY = ^SERVICE_TABLE_ENTRY; 6403 _SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRY; 6404 TSERVICETABLEENTRY = SERVICE_TABLE_ENTRY; 6405 PSERVICETABLEENTRY = ^SERVICE_TABLE_ENTRY; 6406 6407 SERVICE_TYPE_VALUE_ABS = record 6408 dwNameSpace : DWORD; 6409 dwValueType : DWORD; 6410 dwValueSize : DWORD; 6411 lpValueName : LPTSTR; 6412 lpValue : PVOID; 6413 end; 6414 _SERVICE_TYPE_VALUE_ABS = SERVICE_TYPE_VALUE_ABS; 6415 TSERVICETYPEVALUEABS = SERVICE_TYPE_VALUE_ABS; 6416 PSERVICETYPEVALUEABS = ^SERVICE_TYPE_VALUE_ABS; 6417 6418 SERVICE_TYPE_INFO_ABS = record 6419 lpTypeName : LPTSTR; 6420 dwValueCount : DWORD; 6421 Values : array[0..0] of SERVICE_TYPE_VALUE_ABS; 6422 end; 6423 _SERVICE_TYPE_INFO_ABS = SERVICE_TYPE_INFO_ABS; 6424 TSERVICETYPEINFOABS = SERVICE_TYPE_INFO_ABS; 6425 PSERVICETYPEINFOABS = ^SERVICE_TYPE_INFO_ABS; 6426 6427 SESSION_BUFFER = record 6428 lsn : UCHAR; 6429 state : UCHAR; 6430 local_name : array[0..(NCBNAMSZ)-1] of UCHAR; 6431 remote_name : array[0..(NCBNAMSZ)-1] of UCHAR; 6432 rcvs_outstanding : UCHAR; 6433 sends_outstanding : UCHAR; 6434 end; 6435 _SESSION_BUFFER = SESSION_BUFFER; 6436 TSESSIONBUFFER = SESSION_BUFFER; 6437 PSESSIONBUFFER = ^SESSION_BUFFER; 6438 6439 SESSION_HEADER = record 6440 sess_name : UCHAR; 6441 num_sess : UCHAR; 6442 rcv_dg_outstanding : UCHAR; 6443 rcv_any_outstanding : UCHAR; 6444 end; 6445 _SESSION_HEADER = SESSION_HEADER; 6446 TSESSIONHEADER = SESSION_HEADER; 6447 PSESSIONHEADER = ^SESSION_HEADER; 6448 6449 SET_PARTITION_INFORMATION = record 6450 PartitionType : BYTE; 6451 end; 6452 _SET_PARTITION_INFORMATION = SET_PARTITION_INFORMATION; 6453 TSETPARTITIONINFORMATION = SET_PARTITION_INFORMATION; 6454 PSETPARTITIONINFORMATION = ^SET_PARTITION_INFORMATION; 6455 6456 SHELLEXECUTEINFO = record //+shellapi 6457 cbSize: DWORD; 6458 fMask: ULONG; 6459 hwnd: HWND; 6460 lpVerb: LPCTSTR; 6461 lpFile: LPCTSTR; 6462 lpParameters: LPCTSTR; 6463 lpDirectory: LPCTSTR; 6464 nShow: Integer ; 6465 hInstApp: HINST; 6466 // Optional fields 6467 lpIDList: LPVOID; 6468 lpClass: LPCTSTR; 6469 hkeyClass: HKEY; 6470 dwHotKey: DWORD; 6471 hIcon: HANDLE; 6472 hProcess :HANDLE; 6473 end; 6474 _SHELLEXECUTEINFO=SHELLEXECUTEINFO; //+shellapi 6475 LPSHELLEXECUTEINFO=^SHELLEXECUTEINFO; //+shellapi 6476 6477 SHCONTF = (SHCONTF_FOLDERS := 32,SHCONTF_NONFOLDERS := 64, 6478 SHCONTF_INCLUDEHIDDEN := 128); 6479 tagSHCONTF = SHCONTF; 6480 TSHCONTF = SHCONTF; 6481 6482 SHFILEINFO = record 6483 hIcon : HICON; 6484 iIcon : longint; 6485 dwAttributes : DWORD; 6486 szDisplayName : array[0..MAX_PATH-1] of TCHAR; 6487 szTypeName : array[0..79] of TCHAR; 6488 end; 6489 _SHFILEINFO = SHFILEINFO; 6490 TSHFILEINFO = SHFILEINFO; 6491 PSHFILEINFO = ^SHFILEINFO; 6492 6493 FILEOP_FLAGS = WORD; 6494 TFILEOPFLAGS = FILEOP_FLAGS; 6495 PFILEOPFLAGS = ^FILEOP_FLAGS; 6496 6497 SHFILEOPSTRUCTW = record //+shellapi 6498 wnd : HWND; 6499 wFunc : UINT; 6500 pFrom : LPCWSTR; 6501 pTo : LPCWSTR; 6502 fFlags : FILEOP_FLAGS; 6503 fAnyOperationsAborted : WINBOOL; 6504 hNameMappings : LPVOID; 6505 lpszProgressTitle : LPCWSTR; 6506 end; 6507 LPSHFILEOPSTRUCTW = ^SHFILEOPSTRUCTW; 6508 _SHFILEOPSTRUCT = SHFILEOPSTRUCTW; 6509 TSHFILEOPSTRUCT = SHFILEOPSTRUCTW; 6510 PSHFILEOPSTRUCT = ^SHFILEOPSTRUCTW; 6511 TSHFILEOPSTRUCTW = SHFILEOPSTRUCTW; 6512 PSHFILEOPSTRUCTW = ^SHFILEOPSTRUCTW; 6513 6514 SHGNO = (SHGDN_NORMAL := 0,SHGDN_INFOLDER := 1, 6515 SHGDN_FORPARSING := $8000); 6516 tagSHGDN = SHGNO; 6517 TSHGDN = SHGNO; 6518 6519 SHNAMEMAPPING = record 6520 pszOldPath : LPSTR; 6521 pszNewPath : LPSTR; 6522 cchOldPath : longint; 6523 cchNewPath : longint; 6524 end; 6525 LPSHNAMEMAPPING = ^SHNAMEMAPPING; 6526 _SHNAMEMAPPING = SHNAMEMAPPING; 6527 TSHNAMEMAPPING = SHNAMEMAPPING; 6528 PSHNAMEMAPPING = ^SHNAMEMAPPING; 6529 6530 SINGLE_LIST_ENTRY = record 6531 Next : ^_SINGLE_LIST_ENTRY; 6532 end; 6533 _SINGLE_LIST_ENTRY = SINGLE_LIST_ENTRY; 6534 TSINGLELISTENTRY = SINGLE_LIST_ENTRY; 6535 PSINGLELISTENTRY = ^SINGLE_LIST_ENTRY; 6536 6537 SOUNDSENTRY = record 6538 cbSize : UINT; 6539 dwFlags : DWORD; 6540 iFSTextEffect : DWORD; 6541 iFSTextEffectMSec : DWORD; 6542 iFSTextEffectColorBits : DWORD; 6543 iFSGrafEffect : DWORD; 6544 iFSGrafEffectMSec : DWORD; 6545 iFSGrafEffectColor : DWORD; 6546 iWindowsEffect : DWORD; 6547 iWindowsEffectMSec : DWORD; 6548 lpszWindowsEffectDLL : LPTSTR; 6549 iWindowsEffectOrdinal : DWORD; 6550 end; 6551 LPSOUNDSENTRY = ^SOUNDSENTRY; 6552 tagSOUNDSENTRY = SOUNDSENTRY; 6553 TSOUNDSENTRY = SOUNDSENTRY; 6554 PSOUNDSENTRY = ^SOUNDSENTRY; 6555 6556 STARTUPINFO = record 6557 cb : DWORD; 6558 lpReserved : LPTSTR; 6559 lpDesktop : LPTSTR; 6560 lpTitle : LPTSTR; 6561 dwX : DWORD; 6562 dwY : DWORD; 6563 dwXSize : DWORD; 6564 dwYSize : DWORD; 6565 dwXCountChars : DWORD; 6566 dwYCountChars : DWORD; 6567 dwFillAttribute : DWORD; 6568 dwFlags : DWORD; 6569 wShowWindow : WORD; 6570 cbReserved2 : WORD; 6571 lpReserved2 : LPBYTE; 6572 hStdInput : HANDLE; 6573 hStdOutput : HANDLE; 6574 hStdError : HANDLE; 6575 end; 6576 LPSTARTUPINFO = ^STARTUPINFO; 6577 _STARTUPINFO = STARTUPINFO; 6578 TSTARTUPINFO = STARTUPINFO; 6579 PSTARTUPINFO = ^STARTUPINFO; 6580 6581 STICKYKEYS = record 6582 cbSize : DWORD; 6583 dwFlags : DWORD; 6584 end; 6585 LPSTICKYKEYS = ^STICKYKEYS; 6586 tagSTICKYKEYS = STICKYKEYS; 6587 TSTICKYKEYS = STICKYKEYS; 6588 PSTICKYKEYS = ^STICKYKEYS; 6589 6590 STRRET = record 6591 uType : UINT; 6592 DUMMYUNIONNAME : record 6593 case longint of 6594 0 : ( pOleStr : LPWSTR ); 6595 1 : ( uOffset : UINT ); 6596 2 : ( cStr : array[0..(MAX_PATH)-1] of char ); 6597 end; 6598 end; 6599 LPSTRRET = ^STRRET; 6600 _STRRET = STRRET; 6601 TSTRRET = STRRET; 6602 PSTRRET = ^STRRET; 6603 6604 STYLEBUF = record 6605 dwStyle : DWORD; 6606 szDescription : array[0..31] of CHAR; 6607 end; 6608 LPSTYLEBUF = ^STYLEBUF; 6609 _tagSTYLEBUF = STYLEBUF; 6610 TSTYLEBUF = STYLEBUF; 6611 PSTYLEBUF = ^STYLEBUF; 6612 6613 STYLESTRUCT = record 6614 styleOld : DWORD; 6615 styleNew : DWORD; 6616 end; 6617 LPSTYLESTRUCT = ^STYLESTRUCT; 6618 tagSTYLESTRUCT = STYLESTRUCT; 6619 TSTYLESTRUCT = STYLESTRUCT; 6620 PSTYLESTRUCT = ^STYLESTRUCT; 6621 6622 SYSTEM_AUDIT_ACE = record 6623 Header : ACE_HEADER; 6624 Mask : ACCESS_MASK; 6625 SidStart : DWORD; 6626 end; 6627 _SYSTEM_AUDIT_ACE = SYSTEM_AUDIT_ACE; 6628 TSYSTEMAUDITACE = SYSTEM_AUDIT_ACE; 6629 PSYSTEMAUDITACE = ^SYSTEM_AUDIT_ACE; 6630 6631 SYSTEM_INFO = record 6632 u : record 6633 case longint of 6634 0 : ( dwOemId : DWORD ); 6635 1 : ( s : record 6636 wProcessorArchitecture : WORD; 6637 wReserved : WORD; 6638 end ); 6639 end; 6640 dwPageSize : DWORD; 6641 lpMinimumApplicationAddress : LPVOID; 6642 lpMaximumApplicationAddress : LPVOID; 6643 dwActiveProcessorMask : DWORD; 6644 dwNumberOfProcessors : DWORD; 6645 dwProcessorType : DWORD; 6646 dwAllocationGranularity : DWORD; 6647 wProcessorLevel : WORD; 6648 wProcessorRevision : WORD; 6649 end; 6650 LPSYSTEM_INFO = ^SYSTEM_INFO; 6651 _SYSTEM_INFO = SYSTEM_INFO; 6652 TSYSTEMINFO = SYSTEM_INFO; 6653 PSYSTEMINFO = ^SYSTEM_INFO; 6654 6655 SYSTEM_POWER_STATUS = record 6656 ACLineStatus : BYTE; 6657 BatteryFlag : BYTE; 6658 BatteryLifePercent : BYTE; 6659 Reserved1 : BYTE; 6660 BatteryLifeTime : DWORD; 6661 BatteryFullLifeTime : DWORD; 6662 end; 6663 _SYSTEM_POWER_STATUS = SYSTEM_POWER_STATUS; 6664 TSYSTEMPOWERSTATUS = SYSTEM_POWER_STATUS; 6665 PSYSTEMPOWERSTATUS = ^SYSTEM_POWER_STATUS; 6666 6667 LPSYSTEM_POWER_STATUS = ^emptyrecord; 6668 6669 TAPE_ERASE = record 6670 _Type : ULONG; 6671 end; 6672 _TAPE_ERASE = TAPE_ERASE; 6673 TTAPEERASE = TAPE_ERASE; 6674 PTAPEERASE = ^TAPE_ERASE; 6675 6676 TAPE_GET_DRIVE_PARAMETERS = record 6677 ECC : BOOLEAN; 6678 Compression : BOOLEAN; 6679 DataPadding : BOOLEAN; 6680 ReportSetmarks : BOOLEAN; 6681 DefaultBlockSize : ULONG; 6682 MaximumBlockSize : ULONG; 6683 MinimumBlockSize : ULONG; 6684 MaximumPartitionCount : ULONG; 6685 FeaturesLow : ULONG; 6686 FeaturesHigh : ULONG; 6687 EOTWarningZoneSize : ULONG; 6688 end; 6689 _TAPE_GET_DRIVE_PARAMETERS = TAPE_GET_DRIVE_PARAMETERS; 6690 TTAPEGETDRIVEPARAMETERS = TAPE_GET_DRIVE_PARAMETERS; 6691 PTAPEGETDRIVEPARAMETERS = ^TAPE_GET_DRIVE_PARAMETERS; 6692 6693 TAPE_GET_MEDIA_PARAMETERS = record 6694 Capacity : LARGE_INTEGER; 6695 Remaining : LARGE_INTEGER; 6696 BlockSize : DWORD; 6697 PartitionCount : DWORD; 6698 WriteProtected : BOOLEAN; 6699 end; 6700 _TAPE_GET_MEDIA_PARAMETERS = TAPE_GET_MEDIA_PARAMETERS; 6701 TTAPEGETMEDIAPARAMETERS = TAPE_GET_MEDIA_PARAMETERS; 6702 PTAPEGETMEDIAPARAMETERS = ^TAPE_GET_MEDIA_PARAMETERS; 6703 6704 TAPE_GET_POSITION = record 6705 _Type : ULONG; 6706 Partition : ULONG; 6707 OffsetLow : ULONG; 6708 OffsetHigh : ULONG; 6709 end; 6710 _TAPE_GET_POSITION = TAPE_GET_POSITION; 6711 TTAPEGETPOSITION = TAPE_GET_POSITION; 6712 PTAPEGETPOSITION = ^TAPE_GET_POSITION; 6713 6714 TAPE_PREPARE = record 6715 Operation : ULONG; 6716 end; 6717 _TAPE_PREPARE = TAPE_PREPARE; 6718 TTAPEPREPARE = TAPE_PREPARE; 6719 PTAPEPREPARE = ^TAPE_PREPARE; 6720 6721 TAPE_SET_DRIVE_PARAMETERS = record 6722 ECC : BOOLEAN; 6723 Compression : BOOLEAN; 6724 DataPadding : BOOLEAN; 6725 ReportSetmarks : BOOLEAN; 6726 EOTWarningZoneSize : ULONG; 6727 end; 6728 _TAPE_SET_DRIVE_PARAMETERS = TAPE_SET_DRIVE_PARAMETERS; 6729 TTAPESETDRIVEPARAMETERS = TAPE_SET_DRIVE_PARAMETERS; 6730 PTAPESETDRIVEPARAMETERS = ^TAPE_SET_DRIVE_PARAMETERS; 6731 6732 TAPE_SET_MEDIA_PARAMETERS = record 6733 BlockSize : ULONG; 6734 end; 6735 _TAPE_SET_MEDIA_PARAMETERS = TAPE_SET_MEDIA_PARAMETERS; 6736 TTAPESETMEDIAPARAMETERS = TAPE_SET_MEDIA_PARAMETERS; 6737 PTAPESETMEDIAPARAMETERS = ^TAPE_SET_MEDIA_PARAMETERS; 6738 6739 TAPE_SET_POSITION = record 6740 Method : ULONG; 6741 Partition : ULONG; 6742 OffsetLow : ULONG; 6743 OffsetHigh : ULONG; 6744 end; 6745 _TAPE_SET_POSITION = TAPE_SET_POSITION; 6746 TTAPESETPOSITION = TAPE_SET_POSITION; 6747 PTAPESETPOSITION = ^TAPE_SET_POSITION; 6748 6749 TAPE_WRITE_MARKS = record 6750 _Type : ULONG; 6751 Count : ULONG; 6752 end; 6753 _TAPE_WRITE_MARKS = TAPE_WRITE_MARKS; 6754 TTAPEWRITEMARKS = TAPE_WRITE_MARKS; 6755 PTAPEWRITEMARKS = ^TAPE_WRITE_MARKS; 6756 6757 TBADDBITMAP = record 6758 hInst : HINST; 6759 nID : UINT; 6760 end; 6761 LPTBADDBITMAP = ^TBADDBITMAP; 6762 TTBADDBITMAP = TBADDBITMAP; 6763 PTBADDBITMAP = ^TBADDBITMAP; 6764 6765 TBBUTTON = record 6766 iBitmap : longint; 6767 idCommand : longint; 6768 fsState : BYTE; 6769 fsStyle : BYTE; 6770 dwData : DWORD; 6771 iString : longint; 6772 end; 6773 LPTBBUTTON = ^TBBUTTON; 6774 LPCTBBUTTON = ^TBBUTTON; 6775 _TBBUTTON = TBBUTTON; 6776 TTBBUTTON = TBBUTTON; 6777 PTBBUTTON = ^TBBUTTON; 6778 6779 TBNOTIFY = record 6780 hdr : NMHDR; 6781 iItem : longint; 6782 tbButton : TBBUTTON; 6783 cchText : longint; 6784 pszText : LPTSTR; 6785 end; 6786 LPTBNOTIFY = ^TBNOTIFY; 6787 TTBNOTIFY = TBNOTIFY; 6788 PTBNOTIFY = ^TBNOTIFY; 6789 6790 TBSAVEPARAMS = record 6791 hkr : HKEY; 6792 pszSubKey : LPCTSTR; 6793 pszValueName : LPCTSTR; 6794 end; 6795 TTBSAVEPARAMS = TBSAVEPARAMS; 6796 PTBSAVEPARAMS = ^TBSAVEPARAMS; 6797 6798 TC_HITTESTINFO = record 6799 pt : POINT; 6800 flags : UINT; 6801 end; 6802 _TC_HITTESTINFO = TC_HITTESTINFO; 6803 TTCHITTESTINFO = TC_HITTESTINFO; 6804 PTCHITTESTINFO = ^TC_HITTESTINFO; 6805 6806 TC_ITEM = record 6807 mask : UINT; 6808 lpReserved1 : UINT; 6809 lpReserved2 : UINT; 6810 pszText : LPTSTR; 6811 cchTextMax : longint; 6812 iImage : longint; 6813 lParam : LPARAM; 6814 end; 6815 _TC_ITEM = TC_ITEM; 6816 TTCITEM = TC_ITEM; 6817 PTCITEM = ^TC_ITEM; 6818 6819 TC_ITEMHEADER = record 6820 mask : UINT; 6821 lpReserved1 : UINT; 6822 lpReserved2 : UINT; 6823 pszText : LPTSTR; 6824 cchTextMax : longint; 6825 iImage : longint; 6826 end; 6827 _TC_ITEMHEADER = TC_ITEMHEADER; 6828 TTCITEMHEADER = TC_ITEMHEADER; 6829 PTCITEMHEADER = ^TC_ITEMHEADER; 6830 6831 TC_KEYDOWN = record 6832 hdr : NMHDR; 6833 wVKey : WORD; 6834 flags : UINT; 6835 end; 6836 _TC_KEYDOWN = TC_KEYDOWN; 6837 TTCKEYDOWN = TC_KEYDOWN; 6838 PTCKEYDOWN = ^TC_KEYDOWN; 6839 6840 TEXTRANGE = record 6841 chrg : CHARRANGE; 6842 lpstrText : LPSTR; 6843 end; 6844 _textrange = TEXTRANGE; 6845 Ttextrange = TEXTRANGE; 6846 Ptextrange = ^TEXTRANGE; 6847 6848 TIME_ZONE_INFORMATION = record 6849 Bias : LONG; 6850 StandardName : array[0..31] of WCHAR; 6851 StandardDate : SYSTEMTIME; 6852 StandardBias : LONG; 6853 DaylightName : array[0..31] of WCHAR; 6854 DaylightDate : SYSTEMTIME; 6855 DaylightBias : LONG; 6856 end; 6857 LPTIME_ZONE_INFORMATION = ^TIME_ZONE_INFORMATION; 6858 _TIME_ZONE_INFORMATION = TIME_ZONE_INFORMATION; 6859 TTIMEZONEINFORMATION = TIME_ZONE_INFORMATION; 6860 PTIMEZONEINFORMATION = ^TIME_ZONE_INFORMATION; 6861 6862 TOGGLEKEYS = record 6863 cbSize : DWORD; 6864 dwFlags : DWORD; 6865 end; 6866 tagTOGGLEKEYS = TOGGLEKEYS; 6867 TTOGGLEKEYS = TOGGLEKEYS; 6868 PTOGGLEKEYS = ^TOGGLEKEYS; 6869 6870 TOKEN_SOURCE = record 6871 SourceName : array[0..7] of CHAR; 6872 SourceIdentifier : LUID; 6873 end; 6874 _TOKEN_SOURCE = TOKEN_SOURCE; 6875 TTOKENSOURCE = TOKEN_SOURCE; 6876 PTOKENSOURCE = ^TOKEN_SOURCE; 6877 6878 TOKEN_CONTROL = record 6879 TokenId : LUID; 6880 AuthenticationId : LUID; 6881 ModifiedId : LUID; 6882 TokenSource : TOKEN_SOURCE; 6883 end; 6884 _TOKEN_CONTROL = TOKEN_CONTROL; 6885 TTOKENCONTROL = TOKEN_CONTROL; 6886 PTOKENCONTROL = ^TOKEN_CONTROL; 6887 6888 TOKEN_DEFAULT_DACL = record 6889 DefaultDacl : PACL; 6890 end; 6891 _TOKEN_DEFAULT_DACL = TOKEN_DEFAULT_DACL; 6892 TTOKENDEFAULTDACL = TOKEN_DEFAULT_DACL; 6893 PTOKENDEFAULTDACL = ^TOKEN_DEFAULT_DACL; 6894 6895 TOKEN_GROUPS = record 6896 GroupCount : DWORD; 6897 Groups : array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES; 6898 end; 6899 PTOKEN_GROUPS = ^TOKEN_GROUPS; 6900 LPTOKEN_GROUPS = ^TOKEN_GROUPS; 6901 _TOKEN_GROUPS = TOKEN_GROUPS; 6902 TTOKENGROUPS = TOKEN_GROUPS; 6903 PTOKENGROUPS = ^TOKEN_GROUPS; 6904 6905 TOKEN_OWNER = record 6906 Owner : PSID; 6907 end; 6908 _TOKEN_OWNER = TOKEN_OWNER; 6909 TTOKENOWNER = TOKEN_OWNER; 6910 PTOKENOWNER = ^TOKEN_OWNER; 6911 6912 TOKEN_PRIMARY_GROUP = record 6913 PrimaryGroup : PSID; 6914 end; 6915 _TOKEN_PRIMARY_GROUP = TOKEN_PRIMARY_GROUP; 6916 TTOKENPRIMARYGROUP = TOKEN_PRIMARY_GROUP; 6917 PTOKENPRIMARYGROUP = ^TOKEN_PRIMARY_GROUP; 6918 6919 TOKEN_PRIVILEGES = packed record 6920 PrivilegeCount : DWORD; 6921 Privileges : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES; 6922 end; 6923 6924 PTOKEN_PRIVILEGES = ^TOKEN_PRIVILEGES; 6925 LPTOKEN_PRIVILEGES = ^TOKEN_PRIVILEGES; 6926 _TOKEN_PRIVILEGES = TOKEN_PRIVILEGES; 6927 TTOKENPRIVILEGES = TOKEN_PRIVILEGES; 6928 PTOKENPRIVILEGES = ^TOKEN_PRIVILEGES; 6929 6930 TOKEN_STATISTICS = record 6931 TokenId : LUID; 6932 AuthenticationId : LUID; 6933 ExpirationTime : LARGE_INTEGER; 6934 TokenType : TOKEN_TYPE; 6935 ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL; 6936 DynamicCharged : DWORD; 6937 DynamicAvailable : DWORD; 6938 GroupCount : DWORD; 6939 PrivilegeCount : DWORD; 6940 ModifiedId : LUID; 6941 end; 6942 _TOKEN_STATISTICS = TOKEN_STATISTICS; 6943 TTOKENSTATISTICS = TOKEN_STATISTICS; 6944 PTOKENSTATISTICS = ^TOKEN_STATISTICS; 6945 6946 TOKEN_USER = record 6947 User : SID_AND_ATTRIBUTES; 6948 end; 6949 _TOKEN_USER = TOKEN_USER; 6950 TTOKENUSER = TOKEN_USER; 6951 PTOKENUSER = ^TOKEN_USER; 6952 6953 TOOLINFO = record 6954 cbSize : UINT; 6955 uFlags : UINT; 6956 hwnd : HWND; 6957 uId : UINT; 6958 rect : RECT; 6959 hinst : HINST; 6960 lpszText : LPTSTR; 6961 end; 6962 LPTOOLINFO = ^TOOLINFO; 6963 TTOOLINFO = TOOLINFO; 6964 PTOOLINFO = ^TOOLINFO; 6965 6966 TPMPARAMS = record 6967 cbSize : UINT; 6968 rcExclude : RECT; 6969 end; 6970 LPTPMPARAMS = ^TPMPARAMS; 6971 tagTPMPARAMS = TPMPARAMS; 6972 TTPMPARAMS = TPMPARAMS; 6973 PTPMPARAMS = ^TPMPARAMS; 6974 6975 TRANSMIT_FILE_BUFFERS = record 6976 Head : PVOID; 6977 HeadLength : DWORD; 6978 Tail : PVOID; 6979 TailLength : DWORD; 6980 end; 6981 _TRANSMIT_FILE_BUFFERS = TRANSMIT_FILE_BUFFERS; 6982 TTRANSMITFILEBUFFERS = TRANSMIT_FILE_BUFFERS; 6983 PTRANSMITFILEBUFFERS = ^TRANSMIT_FILE_BUFFERS; 6984 6985 TTHITTESTINFO = record 6986 hwnd : HWND; 6987 pt : POINT; 6988 ti : TOOLINFO; 6989 end; 6990 LPHITTESTINFO = ^TTHITTESTINFO; 6991 _TT_HITTESTINFO = TTHITTESTINFO; 6992 TTTHITTESTINFO = TTHITTESTINFO; 6993 PTTHITTESTINFO = ^TTHITTESTINFO; 6994 6995 TTPOLYCURVE = record 6996 wType : WORD; 6997 cpfx : WORD; 6998 apfx : array[0..0] of POINTFX; 6999 end; 7000 LPTTPOLYCURVE = ^TTPOLYCURVE; 7001 tagTTPOLYCURVE = TTPOLYCURVE; 7002 TTTPOLYCURVE = TTPOLYCURVE; 7003 PTTPOLYCURVE = ^TTPOLYCURVE; 7004 7005 TTPOLYGONHEADER = record 7006 cb : DWORD; 7007 dwType : DWORD; 7008 pfxStart : POINTFX; 7009 end; 7010 LPTTPOLYGONHEADER = ^TTPOLYGONHEADER; 7011 _TTPOLYGONHEADER = TTPOLYGONHEADER; 7012 TTTPOLYGONHEADER = TTPOLYGONHEADER; 7013 PTTPOLYGONHEADER = ^TTPOLYGONHEADER; 7014 7015 TV_DISPINFO = record 7016 hdr : NMHDR; 7017 item : TV_ITEM; 7018 end; 7019 _TV_DISPINFO = TV_DISPINFO; 7020 TTVDISPINFO = TV_DISPINFO; 7021 PTVDISPINFO = ^TV_DISPINFO; 7022 7023 TV_HITTESTINFO = record 7024 pt : POINT; 7025 flags : UINT; 7026 hItem : HTREEITEM; 7027 end; 7028 LPTV_HITTESTINFO = ^TV_HITTESTINFO; 7029 _TVHITTESTINFO = TV_HITTESTINFO; 7030 TTVHITTESTINFO = TV_HITTESTINFO; 7031 PTVHITTESTINFO = ^TV_HITTESTINFO; 7032 7033 TV_INSERTSTRUCT = record 7034 hParent : HTREEITEM; 7035 hInsertAfter : HTREEITEM; 7036 item : TV_ITEM; 7037 end; 7038 LPTV_INSERTSTRUCT = ^TV_INSERTSTRUCT; 7039 _TV_INSERTSTRUCT = TV_INSERTSTRUCT; 7040 TTVINSERTSTRUCT = TV_INSERTSTRUCT; 7041 PTVINSERTSTRUCT = ^TV_INSERTSTRUCT; 7042 7043 TV_KEYDOWN = record 7044 hdr : NMHDR; 7045 wVKey : WORD; 7046 flags : UINT; 7047 end; 7048 _TV_KEYDOWN = TV_KEYDOWN; 7049 TTVKEYDOWN = TV_KEYDOWN; 7050 PTVKEYDOWN = ^TV_KEYDOWN; 7051 7052 TV_SORTCB = record 7053 hParent : HTREEITEM; 7054 lpfnCompare : PFNTVCOMPARE; 7055 lParam : LPARAM; 7056 end; 7057 LPTV_SORTCB = ^TV_SORTCB; 7058 _TV_SORTCB = TV_SORTCB; 7059 TTVSORTCB = TV_SORTCB; 7060 PTVSORTCB = ^TV_SORTCB; 7061 7062 UDACCEL = record 7063 nSec : UINT; 7064 nInc : UINT; 7065 end; 7066 TUDACCEL = UDACCEL; 7067 PUDACCEL = ^UDACCEL; 7068 7069 7070 UNIVERSAL_NAME_INFO = record 7071 lpUniversalName : LPTSTR; 7072 end; 7073 _UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFO; 7074 TUNIVERSALNAMEINFO = UNIVERSAL_NAME_INFO; 7075 PUNIVERSALNAMEINFO = ^UNIVERSAL_NAME_INFO; 7076 7077 USEROBJECTFLAGS = record 7078 fInherit : WINBOOL; 7079 fReserved : WINBOOL; 7080 dwFlags : DWORD; 7081 end; 7082 tagUSEROBJECTFLAGS = USEROBJECTFLAGS; 7083 TUSEROBJECTFLAGS = USEROBJECTFLAGS; 7084 PUSEROBJECTFLAGS = ^USEROBJECTFLAGS; 7085 7086 VALENT = record 7087 ve_valuename : LPTSTR; 7088 ve_valuelen : DWORD; 7089 ve_valueptr : DWORD; 7090 ve_type : DWORD; 7091 end; 7092 TVALENT = VALENT; 7093 PVALENT = ^VALENT; 7094 7095 value_ent = VALENT; 7096 Tvalue_ent = VALENT; 7097 Pvalue_ent = ^VALENT; 7098 7099 VERIFY_INFORMATION = record 7100 StartingOffset : LARGE_INTEGER; 7101 Length : DWORD; 7102 end; 7103 _VERIFY_INFORMATION = VERIFY_INFORMATION; 7104 TVERIFYINFORMATION = VERIFY_INFORMATION; 7105 PVERIFYINFORMATION = ^VERIFY_INFORMATION; 7106 7107 VS_FIXEDFILEINFO = record 7108 dwSignature : DWORD; 7109 dwStrucVersion : DWORD; 7110 dwFileVersionMS : DWORD; 7111 dwFileVersionLS : DWORD; 7112 dwProductVersionMS : DWORD; 7113 dwProductVersionLS : DWORD; 7114 dwFileFlagsMask : DWORD; 7115 dwFileFlags : DWORD; 7116 dwFileOS : DWORD; 7117 dwFileType : DWORD; 7118 dwFileSubtype : DWORD; 7119 dwFileDateMS : DWORD; 7120 dwFileDateLS : DWORD; 7121 end; 7122 _VS_FIXEDFILEINFO = VS_FIXEDFILEINFO; 7123 TVSFIXEDFILEINFO = VS_FIXEDFILEINFO; 7124 PVSFIXEDFILEINFO = ^VS_FIXEDFILEINFO; 7125 7126 7127// Windows CE File API definitions copied from NT's winbase.h 7128 _WIN32_FIND_DATAA =record 7129 dwFileAttributes:DWORD; 7130 ftCreationTime:FILETIME; 7131 ftLastAccessTime:FILETIME; 7132 ftLastWriteTime:FILETIME; 7133 nFileSizeHigh:DWORD; 7134 nFileSizeLow:DWORD; 7135 dwReserved0:DWORD; 7136 dwReserved1:DWORD; 7137 cFileName:array[0..MAX_PATH-1] of char; 7138 cAlternateFileName:array[0..13] of char; 7139 end; 7140 WIN32_FIND_DATAA = _WIN32_FIND_DATAA; 7141 PWIN32_FIND_DATAA = ^_WIN32_FIND_DATAA; 7142 LPWIN32_FIND_DATAA = ^_WIN32_FIND_DATAA; 7143 7144 7145 WIN32_FIND_DATAW = record 7146 dwFileAttributes : DWORD; 7147 ftCreationTime : FILETIME; 7148 ftLastAccessTime : FILETIME; 7149 ftLastWriteTime : FILETIME; 7150 nFileSizeHigh : DWORD; 7151 nFileSizeLow : DWORD; 7152 dwOID: DWORD; 7153 cFileName : array[0..MAX_PATH-1] of WCHAR; 7154 end; 7155 7156 LPWIN32_FIND_DATAW = ^WIN32_FIND_DATAW; 7157 PWIN32_FIND_DATAW = ^WIN32_FIND_DATAW; 7158 _WIN32_FIND_DATAW = WIN32_FIND_DATAW; 7159 TWIN32FINDDATAW = WIN32_FIND_DATAW; 7160 PWIN32FINDDATAW = ^WIN32_FIND_DATAW; 7161 7162 WIN32_FIND_DATA = WIN32_FIND_DATAW; 7163 LPWIN32_FIND_DATA = ^WIN32_FIND_DATAW; 7164 PWIN32_FIND_DATA = ^WIN32_FIND_DATAW; 7165 _WIN32_FIND_DATA = WIN32_FIND_DATAW; 7166 TWIN32FINDDATA = WIN32_FIND_DATAW; 7167 PWIN32FINDDATA = ^WIN32_FIND_DATAW; 7168 7169 WIN32_STREAM_ID = record 7170 dwStreamId : DWORD; 7171 dwStreamAttributes : DWORD; 7172 Size : LARGE_INTEGER; 7173 dwStreamNameSize : DWORD; 7174 cStreamName : ^WCHAR; 7175 end; 7176 _WIN32_STREAM_ID = WIN32_STREAM_ID; 7177 TWIN32STREAMID = WIN32_STREAM_ID; 7178 PWIN32STREAMID = ^WIN32_STREAM_ID; 7179 7180 WINDOWPLACEMENT = record 7181 length : UINT; 7182 flags : UINT; 7183 showCmd : UINT; 7184 ptMinPosition : POINT; 7185 ptMaxPosition : POINT; 7186 rcNormalPosition : RECT; 7187 end; 7188 _WINDOWPLACEMENT = WINDOWPLACEMENT; 7189 TWINDOWPLACEMENT = WINDOWPLACEMENT; 7190 PWINDOWPLACEMENT = ^WINDOWPLACEMENT; 7191 7192 WNDCLASS = record 7193 style : UINT; 7194 lpfnWndProc : WNDPROC; 7195 cbClsExtra : longint; 7196 cbWndExtra : longint; 7197 hInstance : HANDLE; 7198 hIcon : HICON; 7199 hCursor : HCURSOR; 7200 hbrBackground : HBRUSH; 7201 lpszMenuName : LPCTSTR; 7202 lpszClassName : LPCTSTR; 7203 end; 7204 LPWNDCLASS = ^WNDCLASS; 7205 _WNDCLASS = WNDCLASS; 7206 TWNDCLASSA = WNDCLASS; 7207 7208 7209 WNDCLASSW = record 7210 style : UINT; 7211 lpfnWndProc : WNDPROC; 7212 cbClsExtra : longint; 7213 cbWndExtra : longint; 7214 hInstance : HANDLE; 7215 hIcon : HICON; 7216 hCursor : HCURSOR; 7217 hbrBackground : HBRUSH; 7218 lpszMenuName : LPCWSTR; 7219 lpszClassName : LPCWSTR; 7220 end; 7221 LPWNDCLASSW = ^WNDCLASSW; 7222 _WNDCLASSW = WNDCLASSW; 7223 TWNDCLASSW = WNDCLASSW; 7224 PWNDCLASSW = ^WNDCLASSW; 7225 TWNDCLASS = WNDCLASSW; 7226 PWNDCLASS = ^WNDCLASSW; 7227 7228 WNDCLASSEX = record 7229 cbSize : UINT; 7230 style : UINT; 7231 lpfnWndProc : WNDPROC; 7232 cbClsExtra : longint; 7233 cbWndExtra : longint; 7234 hInstance : HANDLE; 7235 hIcon : HICON; 7236 hCursor : HCURSOR; 7237 hbrBackground : HBRUSH; 7238 lpszMenuName : LPCTSTR; 7239 lpszClassName : LPCTSTR; 7240 hIconSm : HANDLE; 7241 end; 7242 LPWNDCLASSEX = ^WNDCLASSEX; 7243 _WNDCLASSEX = WNDCLASSEX; 7244 TWNDCLASSEX = WNDCLASSEX; 7245 TWNDCLASSEXA = WNDCLASSEX; 7246 PWNDCLASSEX = ^WNDCLASSEX; 7247 7248 WNDCLASSEXW = record 7249 cbSize : UINT; 7250 style : UINT; 7251 lpfnWndProc : WNDPROC; 7252 cbClsExtra : longint; 7253 cbWndExtra : longint; 7254 hInstance : HANDLE; 7255 hIcon : HICON; 7256 hCursor : HCURSOR; 7257 hbrBackground : HBRUSH; 7258 lpszMenuName : LPCWSTR; 7259 lpszClassName : LPCWSTR; 7260 hIconSm : HANDLE; 7261 end; 7262 LPWNDCLASSEXW = ^WNDCLASSEXW; 7263 _WNDCLASSEXW = WNDCLASSEXW; 7264 TWNDCLASSEXW = WNDCLASSEXW; 7265 PWNDCLASSEXW = ^WNDCLASSEXW; 7266 7267 CONNECTDLGSTRUCT = record 7268 cbStructure : DWORD; 7269 hwndOwner : HWND; 7270 lpConnRes : LPNETRESOURCE; 7271 dwFlags : DWORD; 7272 dwDevNum : DWORD; 7273 end; 7274 LPCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCT; 7275 _CONNECTDLGSTRUCT = CONNECTDLGSTRUCT; 7276 TCONNECTDLGSTRUCT = CONNECTDLGSTRUCT; 7277 PCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCT; 7278 7279 CONNECTDLGSTRUCTW = record //+winnetwk 7280 cbStructure : DWORD; 7281 hwndOwner : HWND; 7282 lpConnRes : LPNETRESOURCEW; 7283 dwFlags : DWORD; 7284 dwDevNum : DWORD; 7285 end; 7286 LPCONNECTDLGSTRUCTW = ^CONNECTDLGSTRUCTW; //+winnetwk 7287 _CONNECTDLGSTRUCTW = CONNECTDLGSTRUCTW; //+winnetwk 7288 7289 DISCDLGSTRUCT = record 7290 cbStructure : DWORD; 7291 hwndOwner : HWND; 7292 lpLocalName : LPTSTR; 7293 lpRemoteName : LPTSTR; 7294 dwFlags : DWORD; 7295 end; 7296 LPDISCDLGSTRUCT = ^DISCDLGSTRUCT; 7297 _DISCDLGSTRUCT = DISCDLGSTRUCT; 7298 TDISCDLGSTRUCT = DISCDLGSTRUCT; 7299 TDISCDLGSTRUCTA = DISCDLGSTRUCT; 7300 PDISCDLGSTRUCT = ^DISCDLGSTRUCT; 7301 7302 DISCDLGSTRUCTW = record //+winnetwk 7303 cbStructure : DWORD; 7304 hwndOwner : HWND; 7305 lpLocalName : LPWSTR; 7306 lpRemoteName : LPWSTR; 7307 dwFlags : DWORD; 7308 end; 7309 LPDISCDLGSTRUCTW = ^DISCDLGSTRUCTW; //+winnetwk 7310 _DISCDLGSTRUCTW = DISCDLGSTRUCTW; //+winnetwk 7311 7312 NETINFOSTRUCT = record 7313 cbStructure : DWORD; 7314 dwProviderVersion : DWORD; 7315 dwStatus : DWORD; 7316 dwCharacteristics : DWORD; 7317 dwHandle : DWORD; 7318 wNetType : WORD; 7319 dwPrinters : DWORD; 7320 dwDrives : DWORD; 7321 end; 7322 LPNETINFOSTRUCT = ^NETINFOSTRUCT; 7323 _NETINFOSTRUCT = NETINFOSTRUCT; 7324 TNETINFOSTRUCT = NETINFOSTRUCT; 7325 PNETINFOSTRUCT = ^NETINFOSTRUCT; 7326 7327 NETCONNECTINFOSTRUCT = record 7328 cbStructure : DWORD; 7329 dwFlags : DWORD; 7330 dwSpeed : DWORD; 7331 dwDelay : DWORD; 7332 dwOptDataSize : DWORD; 7333 end; 7334 LPNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT; 7335 _NETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT; 7336 TNETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT; 7337 PNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT; 7338 7339 ENUMMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint; 7340 7341 ENHMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint; 7342 7343 ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint; 7344 7345 FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint; 7346 7347 FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint; 7348 7349 LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED); 7350 7351 { Structures for the extensions to OpenGL } 7352 7353 POINTFLOAT = record 7354 x : Single; 7355 y : Single; 7356 end; 7357 _POINTFLOAT = POINTFLOAT; 7358 TPOINTFLOAT = POINTFLOAT; 7359 PPOINTFLOAT = ^POINTFLOAT; 7360 7361 GLYPHMETRICSFLOAT = record 7362 gmfBlackBoxX : Single; 7363 gmfBlackBoxY : Single; 7364 gmfptGlyphOrigin : POINTFLOAT; 7365 gmfCellIncX : Single; 7366 gmfCellIncY : Single; 7367 end; 7368 LPGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT; 7369 _GLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT; 7370 TGLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT; 7371 PGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT; 7372 7373 LAYERPLANEDESCRIPTOR = record 7374 nSize : WORD; 7375 nVersion : WORD; 7376 dwFlags : DWORD; 7377 iPixelType : BYTE; 7378 cColorBits : BYTE; 7379 cRedBits : BYTE; 7380 cRedShift : BYTE; 7381 cGreenBits : BYTE; 7382 cGreenShift : BYTE; 7383 cBlueBits : BYTE; 7384 cBlueShift : BYTE; 7385 cAlphaBits : BYTE; 7386 cAlphaShift : BYTE; 7387 cAccumBits : BYTE; 7388 cAccumRedBits : BYTE; 7389 cAccumGreenBits : BYTE; 7390 cAccumBlueBits : BYTE; 7391 cAccumAlphaBits : BYTE; 7392 cDepthBits : BYTE; 7393 cStencilBits : BYTE; 7394 cAuxBuffers : BYTE; 7395 iLayerPlane : BYTE; 7396 bReserved : BYTE; 7397 crTransparent : COLORREF; 7398 end; 7399 LPLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR; 7400 tagLAYERPLANEDESCRIPTOR = LAYERPLANEDESCRIPTOR; 7401 TLAYERPLANEDESCRIPTOR = LAYERPLANEDESCRIPTOR; 7402 PLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR; 7403 7404 PIXELFORMATDESCRIPTOR = record 7405 nSize : WORD; 7406 nVersion : WORD; 7407 dwFlags : DWORD; 7408 iPixelType : BYTE; 7409 cColorBits : BYTE; 7410 cRedBits : BYTE; 7411 cRedShift : BYTE; 7412 cGreenBits : BYTE; 7413 cGreenShift : BYTE; 7414 cBlueBits : BYTE; 7415 cBlueShift : BYTE; 7416 cAlphaBits : BYTE; 7417 cAlphaShift : BYTE; 7418 cAccumBits : BYTE; 7419 cAccumRedBits : BYTE; 7420 cAccumGreenBits : BYTE; 7421 cAccumBlueBits : BYTE; 7422 cAccumAlphaBits : BYTE; 7423 cDepthBits : BYTE; 7424 cStencilBits : BYTE; 7425 cAuxBuffers : BYTE; 7426 iLayerType : BYTE; 7427 bReserved : BYTE; 7428 dwLayerMask : DWORD; 7429 dwVisibleMask : DWORD; 7430 dwDamageMask : DWORD; 7431 end; 7432 LPPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR; 7433 tagPIXELFORMATDESCRIPTOR = PIXELFORMATDESCRIPTOR; 7434 TPIXELFORMATDESCRIPTOR = PIXELFORMATDESCRIPTOR; 7435 PPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR; 7436 7437 USER_INFO_2 = record 7438 usri2_name : LPWSTR; 7439 usri2_password : LPWSTR; 7440 usri2_password_age : DWORD; 7441 usri2_priv : DWORD; 7442 usri2_home_dir : LPWSTR; 7443 usri2_comment : LPWSTR; 7444 usri2_flags : DWORD; 7445 usri2_script_path : LPWSTR; 7446 usri2_auth_flags : DWORD; 7447 usri2_full_name : LPWSTR; 7448 usri2_usr_comment : LPWSTR; 7449 usri2_parms : LPWSTR; 7450 usri2_workstations : LPWSTR; 7451 usri2_last_logon : DWORD; 7452 usri2_last_logoff : DWORD; 7453 usri2_acct_expires : DWORD; 7454 usri2_max_storage : DWORD; 7455 usri2_units_per_week : DWORD; 7456 usri2_logon_hours : PBYTE; 7457 usri2_bad_pw_count : DWORD; 7458 usri2_num_logons : DWORD; 7459 usri2_logon_server : LPWSTR; 7460 usri2_country_code : DWORD; 7461 usri2_code_page : DWORD; 7462 end; 7463 PUSER_INFO_2 = ^USER_INFO_2; 7464 LPUSER_INFO_2 = ^USER_INFO_2; 7465 TUSERINFO2 = USER_INFO_2; 7466 PUSERINFO2 = ^USER_INFO_2; 7467 7468 USER_INFO_0 = record 7469 usri0_name : LPWSTR; 7470 end; 7471 PUSER_INFO_0 = ^USER_INFO_0; 7472 LPUSER_INFO_0 = ^USER_INFO_0; 7473 TUSERINFO0 = USER_INFO_0; 7474 PUSERINFO0 = ^USER_INFO_0; 7475 7476 USER_INFO_3 = record 7477 usri3_name : LPWSTR; 7478 usri3_password : LPWSTR; 7479 usri3_password_age : DWORD; 7480 usri3_priv : DWORD; 7481 usri3_home_dir : LPWSTR; 7482 usri3_comment : LPWSTR; 7483 usri3_flags : DWORD; 7484 usri3_script_path : LPWSTR; 7485 usri3_auth_flags : DWORD; 7486 usri3_full_name : LPWSTR; 7487 usri3_usr_comment : LPWSTR; 7488 usri3_parms : LPWSTR; 7489 usri3_workstations : LPWSTR; 7490 usri3_last_logon : DWORD; 7491 usri3_last_logoff : DWORD; 7492 usri3_acct_expires : DWORD; 7493 usri3_max_storage : DWORD; 7494 usri3_units_per_week : DWORD; 7495 usri3_logon_hours : PBYTE; 7496 usri3_bad_pw_count : DWORD; 7497 usri3_num_logons : DWORD; 7498 usri3_logon_server : LPWSTR; 7499 usri3_country_code : DWORD; 7500 usri3_code_page : DWORD; 7501 usri3_user_id : DWORD; 7502 usri3_primary_group_id : DWORD; 7503 usri3_profile : LPWSTR; 7504 usri3_home_dir_drive : LPWSTR; 7505 usri3_password_expired : DWORD; 7506 end; 7507 PUSER_INFO_3 = ^USER_INFO_3; 7508 LPUSER_INFO_3 = ^USER_INFO_3; 7509 TUSERINFO3 = USER_INFO_3; 7510 PUSERINFO3 = ^USER_INFO_3; 7511 7512 GROUP_INFO_2 = record 7513 grpi2_name : LPWSTR; 7514 grpi2_comment : LPWSTR; 7515 grpi2_group_id : DWORD; 7516 grpi2_attributes : DWORD; 7517 end; 7518 PGROUP_INFO_2 = ^GROUP_INFO_2; 7519 TGROUPINFO2 = GROUP_INFO_2; 7520 PGROUPINFO2 = ^GROUP_INFO_2; 7521 7522 LOCALGROUP_INFO_0 = record 7523 lgrpi0_name : LPWSTR; 7524 end; 7525 PLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0; 7526 LPLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0; 7527 TLOCALGROUPINFO0 = LOCALGROUP_INFO_0; 7528 PLOCALGROUPINFO0 = ^LOCALGROUP_INFO_0; 7529 7530 { PE executable header. } 7531 { Magic number, 0x5a4d } 7532 { Bytes on last page of file, 0x90 } 7533 { Pages in file, 0x3 } 7534 { Relocations, 0x0 } 7535 { Size of header in paragraphs, 0x4 } 7536 { Minimum extra paragraphs needed, 0x0 } 7537 { Maximum extra paragraphs needed, 0xFFFF } 7538 { Initial (relative) SS value, 0x0 } 7539 { Initial SP value, 0xb8 } 7540 { Checksum, 0x0 } 7541 { Initial IP value, 0x0 } 7542 { Initial (relative) CS value, 0x0 } 7543 { File address of relocation table, 0x40 } 7544 { Overlay number, 0x0 } 7545 { Reserved words, all 0x0 } 7546 { OEM identifier (for e_oeminfo), 0x0 } 7547 { OEM information; e_oemid specific, 0x0 } 7548 { Reserved words, all 0x0 } 7549 { File address of new exe header, 0x80 } 7550 { We leave out the next two fields, since they aren't in the header file } 7551 { DWORD dos_message[16]; text which always follows dos header } 7552 { DWORD nt_signature; required NT signature, 0x4550 } 7553 7554 IMAGE_DOS_HEADER = record 7555 e_magic : WORD; 7556 e_cblp : WORD; 7557 e_cp : WORD; 7558 e_crlc : WORD; 7559 e_cparhdr : WORD; 7560 e_minalloc : WORD; 7561 e_maxalloc : WORD; 7562 e_ss : WORD; 7563 e_sp : WORD; 7564 e_csum : WORD; 7565 e_ip : WORD; 7566 e_cs : WORD; 7567 e_lfarlc : WORD; 7568 e_ovno : WORD; 7569 e_res : array[0..3] of WORD; 7570 e_oemid : WORD; 7571 e_oeminfo : WORD; 7572 e_res2 : array[0..9] of WORD; 7573 e_lfanew : LONG; 7574 end; 7575 PIMAGE_DOS_HEADER = ^IMAGE_DOS_HEADER; 7576 TIMAGEDOSHEADER = IMAGE_DOS_HEADER; 7577 PIMAGEDOSHEADER = ^IMAGE_DOS_HEADER; 7578 7579 _NOTIFYICONDATAA = record 7580 cbSize: DWORD; 7581 Wnd: HWND; 7582 uID: UINT; 7583 uFlags: UINT; 7584 uCallbackMessage: UINT; 7585 hIcon: HICON; 7586 szTip: array [0..63] of Char; 7587 end; 7588 _NOTIFYICONDATA = _NOTIFYICONDATAA; 7589 7590 _NOTIFYICONDATAW = record 7591 cbSize: DWORD; 7592 Wnd: HWND; 7593 uID: UINT; 7594 uFlags: UINT; 7595 uCallbackMessage: UINT; 7596 hIcon: HICON; 7597 szTip: array [0..63] of Word; 7598 end; 7599 TNotifyIconDataA = _NOTIFYICONDATAA; 7600 TNotifyIconDataW = _NOTIFYICONDATAW; 7601 TNotifyIconData = TNotifyIconDataA; 7602 NOTIFYICONDATAA = _NOTIFYICONDATAA; 7603 NOTIFYICONDATAW = _NOTIFYICONDATAW; 7604 NOTIFYICONDATA = NOTIFYICONDATAA; 7605 PNotifyIconDataA = ^TNotifyIconDataA; 7606 PNotifyIconDataW = ^TNotifyIconDataW; 7607 PNotifyIconData = PNotifyIconDataA; 7608 7609 TWOHandleArray = array[0..MAXIMUM_WAIT_OBJECTS-1] of HANDLE; 7610 PWOHandleArray = ^TWOHandleArray; 7611 7612 MMRESULT = Longint; 7613 7614type 7615 PWaveFormatEx = ^TWaveFormatEx; 7616 TWaveFormatEx = packed record 7617 wFormatTag: Word; { format type } 7618 nChannels: Word; { number of channels (i.e. mono, stereo, etc.) } 7619 nSamplesPerSec: DWORD; { sample rate } 7620 nAvgBytesPerSec: DWORD; { for buffer estimation } 7621 nBlockAlign: Word; { block size of data } 7622 wBitsPerSample: Word; { number of bits per sample of mono data } 7623 cbSize: Word; { the count in bytes of the size of } 7624 end; 7625 7626 _WIN32_FILE_ATTRIBUTE_DATA = packed record 7627 dwFileAttributes: DWORD; 7628 ftCreationTime: FILETIME; 7629 ftLastAccessTime: FILETIME; 7630 ftLastWriteTime: FILETIME; 7631 nFileSizeHigh: DWORD; 7632 nFileSizeLow: DWORD; 7633 end; 7634 WIN32_FILE_ATTRIBUTE_DATA = _WIN32_FILE_ATTRIBUTE_DATA ; 7635 LPWIN32_FILE_ATTRIBUTE_DATA = ^_WIN32_FILE_ATTRIBUTE_DATA; 7636 TWIN32FILEATTRIBUTEDATA = _WIN32_FILE_ATTRIBUTE_DATA ; 7637 PWIN32FILEATTRIBUTEDATA = ^_WIN32_FILE_ATTRIBUTE_DATA; 7638 7639 // TrackMouseEvent. NT or higher only. 7640 TTrackMouseEvent = Record 7641 cbSize : DWORD; 7642 dwFlags : DWORD; 7643 hwndTrack : HWND; 7644 dwHoverTime : DWORD; 7645 end; 7646 PTrackMouseEvent = ^TTrackMouseEvent; 7647 7648 tagBSTRBLOB = record 7649 cbsize : ULONG; 7650 pdata : pbyte; 7651 end; 7652 BSTRBLOB=TagBSTRBlob; 7653 TBSTRBLOB=BSTRBLOB; 7654 PBSTRBLOB=^BSTRBLOB; 7655 7656 tagCLIPDATA = record 7657 cbsize : ULONG; 7658 ulClipFmt : long; 7659 pclipdata : pbyte; 7660 end; 7661 CLIPDATA=TagCLIPDATA; 7662 TCLIPDATA=CLIPDATA; 7663 PCLIPDATA=^CLIPDATA; 7664 7665 7666type 7667 tagMOUSEINPUT = record 7668 dx:LONG; 7669 dy:LONG; 7670 mouseData:DWORD; 7671 dwFlags:DWORD; 7672 time:DWORD; 7673 dwExtraInfo:DWORD; 7674 end; 7675 MOUSEINPUT = tagMOUSEINPUT; 7676 PMOUSEINPUT = ^tagMOUSEINPUT; 7677 LPMOUSEINPUT = ^tagMOUSEINPUT; 7678 7679 tagKEYBDINPUT = record 7680 wVk:word; 7681 wScan:word; 7682 dwFlags:DWORD; 7683 time:DWORD; 7684 dwExtraInfo:DWORD; 7685 end; 7686 KEYBDINPUT = tagKEYBDINPUT; 7687 PKEYBDINPUT = ^tagKEYBDINPUT; 7688 LPKEYBDINPUT = ^tagKEYBDINPUT; 7689 7690 tagHARDWAREINPUT = record 7691 uMsg:DWORD; 7692 wParamL:word; 7693 wParamH:word; 7694 dwExtraInfo:DWORD; 7695 end; 7696 HARDWAREINPUT = tagHARDWAREINPUT; 7697 PHARDWAREINPUT = ^tagHARDWAREINPUT; 7698 LPHARDWAREINPUT = ^tagHARDWAREINPUT; 7699 7700 tagINPUT = record 7701 _type:DWORD; 7702 case longint of 7703 0: (mi:MOUSEINPUT); 7704 1: (ki:KEYBDINPUT); 7705 2: (hi:HARDWAREINPUT); 7706 end; 7707 INPUT = tagINPUT; 7708 PINPUT = ^tagINPUT; 7709 LPINPUT = ^tagINPUT; 7710 7711 7712// For EnumDisplayMonitors 7713type 7714 MONITORENUMPROC = function(_hMonitor:HMONITOR; hdcMonitor:HDC; lprcMonitor:LPRECT; dwData:LPARAM):BOOL; 7715 7716// For GetMonitorInfo 7717type 7718 tagMONITORINFO = record 7719 cbSize:DWORD; 7720 rcMonitor:RECT; 7721 rcWork:RECT; 7722 dwFlags:DWORD; 7723 end; 7724 MONITORINFO = tagMONITORINFO; 7725 LPMONITORINFO = ^tagMONITORINFO; 7726 7727 tagMONITORINFOEX = record 7728 cbSize:DWORD; 7729 rcMonitor:RECT; 7730 rcWork:RECT; 7731 dwFlags:DWORD; 7732 szDevice:array[0..CCHDEVICENAME-1] of TCHAR; 7733 end; 7734 MONITORINFOEX = tagMONITORINFOEX; 7735 LPMONITORINFOEX = ^tagMONITORINFOEX; 7736 7737// For EnumDisplayDevices 7738type 7739 _DISPLAY_DEVICE = record 7740 cb:DWORD; 7741 DeviceName:array[0..31] of TCHAR; 7742 DeviceString:array[0..127] of TCHAR; 7743 StateFlags:DWORD; 7744 DeviceID:array[0..127] of TCHAR; 7745 DeviceKey:array[0..127] of TCHAR; 7746 end; 7747 DISPLAY_DEVICE = _DISPLAY_DEVICE; 7748 PDISPLAY_DEVICE = ^_DISPLAY_DEVICE; 7749 LPDISPLAY_DEVICE = ^_DISPLAY_DEVICE; 7750 7751{$endif read_interface} 7752 7753 7754{$ifdef read_implementation} 7755 7756 function fBinary(var a : DCB) : DWORD; 7757 begin 7758 fBinary:=(a.flags and bm_DCB_fBinary) shr bp_DCB_fBinary; 7759 end; 7760 7761 procedure set_fBinary(var a : DCB; __fBinary : DWORD); 7762 begin 7763 a.flags:=a.flags or ((__fBinary shl bp_DCB_fBinary) and bm_DCB_fBinary); 7764 end; 7765 7766 function fParity(var a : DCB) : DWORD; 7767 begin 7768 fParity:=(a.flags and bm_DCB_fParity) shr bp_DCB_fParity; 7769 end; 7770 7771 procedure set_fParity(var a : DCB; __fParity : DWORD); 7772 begin 7773 a.flags:=a.flags or ((__fParity shl bp_DCB_fParity) and bm_DCB_fParity); 7774 end; 7775 7776 function fOutxCtsFlow(var a : DCB) : DWORD; 7777 begin 7778 fOutxCtsFlow:=(a.flags and bm_DCB_fOutxCtsFlow) shr bp_DCB_fOutxCtsFlow; 7779 end; 7780 7781 procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD); 7782 begin 7783 a.flags:=a.flags or ((__fOutxCtsFlow shl bp_DCB_fOutxCtsFlow) and bm_DCB_fOutxCtsFlow); 7784 end; 7785 7786 function fOutxDsrFlow(var a : DCB) : DWORD; 7787 begin 7788 fOutxDsrFlow:=(a.flags and bm_DCB_fOutxDsrFlow) shr bp_DCB_fOutxDsrFlow; 7789 end; 7790 7791 procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD); 7792 begin 7793 a.flags:=a.flags or ((__fOutxDsrFlow shl bp_DCB_fOutxDsrFlow) and bm_DCB_fOutxDsrFlow); 7794 end; 7795 7796 function fDtrControl(var a : DCB) : DWORD; 7797 begin 7798 fDtrControl:=(a.flags and bm_DCB_fDtrControl) shr bp_DCB_fDtrControl; 7799 end; 7800 7801 procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD); 7802 begin 7803 a.flags:=a.flags or ((__fDtrControl shl bp_DCB_fDtrControl) and bm_DCB_fDtrControl); 7804 end; 7805 7806 function fDsrSensitivity(var a : DCB) : DWORD; 7807 begin 7808 fDsrSensitivity:=(a.flags and bm_DCB_fDsrSensitivity) shr bp_DCB_fDsrSensitivity; 7809 end; 7810 7811 procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD); 7812 begin 7813 a.flags:=a.flags or ((__fDsrSensitivity shl bp_DCB_fDsrSensitivity) and bm_DCB_fDsrSensitivity); 7814 end; 7815 7816 function fTXContinueOnXoff(var a : DCB) : DWORD; 7817 begin 7818 fTXContinueOnXoff:=(a.flags and bm_DCB_fTXContinueOnXoff) shr bp_DCB_fTXContinueOnXoff; 7819 end; 7820 7821 procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD); 7822 begin 7823 a.flags:=a.flags or ((__fTXContinueOnXoff shl bp_DCB_fTXContinueOnXoff) and bm_DCB_fTXContinueOnXoff); 7824 end; 7825 7826 function fOutX(var a : DCB) : DWORD; 7827 begin 7828 fOutX:=(a.flags and bm_DCB_fOutX) shr bp_DCB_fOutX; 7829 end; 7830 7831 procedure set_fOutX(var a : DCB; __fOutX : DWORD); 7832 begin 7833 a.flags:=a.flags or ((__fOutX shl bp_DCB_fOutX) and bm_DCB_fOutX); 7834 end; 7835 7836 function fInX(var a : DCB) : DWORD; 7837 begin 7838 fInX:=(a.flags and bm_DCB_fInX) shr bp_DCB_fInX; 7839 end; 7840 7841 procedure set_fInX(var a : DCB; __fInX : DWORD); 7842 begin 7843 a.flags:=a.flags or ((__fInX shl bp_DCB_fInX) and bm_DCB_fInX); 7844 end; 7845 7846 function fErrorChar(var a : DCB) : DWORD; 7847 begin 7848 fErrorChar:=(a.flags and bm_DCB_fErrorChar) shr bp_DCB_fErrorChar; 7849 end; 7850 7851 procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD); 7852 begin 7853 a.flags:=a.flags or ((__fErrorChar shl bp_DCB_fErrorChar) and bm_DCB_fErrorChar); 7854 end; 7855 7856 function fNull(var a : DCB) : DWORD; 7857 begin 7858 fNull:=(a.flags and bm_DCB_fNull) shr bp_DCB_fNull; 7859 end; 7860 7861 procedure set_fNull(var a : DCB; __fNull : DWORD); 7862 begin 7863 a.flags:=a.flags or ((__fNull shl bp_DCB_fNull) and bm_DCB_fNull); 7864 end; 7865 7866 function fRtsControl(var a : DCB) : DWORD; 7867 begin 7868 fRtsControl:=(a.flags and bm_DCB_fRtsControl) shr bp_DCB_fRtsControl; 7869 end; 7870 7871 procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD); 7872 begin 7873 a.flags:=a.flags or ((__fRtsControl shl bp_DCB_fRtsControl) and bm_DCB_fRtsControl); 7874 end; 7875 7876 function fAbortOnError(var a : DCB) : DWORD; 7877 begin 7878 fAbortOnError:=(a.flags and bm_DCB_fAbortOnError) shr bp_DCB_fAbortOnError; 7879 end; 7880 7881 procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD); 7882 begin 7883 a.flags:=a.flags or ((__fAbortOnError shl bp_DCB_fAbortOnError) and bm_DCB_fAbortOnError); 7884 end; 7885 7886 function fDummy2(var a : DCB) : DWORD; 7887 begin 7888 fDummy2:=(a.flags and bm_DCB_fDummy2) shr bp_DCB_fDummy2; 7889 end; 7890 7891 procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD); 7892 begin 7893 a.flags:=a.flags or ((__fDummy2 shl bp_DCB_fDummy2) and bm_DCB_fDummy2); 7894 end; 7895 7896 function fCtsHold(var a : COMSTAT) : DWORD; 7897 begin 7898 fCtsHold:=(a.flag0 and bm_COMSTAT_fCtsHold) shr bp_COMSTAT_fCtsHold; 7899 end; 7900 7901 procedure set_fCtsHold(var a : COMSTAT; __fCtsHold : DWORD); 7902 begin 7903 a.flag0:=a.flag0 or ((__fCtsHold shl bp_COMSTAT_fCtsHold) and bm_COMSTAT_fCtsHold); 7904 end; 7905 7906 function fDsrHold(var a : COMSTAT) : DWORD; 7907 begin 7908 fDsrHold:=(a.flag0 and bm_COMSTAT_fDsrHold) shr bp_COMSTAT_fDsrHold; 7909 end; 7910 7911 procedure set_fDsrHold(var a : COMSTAT; __fDsrHold : DWORD); 7912 begin 7913 a.flag0:=a.flag0 or ((__fDsrHold shl bp_COMSTAT_fDsrHold) and bm_COMSTAT_fDsrHold); 7914 end; 7915 7916 function fRlsdHold(var a : COMSTAT) : DWORD; 7917 begin 7918 fRlsdHold:=(a.flag0 and bm_COMSTAT_fRlsdHold) shr bp_COMSTAT_fRlsdHold; 7919 end; 7920 7921 procedure set_fRlsdHold(var a : COMSTAT; __fRlsdHold : DWORD); 7922 begin 7923 a.flag0:=a.flag0 or ((__fRlsdHold shl bp_COMSTAT_fRlsdHold) and bm_COMSTAT_fRlsdHold); 7924 end; 7925 7926 function fXoffHold(var a : COMSTAT) : DWORD; 7927 begin 7928 fXoffHold:=(a.flag0 and bm_COMSTAT_fXoffHold) shr bp_COMSTAT_fXoffHold; 7929 end; 7930 7931 procedure set_fXoffHold(var a : COMSTAT; __fXoffHold : DWORD); 7932 begin 7933 a.flag0:=a.flag0 or ((__fXoffHold shl bp_COMSTAT_fXoffHold) and bm_COMSTAT_fXoffHold); 7934 end; 7935 7936 function fXoffSent(var a : COMSTAT) : DWORD; 7937 begin 7938 fXoffSent:=(a.flag0 and bm_COMSTAT_fXoffSent) shr bp_COMSTAT_fXoffSent; 7939 end; 7940 7941 procedure set_fXoffSent(var a : COMSTAT; __fXoffSent : DWORD); 7942 begin 7943 a.flag0:=a.flag0 or ((__fXoffSent shl bp_COMSTAT_fXoffSent) and bm_COMSTAT_fXoffSent); 7944 end; 7945 7946 function fEof(var a : COMSTAT) : DWORD; 7947 begin 7948 fEof:=(a.flag0 and bm_COMSTAT_fEof) shr bp_COMSTAT_fEof; 7949 end; 7950 7951 procedure set_fEof(var a : COMSTAT; __fEof : DWORD); 7952 begin 7953 a.flag0:=a.flag0 or ((__fEof shl bp_COMSTAT_fEof) and bm_COMSTAT_fEof); 7954 end; 7955 7956 function fTxim(var a : COMSTAT) : DWORD; 7957 begin 7958 fTxim:=(a.flag0 and bm_COMSTAT_fTxim) shr bp_COMSTAT_fTxim; 7959 end; 7960 7961 procedure set_fTxim(var a : COMSTAT; __fTxim : DWORD); 7962 begin 7963 a.flag0:=a.flag0 or ((__fTxim shl bp_COMSTAT_fTxim) and bm_COMSTAT_fTxim); 7964 end; 7965 7966 function fReserved(var a : COMSTAT) : DWORD; 7967 begin 7968 fReserved:=(a.flag0 and bm_COMSTAT_fReserved) shr bp_COMSTAT_fReserved; 7969 end; 7970 7971 procedure set_fReserved(var a : COMSTAT; __fReserved : DWORD); 7972 begin 7973 a.flag0:=a.flag0 or ((__fReserved shl bp_COMSTAT_fReserved) and bm_COMSTAT_fReserved); 7974 end; 7975 7976 function bAppReturnCode(var a : DDEACK) : word; 7977 begin 7978 bAppReturnCode:=(a.flag0 and bm_DDEACK_bAppReturnCode) shr bp_DDEACK_bAppReturnCode; 7979 end; 7980 7981 procedure set_bAppReturnCode(var a : DDEACK; __bAppReturnCode : word); 7982 begin 7983 a.flag0:=a.flag0 or ((__bAppReturnCode shl bp_DDEACK_bAppReturnCode) and bm_DDEACK_bAppReturnCode); 7984 end; 7985 7986 function reserved(var a : DDEACK) : word; 7987 begin 7988 reserved:=(a.flag0 and bm_DDEACK_reserved) shr bp_DDEACK_reserved; 7989 end; 7990 7991 procedure set_reserved(var a : DDEACK; __reserved : word); 7992 begin 7993 a.flag0:=a.flag0 or ((__reserved shl bp_DDEACK_reserved) and bm_DDEACK_reserved); 7994 end; 7995 7996 function fBusy(var a : DDEACK) : word; 7997 begin 7998 fBusy:=(a.flag0 and bm_DDEACK_fBusy) shr bp_DDEACK_fBusy; 7999 end; 8000 8001 procedure set_fBusy(var a : DDEACK; __fBusy : word); 8002 begin 8003 a.flag0:=a.flag0 or ((__fBusy shl bp_DDEACK_fBusy) and bm_DDEACK_fBusy); 8004 end; 8005 8006 function fAck(var a : DDEACK) : word; 8007 begin 8008 fAck:=(a.flag0 and bm_DDEACK_fAck) shr bp_DDEACK_fAck; 8009 end; 8010 8011 procedure set_fAck(var a : DDEACK; __fAck : word); 8012 begin 8013 a.flag0:=a.flag0 or ((__fAck shl bp_DDEACK_fAck) and bm_DDEACK_fAck); 8014 end; 8015 8016 function reserved(var a : DDEADVISE) : word; 8017 begin 8018 reserved:=(a.flag0 and bm_DDEADVISE_reserved) shr bp_DDEADVISE_reserved; 8019 end; 8020 8021 procedure set_reserved(var a : DDEADVISE; __reserved : word); 8022 begin 8023 a.flag0:=a.flag0 or ((__reserved shl bp_DDEADVISE_reserved) and bm_DDEADVISE_reserved); 8024 end; 8025 8026 function fDeferUpd(var a : DDEADVISE) : word; 8027 begin 8028 fDeferUpd:=(a.flag0 and bm_DDEADVISE_fDeferUpd) shr bp_DDEADVISE_fDeferUpd; 8029 end; 8030 8031 procedure set_fDeferUpd(var a : DDEADVISE; __fDeferUpd : word); 8032 begin 8033 a.flag0:=a.flag0 or ((__fDeferUpd shl bp_DDEADVISE_fDeferUpd) and bm_DDEADVISE_fDeferUpd); 8034 end; 8035 8036 function fAckReq(var a : DDEADVISE) : word; 8037 begin 8038 fAckReq:=(a.flag0 and bm_DDEADVISE_fAckReq) shr bp_DDEADVISE_fAckReq; 8039 end; 8040 8041 procedure set_fAckReq(var a : DDEADVISE; __fAckReq : word); 8042 begin 8043 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEADVISE_fAckReq) and bm_DDEADVISE_fAckReq); 8044 end; 8045 8046 function unused(var a : DDEDATA) : word; 8047 begin 8048 unused:=(a.flag0 and bm_DDEDATA_unused) shr bp_DDEDATA_unused; 8049 end; 8050 8051 procedure set_unused(var a : DDEDATA; __unused : word); 8052 begin 8053 a.flag0:=a.flag0 or ((__unused shl bp_DDEDATA_unused) and bm_DDEDATA_unused); 8054 end; 8055 8056 function fResponse(var a : DDEDATA) : word; 8057 begin 8058 fResponse:=(a.flag0 and bm_DDEDATA_fResponse) shr bp_DDEDATA_fResponse; 8059 end; 8060 8061 procedure set_fResponse(var a : DDEDATA; __fResponse : word); 8062 begin 8063 a.flag0:=a.flag0 or ((__fResponse shl bp_DDEDATA_fResponse) and bm_DDEDATA_fResponse); 8064 end; 8065 8066 function fRelease(var a : DDEDATA) : word; 8067 begin 8068 fRelease:=(a.flag0 and bm_DDEDATA_fRelease) shr bp_DDEDATA_fRelease; 8069 end; 8070 8071 procedure set_fRelease(var a : DDEDATA; __fRelease : word); 8072 begin 8073 a.flag0:=a.flag0 or ((__fRelease shl bp_DDEDATA_fRelease) and bm_DDEDATA_fRelease); 8074 end; 8075 8076 function reserved(var a : DDEDATA) : word; 8077 begin 8078 reserved:=(a.flag0 and bm_DDEDATA_reserved) shr bp_DDEDATA_reserved; 8079 end; 8080 8081 procedure set_reserved(var a : DDEDATA; __reserved : word); 8082 begin 8083 a.flag0:=a.flag0 or ((__reserved shl bp_DDEDATA_reserved) and bm_DDEDATA_reserved); 8084 end; 8085 8086 function fAckReq(var a : DDEDATA) : word; 8087 begin 8088 fAckReq:=(a.flag0 and bm_DDEDATA_fAckReq) shr bp_DDEDATA_fAckReq; 8089 end; 8090 8091 procedure set_fAckReq(var a : DDEDATA; __fAckReq : word); 8092 begin 8093 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEDATA_fAckReq) and bm_DDEDATA_fAckReq); 8094 end; 8095 8096 function unused(var a : DDELN) : word; 8097 begin 8098 unused:=(a.flag0 and bm_DDELN_unused) shr bp_DDELN_unused; 8099 end; 8100 8101 procedure set_unused(var a : DDELN; __unused : word); 8102 begin 8103 a.flag0:=a.flag0 or ((__unused shl bp_DDELN_unused) and bm_DDELN_unused); 8104 end; 8105 8106 function fRelease(var a : DDELN) : word; 8107 begin 8108 fRelease:=(a.flag0 and bm_DDELN_fRelease) shr bp_DDELN_fRelease; 8109 end; 8110 8111 procedure set_fRelease(var a : DDELN; __fRelease : word); 8112 begin 8113 a.flag0:=a.flag0 or ((__fRelease shl bp_DDELN_fRelease) and bm_DDELN_fRelease); 8114 end; 8115 8116 function fDeferUpd(var a : DDELN) : word; 8117 begin 8118 fDeferUpd:=(a.flag0 and bm_DDELN_fDeferUpd) shr bp_DDELN_fDeferUpd; 8119 end; 8120 8121 procedure set_fDeferUpd(var a : DDELN; __fDeferUpd : word); 8122 begin 8123 a.flag0:=a.flag0 or ((__fDeferUpd shl bp_DDELN_fDeferUpd) and bm_DDELN_fDeferUpd); 8124 end; 8125 8126 function fAckReq(var a : DDELN) : word; 8127 begin 8128 fAckReq:=(a.flag0 and bm_DDELN_fAckReq) shr bp_DDELN_fAckReq; 8129 end; 8130 8131 procedure set_fAckReq(var a : DDELN; __fAckReq : word); 8132 begin 8133 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDELN_fAckReq) and bm_DDELN_fAckReq); 8134 end; 8135 8136 function unused(var a : DDEPOKE) : word; 8137 begin 8138 unused:=(a.flag0 and bm_DDEPOKE_unused) shr bp_DDEPOKE_unused; 8139 end; 8140 8141 procedure set_unused(var a : DDEPOKE; __unused : word); 8142 begin 8143 a.flag0:=a.flag0 or ((__unused shl bp_DDEPOKE_unused) and bm_DDEPOKE_unused); 8144 end; 8145 8146 function fRelease(var a : DDEPOKE) : word; 8147 begin 8148 fRelease:=(a.flag0 and bm_DDEPOKE_fRelease) shr bp_DDEPOKE_fRelease; 8149 end; 8150 8151 procedure set_fRelease(var a : DDEPOKE; __fRelease : word); 8152 begin 8153 a.flag0:=a.flag0 or ((__fRelease shl bp_DDEPOKE_fRelease) and bm_DDEPOKE_fRelease); 8154 end; 8155 8156 function fReserved(var a : DDEPOKE) : word; 8157 begin 8158 fReserved:=(a.flag0 and bm_DDEPOKE_fReserved) shr bp_DDEPOKE_fReserved; 8159 end; 8160 8161 procedure set_fReserved(var a : DDEPOKE; __fReserved : word); 8162 begin 8163 a.flag0:=a.flag0 or ((__fReserved shl bp_DDEPOKE_fReserved) and bm_DDEPOKE_fReserved); 8164 end; 8165 8166 function unused(var a : DDEUP) : word; 8167 begin 8168 unused:=(a.flag0 and bm_DDEUP_unused) shr bp_DDEUP_unused; 8169 end; 8170 8171 procedure set_unused(var a : DDEUP; __unused : word); 8172 begin 8173 a.flag0:=a.flag0 or ((__unused shl bp_DDEUP_unused) and bm_DDEUP_unused); 8174 end; 8175 8176 function fAck(var a : DDEUP) : word; 8177 begin 8178 fAck:=(a.flag0 and bm_DDEUP_fAck) shr bp_DDEUP_fAck; 8179 end; 8180 8181 procedure set_fAck(var a : DDEUP; __fAck : word); 8182 begin 8183 a.flag0:=a.flag0 or ((__fAck shl bp_DDEUP_fAck) and bm_DDEUP_fAck); 8184 end; 8185 8186 function fRelease(var a : DDEUP) : word; 8187 begin 8188 fRelease:=(a.flag0 and bm_DDEUP_fRelease) shr bp_DDEUP_fRelease; 8189 end; 8190 8191 procedure set_fRelease(var a : DDEUP; __fRelease : word); 8192 begin 8193 a.flag0:=a.flag0 or ((__fRelease shl bp_DDEUP_fRelease) and bm_DDEUP_fRelease); 8194 end; 8195 8196 function fReserved(var a : DDEUP) : word; 8197 begin 8198 fReserved:=(a.flag0 and bm_DDEUP_fReserved) shr bp_DDEUP_fReserved; 8199 end; 8200 8201 procedure set_fReserved(var a : DDEUP; __fReserved : word); 8202 begin 8203 a.flag0:=a.flag0 or ((__fReserved shl bp_DDEUP_fReserved) and bm_DDEUP_fReserved); 8204 end; 8205 8206 function fAckReq(var a : DDEUP) : word; 8207 begin 8208 fAckReq:=(a.flag0 and bm_DDEUP_fAckReq) shr bp_DDEUP_fAckReq; 8209 end; 8210 8211 procedure set_fAckReq(var a : DDEUP; __fAckReq : word); 8212 begin 8213 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEUP_fAckReq) and bm_DDEUP_fAckReq); 8214 end; 8215 8216 {$calling default} 8217 {$i typshrd.inc} 8218 {$calling cdecl} 8219{$endif read_implementation} 8220 8221