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{$ifdef read_interface} 48 49Const 50 IMAGE_SIZEOF_SHORT_NAME = 8; 51 52 type 53 {$I typshrdh.inc} 54 55 { WARNING 56 the variable argument list 57 is not implemented for FPC 58 va_list is just a dummy record 59 MvdV: Nevertheless it should be a pointer type, not a record} 60 61 va_list = pchar; 62 63 ABC = record 64 abcA : longint; 65 abcB : UINT; 66 abcC : longint; 67 end; 68 LPABC = ^ABC; 69 _ABC = ABC; 70 TABC = ABC; 71 PABC = ^ABC; 72 73 ABCFLOAT = record 74 abcfA : Single; 75 abcfB : Single; 76 abcfC : Single; 77 end; 78 LPABCFLOAT = ^ABCFLOAT; 79 _ABCFLOAT = ABCFLOAT; 80 TABCFLOAT = ABCFLOAT; 81 PABCFLOAT = ^ABCFLOAT; 82 83 ACCEL = record 84 fVirt : BYTE; 85 key : WORD; 86 cmd : WORD; 87 end; 88 LPACCEL = ^ACCEL; 89 _ACCEL = ACCEL; 90 TACCEL = ACCEL; 91 PACCEL = ^ACCEL; 92 93 ACE_HEADER = record 94 AceType : BYTE; 95 AceFlags : BYTE; 96 AceSize : WORD; 97 end; 98 _ACE_HEADER = ACE_HEADER; 99 TACE_HEADER = ACE_HEADER; 100 PACE_HEADER = ^ACE_HEADER; 101 102 ACCESS_MASK = DWORD; 103 104 REGSAM = ACCESS_MASK; 105 106 ACCESS_ALLOWED_ACE = record 107 Header : ACE_HEADER; 108 Mask : ACCESS_MASK; 109 SidStart : DWORD; 110 end; 111 _ACCESS_ALLOWED_ACE = ACCESS_ALLOWED_ACE; 112 TACCESS_ALLOWED_ACE = ACCESS_ALLOWED_ACE; 113 PACCESS_ALLOWED_ACE = ^ACCESS_ALLOWED_ACE; 114 115 ACCESS_DENIED_ACE = record 116 Header : ACE_HEADER; 117 Mask : ACCESS_MASK; 118 SidStart : DWORD; 119 end; 120 _ACCESS_DENIED_ACE = ACCESS_DENIED_ACE; 121 TACCESS_DENIED_ACE = ACCESS_DENIED_ACE; 122 123 ACCESSTIMEOUT = record 124 cbSize : UINT; 125 dwFlags : DWORD; 126 iTimeOutMSec : DWORD; 127 end; 128 _ACCESSTIMEOUT = ACCESSTIMEOUT; 129 TACCESSTIMEOUT = ACCESSTIMEOUT; 130 PACCESSTIMEOUT = ^ACCESSTIMEOUT; 131 132 ACL = record 133 AclRevision : BYTE; 134 Sbz1 : BYTE; 135 AclSize : WORD; 136 AceCount : WORD; 137 Sbz2 : WORD; 138 end; 139 PACL = ^ACL; 140 _ACL = ACL; 141 TACL = ACL; 142 143 ACL_REVISION_INFORMATION = record 144 AclRevision : DWORD; 145 end; 146 _ACL_REVISION_INFORMATION = ACL_REVISION_INFORMATION; 147 TACLREVISIONINFORMATION = ACL_REVISION_INFORMATION; 148 PACLREVISIONINFORMATION = ^ACL_REVISION_INFORMATION; 149 150 ACL_SIZE_INFORMATION = record 151 AceCount : DWORD; 152 AclBytesInUse : DWORD; 153 AclBytesFree : DWORD; 154 end; 155 _ACL_SIZE_INFORMATION = ACL_SIZE_INFORMATION; 156 TACLSIZEINFORMATION = ACL_SIZE_INFORMATION; 157 PACLSIZEINFORMATION = ^ACL_SIZE_INFORMATION; 158 159 ACTION_HEADER = record 160 transport_id : ULONG; 161 action_code : USHORT; 162 reserved : USHORT; 163 end; 164 _ACTION_HEADER = ACTION_HEADER; 165 TACTIONHEADER = ACTION_HEADER; 166 PACTIONHEADER = ^ACTION_HEADER; 167 168 ADAPTER_STATUS = record 169 adapter_address : array[0..5] of UCHAR; 170 rev_major : UCHAR; 171 reserved0 : UCHAR; 172 adapter_type : UCHAR; 173 rev_minor : UCHAR; 174 duration : WORD; 175 frmr_recv : WORD; 176 frmr_xmit : WORD; 177 iframe_recv_err : WORD; 178 xmit_aborts : WORD; 179 xmit_success : DWORD; 180 recv_success : DWORD; 181 iframe_xmit_err : WORD; 182 recv_buff_unavail : WORD; 183 t1_timeouts : WORD; 184 ti_timeouts : WORD; 185 reserved1 : DWORD; 186 free_ncbs : WORD; 187 max_cfg_ncbs : WORD; 188 max_ncbs : WORD; 189 xmit_buf_unavail : WORD; 190 max_dgram_size : WORD; 191 pending_sess : WORD; 192 max_cfg_sess : WORD; 193 max_sess : WORD; 194 max_sess_pkt_size : WORD; 195 name_count : WORD; 196 end; 197 _ADAPTER_STATUS = ADAPTER_STATUS; 198 TADAPTERSTATUS = ADAPTER_STATUS; 199 PADAPTERSTATUS = ^ADAPTER_STATUS; 200 201 ADDJOB_INFO_1 = record 202 Path : LPTSTR; 203 JobId : DWORD; 204 end; 205 _ADDJOB_INFO_1 = ADDJOB_INFO_1; 206 TADDJOB_INFO_1 = ADDJOB_INFO_1; 207 PADDJOB_INFO_1 = ^ADDJOB_INFO_1; 208 209 ANIMATIONINFO = record 210 cbSize : UINT; 211 iMinAnimate : longint; 212 end; 213 LPANIMATIONINFO = ^ANIMATIONINFO; 214 _ANIMATIONINFO = ANIMATIONINFO; 215 TANIMATIONINFO = ANIMATIONINFO; 216 PANIMATIONINFO = ^ANIMATIONINFO; 217 218 POINT = TPOINT; 219 LPPOINT = PPOINT; 220 tagPOINT = TPOINT; 221 222 223 RECT = TRect; 224 LPRECT = PRECT; 225 _RECT = RECT; 226 227 RECTL = record 228 left : LONG; 229 top : LONG; 230 right : LONG; 231 bottom : LONG; 232 end; 233 _RECTL = RECTL; 234 TRECTL = RECTL; 235 PRECTL = ^RECTL; 236 237 APPBARDATA = record 238 cbSize : DWORD; 239 hWnd : HWND; 240 uCallbackMessage : UINT; 241 uEdge : UINT; 242 rc : RECT; 243 lParam : LPARAM; 244 end; 245 _AppBarData = APPBARDATA; 246 TAppBarData = APPBARDATA; 247 PAppBarData = ^APPBARDATA; 248 249 BITMAP = record 250 bmType : LONG; 251 bmWidth : LONG; 252 bmHeight : LONG; 253 bmWidthBytes : LONG; 254 bmPlanes : WORD; 255 bmBitsPixel : WORD; 256 bmBits : LPVOID; 257 end; 258 PBITMAP = ^BITMAP; 259 NPBITMAP = ^BITMAP; 260 LPBITMAP = ^BITMAP; 261 tagBITMAP = BITMAP; 262 TBITMAP = BITMAP; 263 264 BITMAPCOREHEADER = record 265 bcSize : DWORD; 266 bcWidth : WORD; 267 bcHeight : WORD; 268 bcPlanes : WORD; 269 bcBitCount : WORD; 270 end; 271 tagBITMAPCOREHEADER = BITMAPCOREHEADER; 272 TBITMAPCOREHEADER = BITMAPCOREHEADER; 273 PBITMAPCOREHEADER = ^BITMAPCOREHEADER; 274 275 RGBTRIPLE = record 276 rgbtBlue : BYTE; 277 rgbtGreen : BYTE; 278 rgbtRed : BYTE; 279 end; 280 tagRGBTRIPLE = RGBTRIPLE; 281 TRGBTRIPLE = RGBTRIPLE; 282 PRGBTRIPLE = ^RGBTRIPLE; 283 284 BITMAPCOREINFO = record 285 bmciHeader : BITMAPCOREHEADER; 286 bmciColors : array[0..0] of RGBTRIPLE; 287 end; 288 PBITMAPCOREINFO = ^BITMAPCOREINFO; 289 LPBITMAPCOREINFO = ^BITMAPCOREINFO; 290 _BITMAPCOREINFO = BITMAPCOREINFO; 291 TBITMAPCOREINFO = BITMAPCOREINFO; 292 293(* error 294 WORD bfReserved1; 295 WORD bfReserved2; 296 in declarator_list *) 297 298 BITMAPINFOHEADER = record 299 biSize : DWORD; 300 biWidth : LONG; 301 biHeight : LONG; 302 biPlanes : WORD; 303 biBitCount : WORD; 304 biCompression : DWORD; 305 biSizeImage : DWORD; 306 biXPelsPerMeter : LONG; 307 biYPelsPerMeter : LONG; 308 biClrUsed : DWORD; 309 biClrImportant : DWORD; 310 end; 311 LPBITMAPINFOHEADER = ^BITMAPINFOHEADER; 312 TBITMAPINFOHEADER = BITMAPINFOHEADER; 313 PBITMAPINFOHEADER = ^BITMAPINFOHEADER; 314 315 RGBQUAD = record 316 rgbBlue : BYTE; 317 rgbGreen : BYTE; 318 rgbRed : BYTE; 319 rgbReserved : BYTE; 320 end; 321 tagRGBQUAD = RGBQUAD; 322 TRGBQUAD = RGBQUAD; 323 PRGBQUAD = ^RGBQUAD; 324 325 BITMAPINFO = record 326 bmiHeader : BITMAPINFOHEADER; 327 bmiColors : array[0..0] of RGBQUAD; 328 end; 329 LPBITMAPINFO = ^BITMAPINFO; 330 PBITMAPINFO = ^BITMAPINFO; 331 TBITMAPINFO = BITMAPINFO; 332 333 FXPT2DOT30 = longint; 334 LPFXPT2DOT30 = ^FXPT2DOT30; 335 TFXPT2DOT30 = FXPT2DOT30; 336 PFXPT2DOT30 = LPFXPT2DOT30; 337 338 CIEXYZ = record 339 ciexyzX : FXPT2DOT30; 340 ciexyzY : FXPT2DOT30; 341 ciexyzZ : FXPT2DOT30; 342 end; 343 tagCIEXYZ = CIEXYZ; 344 LPCIEXYZ = ^CIEXYZ; 345 TPCIEXYZ = CIEXYZ; 346 PCIEXYZ = ^CIEXYZ; 347 348 CIEXYZTRIPLE = record 349 ciexyzRed : CIEXYZ; 350 ciexyzGreen : CIEXYZ; 351 ciexyzBlue : CIEXYZ; 352 end; 353 tagCIEXYZTRIPLE = CIEXYZTRIPLE; 354 LPCIEXYZTRIPLE = ^CIEXYZTRIPLE; 355 TCIEXYZTRIPLE = CIEXYZTRIPLE; 356 PCIEXYZTRIPLE = ^CIEXYZTRIPLE; 357 358 BITMAPV4HEADER = record 359 bV4Size : DWORD; 360 bV4Width : LONG; 361 bV4Height : LONG; 362 bV4Planes : WORD; 363 bV4BitCount : WORD; 364 bV4V4Compression : DWORD; 365 bV4SizeImage : DWORD; 366 bV4XPelsPerMeter : LONG; 367 bV4YPelsPerMeter : LONG; 368 bV4ClrUsed : DWORD; 369 bV4ClrImportant : DWORD; 370 bV4RedMask : DWORD; 371 bV4GreenMask : DWORD; 372 bV4BlueMask : DWORD; 373 bV4AlphaMask : DWORD; 374 bV4CSType : DWORD; 375 bV4Endpoints : CIEXYZTRIPLE; 376 bV4GammaRed : DWORD; 377 bV4GammaGreen : DWORD; 378 bV4GammaBlue : DWORD; 379 end; 380 LPBITMAPV4HEADER = ^BITMAPV4HEADER; 381 TBITMAPV4HEADER = BITMAPV4HEADER; 382 PBITMAPV4HEADER = ^BITMAPV4HEADER; 383 384 BITMAPFILEHEADER = packed record 385 bfType : Word; 386 bfSize : DWord; 387 bfReserved1 : Word; 388 bfReserved2 : Word; 389 bfOffBits : DWord; 390 end; 391 tagBITMAPFILEHEADER = BITMAPFILEHEADER; 392 393 TBitmapFileHeader = BITMAPFILEHEADER; 394 PBitmapFileHeader = ^TBitmapFileHeader; 395 396 BLOB = record 397 cbSize : ULONG; 398 pBlobData : ^BYTE; 399 end; 400 _BLOB = BLOB; 401 TBLOB = BLOB; 402 PBLOB = ^BLOB; 403 404 SHITEMID = record 405 cb : USHORT; 406 abID : array[0..0] of BYTE; 407 end; 408 LPSHITEMID = ^SHITEMID; 409 LPCSHITEMID = ^SHITEMID; 410 _SHITEMID = SHITEMID; 411 TSHITEMID = SHITEMID; 412 PSHITEMID = ^SHITEMID; 413 414 ITEMIDLIST = record 415 mkid : SHITEMID; 416 end; 417 LPITEMIDLIST = ^ITEMIDLIST; 418 LPCITEMIDLIST = ^ITEMIDLIST; 419 _ITEMIDLIST = ITEMIDLIST; 420 TITEMIDLIST = ITEMIDLIST; 421 PITEMIDLIST = ^ITEMIDLIST; 422 423 BROWSEINFO = record 424 hwndOwner : HWND; 425 pidlRoot : LPCITEMIDLIST; 426 pszDisplayName : LPTSTR; 427 lpszTitle : LPCTSTR; 428 ulFlags : UINT; 429 lpfn : BFFCALLBACK; 430 lParam : LPARAM; 431 iImage : longint; 432 end deprecated 'Use shlobj version. Will be removed in the future'; 433 LPBROWSEINFO = ^BROWSEINFO deprecated; 434 _browseinfo = BROWSEINFO deprecated; 435 Tbrowseinfo = BROWSEINFO deprecated; 436 PBROWSEINFO = ^BROWSEINFO deprecated; 437 438 FILETIME = record 439 dwLowDateTime : DWORD; 440 dwHighDateTime : DWORD; 441 end; 442 LPFILETIME = ^FILETIME; 443 _FILETIME = FILETIME; 444 TFILETIME = FILETIME; 445 PFILETIME = ^FILETIME; 446 447 BY_HANDLE_FILE_INFORMATION = record 448 dwFileAttributes : DWORD; 449 ftCreationTime : FILETIME; 450 ftLastAccessTime : FILETIME; 451 ftLastWriteTime : FILETIME; 452 dwVolumeSerialNumber : DWORD; 453 nFileSizeHigh : DWORD; 454 nFileSizeLow : DWORD; 455 nNumberOfLinks : DWORD; 456 nFileIndexHigh : DWORD; 457 nFileIndexLow : DWORD; 458 end; 459 LPBY_HANDLE_FILE_INFORMATION = ^BY_HANDLE_FILE_INFORMATION; 460 _BY_HANDLE_FILE_INFORMATION = BY_HANDLE_FILE_INFORMATION; 461 TBYHANDLEFILEINFORMATION = BY_HANDLE_FILE_INFORMATION; 462 PBYHANDLEFILEINFORMATION = ^BY_HANDLE_FILE_INFORMATION; 463 464 FIXED = packed record 465 fract : WORD; 466 value : SHORT; 467 end; 468 _FIXED = FIXED; 469 TFIXED = FIXED; 470 PFIXED = ^FIXED; 471 472 POINTFX = record 473 x : FIXED; 474 y : FIXED; 475 end; 476 tagPOINTFX = POINTFX; 477 TPOINTFX = POINTFX; 478 PPOINTFX = ^POINTFX; 479 480 POINTL = record 481 x : LONG; 482 y : LONG; 483 end; 484 _POINTL = POINTL; 485 TPOINTL = POINTL; 486 PPOINTL = ^POINTL; 487 488 POINTS = record 489 x : SHORT; 490 y : SHORT; 491 end; 492 tagPOINTS = POINTS; 493 TPOINTS = POINTS; 494 PPOINTS = ^POINTS; 495 496 CANDIDATEFORM = record 497 dwIndex : DWORD; 498 dwStyle : DWORD; 499 ptCurrentPos : POINT; 500 rcArea : RECT; 501 end; 502 LPCANDIDATEFORM = ^CANDIDATEFORM; 503 _tagCANDIDATEFORM = CANDIDATEFORM; 504 TCANDIDATEFORM = CANDIDATEFORM; 505 PCANDIDATEFORM = ^CANDIDATEFORM; 506 507 CANDIDATELIST = record 508 dwSize : DWORD; 509 dwStyle : DWORD; 510 dwCount : DWORD; 511 dwSelection : DWORD; 512 dwPageStart : DWORD; 513 dwPageSize : DWORD; 514 dwOffset : array[0..0] of DWORD; 515 end; 516 LPCANDIDATELIST = ^CANDIDATELIST; 517 _tagCANDIDATELIST = CANDIDATELIST; 518 TCANDIDATELIST = CANDIDATELIST; 519 PCANDIDATELIST = ^CANDIDATELIST; 520 521 CREATESTRUCT = record 522 lpCreateParams : LPVOID; 523 hInstance : HINST; 524 hMenu : HMENU; 525 hwndParent : HWND; 526 cy : longint; 527 cx : longint; 528 y : longint; 529 x : longint; 530 style : LONG; 531 lpszName : LPCTSTR; 532 lpszClass : LPCTSTR; 533 dwExStyle : DWORD; 534 end; 535 LPCREATESTRUCT = ^CREATESTRUCT; 536 tagCREATESTRUCT = CREATESTRUCT; 537 TCREATESTRUCT = CREATESTRUCT; 538 PCREATESTRUCT = ^CREATESTRUCT; 539 540 CBT_CREATEWND = record 541 lpcs : LPCREATESTRUCT; 542 hwndInsertAfter : HWND; 543 end; 544 tagCBT_CREATEWND = CBT_CREATEWND; 545 TCBT_CREATEWND = CBT_CREATEWND; 546 PCBT_CREATEWND = ^CBT_CREATEWND; 547 548 CBTACTIVATESTRUCT = record 549 fMouse : WINBOOL; 550 hWndActive : HWND; 551 end; 552 tagCBTACTIVATESTRUCT = CBTACTIVATESTRUCT; 553 TCBTACTIVATESTRUCT = CBTACTIVATESTRUCT; 554 PCBTACTIVATESTRUCT = ^CBTACTIVATESTRUCT; 555 556 557 CHAR_INFO = record 558 case longint of 559 0 : ( UnicodeChar : WCHAR; 560 Attributes : Word); 561 1 : ( AsciiChar : CHAR ); 562 end; 563 _CHAR_INFO = CHAR_INFO; 564 TCHAR_INFO = CHAR_INFO; 565 PCHAR_INFO = ^CHAR_INFO; 566 567 CHARFORMATA = record 568 cbSize : UINT; 569 dwMask : DWORD; 570 dwEffects : DWORD; 571 yHeight : LONG; 572 yOffset : LONG; 573 crTextColor : COLORREF; 574 bCharSet : BYTE; 575 bPitchAndFamily : BYTE; 576 szFaceName : array[0..(LF_FACESIZE)-1] of AnsiCHAR; 577 end; 578 _CHARFORMATA = CHARFORMATA; 579 TCHARFORMATA = CHARFORMATA; 580 PCHARFORMATA = ^CHARFORMATA; 581 582 CHARFORMATW = record 583 cbSize : UINT; 584 dwMask : DWORD; 585 dwEffects : DWORD; 586 yHeight : LONG; 587 yOffset : LONG; 588 crTextColor : COLORREF; 589 bCharSet : BYTE; 590 bPitchAndFamily : BYTE; 591 szFaceName : array[0..(LF_FACESIZE)-1] of WCHAR; 592 end; 593 _CHARFORMATW = CHARFORMATW; 594 TCHARFORMATW = CHARFORMATW; 595 PCHARFORMATW = ^CHARFORMATW; 596{$ifdef Unicode} 597 CHARFORMAT = CHARFORMATW; 598 _CHARFORMAT = CHARFORMATW; 599 TCHARFORMAT = CHARFORMATW; 600 PCHARFORMAT = PCHARFORMATW; 601{$else} 602 CHARFORMAT = CHARFORMATA; 603 _CHARFORMAT = CHARFORMATA; 604 TCHARFORMAT = CHARFORMATA; 605 PCHARFORMAT = PCHARFORMATA; 606{$endif} 607 608 CHARRANGE = record 609 cpMin : LONG; 610 cpMax : LONG; 611 end; 612 _charrange = CHARRANGE; 613 Tcharrange = CHARRANGE; 614 Pcharrange = ^CHARRANGE; 615 616 CHARSET = record 617 aflBlock : array[0..2] of DWORD; 618 flLang : DWORD; 619 end; 620 tagCHARSET = CHARSET; 621 TCHARSET = CHARSET; 622 PCHARSET = ^CHARSET; 623 624 FONTSIGNATURE = record 625 fsUsb : array[0..3] of DWORD; 626 fsCsb : array[0..1] of DWORD; 627 end; 628 LPFONTSIGNATURE = ^FONTSIGNATURE; 629 tagFONTSIGNATURE = FONTSIGNATURE; 630 TFONTSIGNATURE = FONTSIGNATURE; 631 PFONTSIGNATURE = ^FONTSIGNATURE; 632 633 CHARSETINFO = record 634 ciCharset : UINT; 635 ciACP : UINT; 636 fs : FONTSIGNATURE; 637 end; 638 LPCHARSETINFO = ^CHARSETINFO; 639 TCHARSETINFO = CHARSETINFO; 640 PCHARSETINFO = ^CHARSETINFO; 641 642 {CHOOSECOLOR = record confilcts with function ChooseColor } 643 TCHOOSECOLOR = record 644 lStructSize : DWORD; 645 hwndOwner : HWND; 646 hInstance : HWND; 647 rgbResult : COLORREF; 648 lpCustColors : ^COLORREF; 649 Flags : DWORD; 650 lCustData : LPARAM; 651 lpfnHook : LPCCHOOKPROC; 652 lpTemplateName : LPCTSTR; 653 end; 654 LPCHOOSECOLOR = ^TCHOOSECOLOR; 655 PCHOOSECOLOR = ^TCHOOSECOLOR; 656 657 LOGFONTA = record 658 lfHeight : LONG; 659 lfWidth : LONG; 660 lfEscapement : LONG; 661 lfOrientation : LONG; 662 lfWeight : LONG; 663 lfItalic : BYTE; 664 lfUnderline : BYTE; 665 lfStrikeOut : BYTE; 666 lfCharSet : BYTE; 667 lfOutPrecision : BYTE; 668 lfClipPrecision : BYTE; 669 lfQuality : BYTE; 670 lfPitchAndFamily : BYTE; 671 lfFaceName : array[0..(LF_FACESIZE)-1] of AnsiCHAR; 672 end; 673 LPLOGFONTA = ^LOGFONTA; 674 _LOGFONTA = LOGFONTA; 675 TLOGFONTA = LOGFONTA; 676 PLOGFONTA = LPLOGFONTA; 677 tagLOGFONTA= LOGFONTA; 678 679 LOGFONTW = record 680 lfHeight: LONG; 681 lfWidth: LONG; 682 lfEscapement: LONG; 683 lfOrientation: LONG; 684 lfWeight: LONG; 685 lfItalic: BYTE; 686 lfUnderline: BYTE; 687 lfStrikeOut: BYTE; 688 lfCharSet: BYTE; 689 lfOutPrecision: BYTE; 690 lfClipPrecision: BYTE; 691 lfQuality: BYTE; 692 lfPitchAndFamily: BYTE; 693 lfFaceName: array [0..LF_FACESIZE - 1] of WCHAR; 694 end; 695 LPLOGFONTW = ^LOGFONTW; 696 NPLOGFONTW = ^LOGFONTW; 697 _LOGFONTW = LOGFONTW; 698 TLogFontW = LOGFONTW; 699 PLogFontW = ^TLOGFONTW; 700 tagLOGFONTW= LOGFONTW; 701 702 {$IFNDEF UNICODE} 703 LOGFONT = LOGFONTA; 704 LPLOGFONT = ^LOGFONTA; 705 _LOGFONT = LOGFONTA; 706 TLOGFONT = LOGFONTA; 707 PLOGFONT = ^LOGFONTA; 708 tagLOGFONT = LOGFONTA; 709 {$ELSE} 710 LOGFONT = LOGFONTW; 711 LPLOGFONT = ^LOGFONTW; 712 _LOGFONT = LOGFONTW; 713 TLOGFONT = LOGFONTW; 714 PLOGFONT = ^LOGFONTW; 715 tagLOGFONT = LOGFONTW; 716 {$ENDIF} 717 718 {CHOOSEFONT = record conflicts with ChosseFont function } 719 TCHOOSEFONT = record 720 lStructSize : DWORD; 721 hwndOwner : HWND; 722 hDC : HDC; 723 lpLogFont : LPLOGFONT; 724 iPointSize : WINT; 725 Flags : DWORD; 726 rgbColors : COLORREF; 727 lCustData : LPARAM; 728 lpfnHook : LPCFHOOKPROC; 729 lpTemplateName : LPCTSTR; 730 hInstance : HINST; 731 lpszStyle : LPTSTR; 732 nFontType : WORD; 733 ___MISSING_ALIGNMENT__ : WORD; 734 nSizeMin : WINT; 735 nSizeMax : WINT; 736 end; 737 LPCHOOSEFONT = ^TCHOOSEFONT; 738 PCHOOSEFONT = ^TCHOOSEFONT; 739 740 CIDA = record 741 cidl : UINT; 742 aoffset : array[0..0] of UINT; 743 end; 744 LPIDA = ^CIDA; 745 _IDA = CIDA; 746 TIDA = CIDA; 747 PIDA = ^CIDA; 748 749 CLIENTCREATESTRUCT = record 750 hWindowMenu : HANDLE; 751 idFirstChild : UINT; 752 end; 753 LPCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT; 754 tagCLIENTCREATESTRUCT = CLIENTCREATESTRUCT; 755 TCLIENTCREATESTRUCT = CLIENTCREATESTRUCT; 756 PCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT; 757 758 CMINVOKECOMMANDINFO = record 759 cbSize : DWORD; 760 fMask : DWORD; 761 hwnd : HWND; 762 lpVerb : LPCSTR; 763 lpParameters : LPCSTR; 764 lpDirectory : LPCSTR; 765 nShow : longint; 766 dwHotKey : DWORD; 767 hIcon : HANDLE; 768 end deprecated 'Use shlobj version. Will be removed in the future'; 769 LPCMINVOKECOMMANDINFO = ^CMINVOKECOMMANDINFO deprecated; 770 _CMInvokeCommandInfo = CMINVOKECOMMANDINFO deprecated; 771 TCMInvokeCommandInfo = CMINVOKECOMMANDINFO deprecated; 772 PCMInvokeCommandInfo = ^CMINVOKECOMMANDINFO deprecated; 773 774 COLORADJUSTMENT = record 775 caSize : WORD; 776 caFlags : WORD; 777 caIlluminantIndex : WORD; 778 caRedGamma : WORD; 779 caGreenGamma : WORD; 780 caBlueGamma : WORD; 781 caReferenceBlack : WORD; 782 caReferenceWhite : WORD; 783 caContrast : SHORT; 784 caBrightness : SHORT; 785 caColorfulness : SHORT; 786 caRedGreenTint : SHORT; 787 end; 788 LPCOLORADJUSTMENT = ^COLORADJUSTMENT; 789 tagCOLORADJUSTMENT = COLORADJUSTMENT; 790 TCOLORADJUSTMENT = COLORADJUSTMENT; 791 PCOLORADJUSTMENT = ^COLORADJUSTMENT; 792 793 COLORMAP = record 794 from : COLORREF; 795 _to : COLORREF; 796 end; 797 LPCOLORMAP = ^COLORMAP; 798 _COLORMAP = COLORMAP; 799 TCOLORMAP = COLORMAP; 800 PCOLORMAP = ^COLORMAP; 801 802 DCB = record 803 DCBlength : DWORD; 804 BaudRate : DWORD; 805 flags : DWORD; 806 wReserved : WORD; 807 XonLim : WORD; 808 XoffLim : WORD; 809 ByteSize : BYTE; 810 Parity : BYTE; 811 StopBits : BYTE; 812 XonChar : char; 813 XoffChar : char; 814 ErrorChar : char; 815 EofChar : char; 816 EvtChar : char; 817 wReserved1 : WORD; 818 end; 819 LPDCB = ^DCB; 820 _DCB = DCB; 821 TDCB = DCB; 822 PDCB = ^DCB; 823 824 FLASHWINFO = record 825 cbSize : UINT; 826 hwnd : HWND; 827 dwFlags : DWORD; 828 uCount : UINT; 829 dwTimeOut : DWORD; 830 end; 831 TFLASHWINFO = FLASHWINFO; 832 PFLASHWINFO = ^FLASHWINFO; 833 834 const 835 bm_DCB_fBinary = $1; 836 bp_DCB_fBinary = 0; 837 bm_DCB_fParity = $2; 838 bp_DCB_fParity = 1; 839 bm_DCB_fOutxCtsFlow = $4; 840 bp_DCB_fOutxCtsFlow = 2; 841 bm_DCB_fOutxDsrFlow = $8; 842 bp_DCB_fOutxDsrFlow = 3; 843 bm_DCB_fDtrControl = $30; 844 bp_DCB_fDtrControl = 4; 845 bm_DCB_fDsrSensitivity = $40; 846 bp_DCB_fDsrSensitivity = 6; 847 bm_DCB_fTXContinueOnXoff = $80; 848 bp_DCB_fTXContinueOnXoff = 7; 849 bm_DCB_fOutX = $100; 850 bp_DCB_fOutX = 8; 851 bm_DCB_fInX = $200; 852 bp_DCB_fInX = 9; 853 bm_DCB_fErrorChar = $400; 854 bp_DCB_fErrorChar = 10; 855 bm_DCB_fNull = $800; 856 bp_DCB_fNull = 11; 857 bm_DCB_fRtsControl = $3000; 858 bp_DCB_fRtsControl = 12; 859 bm_DCB_fAbortOnError = $4000; 860 bp_DCB_fAbortOnError = 14; 861 bm_DCB_fDummy2 = $FFFF8000; 862 bp_DCB_fDummy2 = 15; 863 function fBinary(var a : DCB) : DWORD; 864 procedure set_fBinary(var a : DCB; __fBinary : DWORD); 865 function fParity(var a : DCB) : DWORD; 866 procedure set_fParity(var a : DCB; __fParity : DWORD); 867 function fOutxCtsFlow(var a : DCB) : DWORD; 868 procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD); 869 function fOutxDsrFlow(var a : DCB) : DWORD; 870 procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD); 871 function fDtrControl(var a : DCB) : DWORD; 872 procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD); 873 function fDsrSensitivity(var a : DCB) : DWORD; 874 procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD); 875 function fTXContinueOnXoff(var a : DCB) : DWORD; 876 procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD); 877 function fOutX(var a : DCB) : DWORD; 878 procedure set_fOutX(var a : DCB; __fOutX : DWORD); 879 function fInX(var a : DCB) : DWORD; 880 procedure set_fInX(var a : DCB; __fInX : DWORD); 881 function fErrorChar(var a : DCB) : DWORD; 882 procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD); 883 function fNull(var a : DCB) : DWORD; 884 procedure set_fNull(var a : DCB; __fNull : DWORD); 885 function fRtsControl(var a : DCB) : DWORD; 886 procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD); 887 function fAbortOnError(var a : DCB) : DWORD; 888 procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD); 889 function fDummy2(var a : DCB) : DWORD; 890 procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD); 891 892 type 893 894 COMMCONFIG = record 895 dwSize : DWORD; 896 wVersion : WORD; 897 wReserved : WORD; 898 dcb : DCB; 899 dwProviderSubType : DWORD; 900 dwProviderOffset : DWORD; 901 dwProviderSize : DWORD; 902 wcProviderData : array[0..0] of WCHAR; 903 end; 904 LPCOMMCONFIG = ^COMMCONFIG; 905 _COMM_CONFIG = COMMCONFIG; 906 TCOMMCONFIG = COMMCONFIG; 907 PCOMMCONFIG = ^COMMCONFIG; 908 909 COMMPROP = record 910 wPacketLength : WORD; 911 wPacketVersion : WORD; 912 dwServiceMask : DWORD; 913 dwReserved1 : DWORD; 914 dwMaxTxQueue : DWORD; 915 dwMaxRxQueue : DWORD; 916 dwMaxBaud : DWORD; 917 dwProvSubType : DWORD; 918 dwProvCapabilities : DWORD; 919 dwSettableParams : DWORD; 920 dwSettableBaud : DWORD; 921 wSettableData : WORD; 922 wSettableStopParity : WORD; 923 dwCurrentTxQueue : DWORD; 924 dwCurrentRxQueue : DWORD; 925 dwProvSpec1 : DWORD; 926 dwProvSpec2 : DWORD; 927 wcProvChar : array[0..0] of WCHAR; 928 end; 929 LPCOMMPROP = ^COMMPROP; 930 _COMMPROP = COMMPROP; 931 TCOMMPROP = COMMPROP; 932 PCOMMPROP = ^COMMPROP; 933 934 COMMTIMEOUTS = record 935 ReadIntervalTimeout : DWORD; 936 ReadTotalTimeoutMultiplier : DWORD; 937 ReadTotalTimeoutConstant : DWORD; 938 WriteTotalTimeoutMultiplier : DWORD; 939 WriteTotalTimeoutConstant : DWORD; 940 end; 941 LPCOMMTIMEOUTS = ^COMMTIMEOUTS; 942 _COMMTIMEOUTS = COMMTIMEOUTS; 943 TCOMMTIMEOUTS = COMMTIMEOUTS; 944 PCOMMTIMEOUTS = ^COMMTIMEOUTS; 945 946 COMPAREITEMSTRUCT = record 947 CtlType : UINT; 948 CtlID : UINT; 949 hwndItem : HWND; 950 itemID1 : UINT; 951 itemData1 : ULONG_PTR; 952 itemID2 : UINT; 953 itemData2 : ULONG_PTR; 954 dwLocaleID : DWORD; 955 end; 956 tagCOMPAREITEMSTRUCT = COMPAREITEMSTRUCT; 957 TCOMPAREITEMSTRUCT = COMPAREITEMSTRUCT; 958 PCOMPAREITEMSTRUCT = ^COMPAREITEMSTRUCT; 959 960 COMPCOLOR = record 961 crText : COLORREF; 962 crBackground : COLORREF; 963 dwEffects : DWORD; 964 end; 965 TCOMPCOLOR = COMPCOLOR; 966 PCOMPCOLOR = ^COMPCOLOR; 967 968 COMPOSITIONFORM = record 969 dwStyle : DWORD; 970 ptCurrentPos : POINT; 971 rcArea : RECT; 972 end; 973 LPCOMPOSITIONFORM = ^COMPOSITIONFORM; 974 _tagCOMPOSITIONFORM = COMPOSITIONFORM; 975 TCOMPOSITIONFORM = COMPOSITIONFORM; 976 PCOMPOSITIONFORM = ^COMPOSITIONFORM; 977 978// TComStatFlags = set of (fCtsHold, fDsrHold, fRlsdHold , fXoffHold , 979// fXoffSent , fEof , fTxim , fReserved); 980 981 COMSTAT = record 982 flag0 : DWORD; // can't use tcomstatflags, set packing issues 983 // and conflicts with macro's 984 cbInQue : DWORD; 985 cbOutQue : DWORD; 986 end; 987 LPCOMSTAT = ^COMSTAT; 988 _COMSTAT = COMSTAT; 989 TCOMSTAT = COMSTAT; 990 PCOMSTAT = ^COMSTAT; 991 const 992 bm_COMSTAT_fCtsHold = $1; 993 bp_COMSTAT_fCtsHold = 0; 994 bm_COMSTAT_fDsrHold = $2; 995 bp_COMSTAT_fDsrHold = 1; 996 bm_COMSTAT_fRlsdHold = $4; 997 bp_COMSTAT_fRlsdHold = 2; 998 bm_COMSTAT_fXoffHold = $8; 999 bp_COMSTAT_fXoffHold = 3; 1000 bm_COMSTAT_fXoffSent = $10; 1001 bp_COMSTAT_fXoffSent = 4; 1002 bm_COMSTAT_fEof = $20; 1003 bp_COMSTAT_fEof = 5; 1004 bm_COMSTAT_fTxim = $40; 1005 bp_COMSTAT_fTxim = 6; 1006 bm_COMSTAT_fReserved = $FFFFFF80; 1007 bp_COMSTAT_fReserved = 7; 1008 function fCtsHold(var a : COMSTAT) : DWORD; // should be renamed to get_<x>? 1009 procedure set_fCtsHold(var a : COMSTAT; __fCtsHold : DWORD); 1010 function fDsrHold(var a : COMSTAT) : DWORD; 1011 procedure set_fDsrHold(var a : COMSTAT; __fDsrHold : DWORD); 1012 function fRlsdHold(var a : COMSTAT) : DWORD; 1013 procedure set_fRlsdHold(var a : COMSTAT; __fRlsdHold : DWORD); 1014 function fXoffHold(var a : COMSTAT) : DWORD; 1015 procedure set_fXoffHold(var a : COMSTAT; __fXoffHold : DWORD); 1016 function fXoffSent(var a : COMSTAT) : DWORD; 1017 procedure set_fXoffSent(var a : COMSTAT; __fXoffSent : DWORD); 1018 function fEof(var a : COMSTAT) : DWORD; 1019 procedure set_fEof(var a : COMSTAT; __fEof : DWORD); 1020 function fTxim(var a : COMSTAT) : DWORD; 1021 procedure set_fTxim(var a : COMSTAT; __fTxim : DWORD); 1022 function fReserved(var a : COMSTAT) : DWORD; 1023 procedure set_fReserved(var a : COMSTAT; __fReserved : DWORD); 1024 1025 type 1026 1027 CONSOLE_CURSOR_INFO = record 1028 dwSize : DWORD; 1029 bVisible : WINBOOL; 1030 end; 1031 PCONSOLE_CURSOR_INFO = ^CONSOLE_CURSOR_INFO; 1032 _CONSOLE_CURSOR_INFO = CONSOLE_CURSOR_INFO; 1033 TCONSOLECURSORINFO = CONSOLE_CURSOR_INFO; 1034 PCONSOLECURSORINFO = ^CONSOLE_CURSOR_INFO; 1035 1036 COORD = record 1037 X : SHORT; 1038 Y : SHORT; 1039 end; 1040 _COORD = COORD; 1041 TCOORD = COORD; 1042 PCOORD = ^COORD; 1043 1044 SMALL_RECT = record 1045 Left : SHORT; 1046 Top : SHORT; 1047 Right : SHORT; 1048 Bottom : SHORT; 1049 end; 1050 _SMALL_RECT = SMALL_RECT; 1051 TSMALL_RECT = SMALL_RECT; 1052 PSMALL_RECT = ^SMALL_RECT; 1053 1054 CONSOLE_SCREEN_BUFFER_INFO = packed record 1055 dwSize : COORD; 1056 dwCursorPosition : COORD; 1057 wAttributes : WORD; 1058 srWindow : SMALL_RECT; 1059 dwMaximumWindowSize : COORD; 1060 end; 1061 PCONSOLE_SCREEN_BUFFER_INFO = ^CONSOLE_SCREEN_BUFFER_INFO; 1062 _CONSOLE_SCREEN_BUFFER_INFO = CONSOLE_SCREEN_BUFFER_INFO; 1063 TCONSOLESCREENBUFFERINFO = CONSOLE_SCREEN_BUFFER_INFO; 1064 PCONSOLESCREENBUFFERINFO = ^CONSOLE_SCREEN_BUFFER_INFO; 1065 1066{$ifdef cpui386} 1067{$define __HASCONTEXT__} 1068 type 1069 1070 FLOATING_SAVE_AREA = record 1071 ControlWord : DWORD; 1072 StatusWord : DWORD; 1073 TagWord : DWORD; 1074 ErrorOffset : DWORD; 1075 ErrorSelector : DWORD; 1076 DataOffset : DWORD; 1077 DataSelector : DWORD; 1078 RegisterArea : array[0..79] of BYTE; 1079 Cr0NpxState : DWORD; 1080 end; 1081 _FLOATING_SAVE_AREA = FLOATING_SAVE_AREA; 1082 TFLOATINGSAVEAREA = FLOATING_SAVE_AREA; 1083 PFLOATINGSAVEAREA = ^FLOATING_SAVE_AREA; 1084 1085 CONTEXT = record 1086 ContextFlags : DWORD; 1087 Dr0 : DWORD; 1088 Dr1 : DWORD; 1089 Dr2 : DWORD; 1090 Dr3 : DWORD; 1091 Dr6 : DWORD; 1092 Dr7 : DWORD; 1093 FloatSave : FLOATING_SAVE_AREA; 1094 SegGs : DWORD; 1095 SegFs : DWORD; 1096 SegEs : DWORD; 1097 SegDs : DWORD; 1098 Edi : DWORD; 1099 Esi : DWORD; 1100 Ebx : DWORD; 1101 Edx : DWORD; 1102 Ecx : DWORD; 1103 Eax : DWORD; 1104 Ebp : DWORD; 1105 Eip : DWORD; 1106 SegCs : DWORD; 1107 EFlags : DWORD; 1108 Esp : DWORD; 1109 SegSs : DWORD; 1110 end; 1111{$endif} 1112 1113{$ifdef cpux86_64} 1114{$define __HASCONTEXT__} 1115// 1116// Define 128-bit 16-byte aligned xmm register type. 1117// 1118 1119//typedef struct DECLSPEC_ALIGN(16) _M128A { 1120{$note todo, fix alignment } 1121 type 1122 M128A = record 1123 Low: ULONGLONG; 1124 High: LONGLONG; 1125 end; 1126 _M128A = M128A; 1127 TM128A = M128A; 1128 PM128A = TM128A; 1129 1130// 1131// Format of data for 32-bit fxsave/fxrstor instructions. 1132// 1133 1134//typedef struct _XMM_SAVE_AREA32 { 1135 type 1136 XMM_SAVE_AREA32 = record 1137 ControlWord: WORD; 1138 StatusWord: WORD; 1139 TagWord: BYTE; 1140 Reserved1: BYTE; 1141 ErrorOpcode: WORD; 1142 ErrorOffset: DWORD; 1143 ErrorSelector: WORD; 1144 Reserved2: WORD; 1145 DataOffset: DWORD; 1146 DataSelector: WORD; 1147 Reserved3: WORD; 1148 MxCsr: DWORD; 1149 MxCsr_Mask: DWORD; 1150 FloatRegisters: array[0..7] of M128A; 1151 XmmRegisters: array[0..15] of M128A; 1152 Reserved4: array[0..95] of BYTE; 1153 end; 1154 _XMM_SAVE_AREA32 = XMM_SAVE_AREA32; 1155 TXmmSaveArea = XMM_SAVE_AREA32; 1156 PXmmSaveArea = ^TXmmSaveArea; 1157 1158 const 1159 LEGACY_SAVE_AREA_LENGTH = sizeof(XMM_SAVE_AREA32); 1160 1161// 1162// Context Frame 1163// 1164// This frame has a several purposes: 1) it is used as an argument to 1165// NtContinue, 2) is is used to constuct a call frame for APC delivery, 1166// and 3) it is used in the user level thread creation routines. 1167// 1168// 1169// The flags field within this record controls the contents of a CONTEXT 1170// record. 1171// 1172// If the context record is used as an input parameter, then for each 1173// portion of the context record controlled by a flag whose value is 1174// set, it is assumed that that portion of the context record contains 1175// valid context. If the context record is being used to modify a threads 1176// context, then only that portion of the threads context is modified. 1177// 1178// If the context record is used as an output parameter to capture the 1179// context of a thread, then only those portions of the thread's context 1180// corresponding to set flags will be returned. 1181// 1182// CONTEXT_CONTROL specifies SegSs, Rsp, SegCs, Rip, and EFlags. 1183// 1184// CONTEXT_INTEGER specifies Rax, Rcx, Rdx, Rbx, Rbp, Rsi, Rdi, and R8-R15. 1185// 1186// CONTEXT_SEGMENTS specifies SegDs, SegEs, SegFs, and SegGs. 1187// 1188// CONTEXT_DEBUG_REGISTERS specifies Dr0-Dr3 and Dr6-Dr7. 1189// 1190// CONTEXT_MMX_REGISTERS specifies the floating point and extended registers 1191// Mm0/St0-Mm7/St7 and Xmm0-Xmm15). 1192// 1193 1194//typedef struct DECLSPEC_ALIGN(16) _CONTEXT { 1195{$note todo, fix alignment } 1196 type 1197 CONTEXT = record 1198 1199 // 1200 // Register parameter home addresses. 1201 // 1202 // N.B. These fields are for convience - they could be used to extend the 1203 // context record in the future. 1204 // 1205 1206 P1Home: DWORD64; 1207 P2Home: DWORD64; 1208 P3Home: DWORD64; 1209 P4Home: DWORD64; 1210 P5Home: DWORD64; 1211 P6Home: DWORD64; 1212 1213 // 1214 // Control flags. 1215 // 1216 1217 ContextFlags: DWORD; 1218 MxCsr: DWORD; 1219 1220 // 1221 // Segment Registers and processor flags. 1222 // 1223 1224 SegCs: WORD; 1225 SegDs: WORD; 1226 SegEs: WORD; 1227 SegFs: WORD; 1228 SegGs: WORD; 1229 SegSs: WORD; 1230 EFlags: DWORD; 1231 1232 // 1233 // Debug registers 1234 // 1235 1236 Dr0: DWORD64; 1237 Dr1: DWORD64; 1238 Dr2: DWORD64; 1239 Dr3: DWORD64; 1240 Dr6: DWORD64; 1241 Dr7: DWORD64; 1242 1243 // 1244 // Integer registers. 1245 // 1246 1247 Rax: DWORD64; 1248 Rcx: DWORD64; 1249 Rdx: DWORD64; 1250 Rbx: DWORD64; 1251 Rsp: DWORD64; 1252 Rbp: DWORD64; 1253 Rsi: DWORD64; 1254 Rdi: DWORD64; 1255 R8: DWORD64; 1256 R9: DWORD64; 1257 R10: DWORD64; 1258 R11: DWORD64; 1259 R12: DWORD64; 1260 R13: DWORD64; 1261 R14: DWORD64; 1262 R15: DWORD64; 1263 1264 // 1265 // Program counter. 1266 // 1267 1268 Rip: DWORD64; 1269 1270 // 1271 // Floating point state. 1272 // 1273 1274 FltSave: XMM_SAVE_AREA32; // MWE: only translated the FltSave part of the union 1275(* 1276 union { 1277 XMM_SAVE_AREA32 FltSave; 1278 struct { 1279 M128A Header[2]; 1280 M128A Legacy[8]; 1281 M128A Xmm0; 1282 M128A Xmm1; 1283 M128A Xmm2; 1284 M128A Xmm3; 1285 M128A Xmm4; 1286 M128A Xmm5; 1287 M128A Xmm6; 1288 M128A Xmm7; 1289 M128A Xmm8; 1290 M128A Xmm9; 1291 M128A Xmm10; 1292 M128A Xmm11; 1293 M128A Xmm12; 1294 M128A Xmm13; 1295 M128A Xmm14; 1296 M128A Xmm15; 1297 }; 1298 }; 1299*) 1300 1301 // 1302 // Vector registers. 1303 // 1304 1305 VectorRegister: array[0..25] of M128A; 1306 VectorControl: DWORD64; 1307 1308 // 1309 // Special debug control registers. 1310 // 1311 1312 DebugControl: DWORD64; 1313 LastBranchToRip: DWORD64; 1314 LastBranchFromRip: DWORD64; 1315 LastExceptionToRip: DWORD64; 1316 LastExceptionFromRip: DWORD64; 1317 end; 1318{$endif} 1319 1320{$ifdef cpupowerpc32} 1321{$define __HASCONTEXT__} 1322 { __ppc__ } 1323 { Floating point registers returned when CONTEXT_FLOATING_POINT is set } 1324 { Integer registers returned when CONTEXT_INTEGER is set. } 1325 { Condition register } 1326 { Fixed point exception register } 1327 { The following are set when CONTEXT_CONTROL is set. } 1328 { Machine status register } 1329 { Instruction address register } 1330 { Link register } 1331 { Control register } 1332 { Control which context values are returned } 1333 { Registers returned if CONTEXT_DEBUG_REGISTERS is set. } 1334 { Breakpoint Register 1 } 1335 { Breakpoint Register 2 } 1336 { Breakpoint Register 3 } 1337 { Breakpoint Register 4 } 1338 { Breakpoint Register 5 } 1339 { Breakpoint Register 6 } 1340 { Debug Status Register } 1341 { Debug Control Register } 1342 1343 type 1344 1345 CONTEXT = record 1346 Fpr0 : double; 1347 Fpr1 : double; 1348 Fpr2 : double; 1349 Fpr3 : double; 1350 Fpr4 : double; 1351 Fpr5 : double; 1352 Fpr6 : double; 1353 Fpr7 : double; 1354 Fpr8 : double; 1355 Fpr9 : double; 1356 Fpr10 : double; 1357 Fpr11 : double; 1358 Fpr12 : double; 1359 Fpr13 : double; 1360 Fpr14 : double; 1361 Fpr15 : double; 1362 Fpr16 : double; 1363 Fpr17 : double; 1364 Fpr18 : double; 1365 Fpr19 : double; 1366 Fpr20 : double; 1367 Fpr21 : double; 1368 Fpr22 : double; 1369 Fpr23 : double; 1370 Fpr24 : double; 1371 Fpr25 : double; 1372 Fpr26 : double; 1373 Fpr27 : double; 1374 Fpr28 : double; 1375 Fpr29 : double; 1376 Fpr30 : double; 1377 Fpr31 : double; 1378 Fpscr : double; 1379 Gpr0 : DWORD; 1380 Gpr1 : DWORD; 1381 Gpr2 : DWORD; 1382 Gpr3 : DWORD; 1383 Gpr4 : DWORD; 1384 Gpr5 : DWORD; 1385 Gpr6 : DWORD; 1386 Gpr7 : DWORD; 1387 Gpr8 : DWORD; 1388 Gpr9 : DWORD; 1389 Gpr10 : DWORD; 1390 Gpr11 : DWORD; 1391 Gpr12 : DWORD; 1392 Gpr13 : DWORD; 1393 Gpr14 : DWORD; 1394 Gpr15 : DWORD; 1395 Gpr16 : DWORD; 1396 Gpr17 : DWORD; 1397 Gpr18 : DWORD; 1398 Gpr19 : DWORD; 1399 Gpr20 : DWORD; 1400 Gpr21 : DWORD; 1401 Gpr22 : DWORD; 1402 Gpr23 : DWORD; 1403 Gpr24 : DWORD; 1404 Gpr25 : DWORD; 1405 Gpr26 : DWORD; 1406 Gpr27 : DWORD; 1407 Gpr28 : DWORD; 1408 Gpr29 : DWORD; 1409 Gpr30 : DWORD; 1410 Gpr31 : DWORD; 1411 Cr : DWORD; 1412 Xer : DWORD; 1413 Msr : DWORD; 1414 Iar : DWORD; 1415 Lr : DWORD; 1416 Ctr : DWORD; 1417 ContextFlags : DWORD; 1418 Fill : array[0..2] of DWORD; 1419 Dr0 : DWORD; 1420 Dr1 : DWORD; 1421 Dr2 : DWORD; 1422 Dr3 : DWORD; 1423 Dr4 : DWORD; 1424 Dr5 : DWORD; 1425 Dr6 : DWORD; 1426 Dr7 : DWORD; 1427 end; 1428{$endif} 1429 1430{$ifndef __HASCONTEXT__} 1431 { MWE: placeholder so it won't break compilation on others (CPUARM ?) } 1432 type 1433 CONTEXT = record 1434 end; 1435{$endif} 1436 1437{$undef __HASCONTEXT__} 1438 1439 LPCONTEXT = ^CONTEXT; 1440 _CONTEXT = CONTEXT; 1441 TCONTEXT = CONTEXT; 1442 PCONTEXT = ^CONTEXT; 1443 1444 type 1445 1446 LIST_ENTRY = record 1447 Flink : ^_LIST_ENTRY; 1448 Blink : ^_LIST_ENTRY; 1449 end; 1450 _LIST_ENTRY = LIST_ENTRY; 1451 TLISTENTRY = LIST_ENTRY; 1452 PLISTENTRY = ^LIST_ENTRY; 1453 1454 CRITICAL_SECTION_DEBUG = record 1455 _Type : WORD; 1456 CreatorBackTraceIndex : WORD; 1457 CriticalSection : ^_CRITICAL_SECTION; 1458 ProcessLocksList : LIST_ENTRY; 1459 EntryCount : DWORD; 1460 ContentionCount : DWORD; 1461 Depth : DWORD; 1462 OwnerBackTrace : array[0..4] of PVOID; 1463 end; 1464 LPCRITICAL_SECTION_DEBUG = ^CRITICAL_SECTION_DEBUG; 1465 PCRITICAL_SECTION_DEBUG = ^CRITICAL_SECTION_DEBUG; 1466 _CRITICAL_SECTION_DEBUG = CRITICAL_SECTION_DEBUG; 1467 TCRITICALSECTIONDEBUG = CRITICAL_SECTION_DEBUG; 1468 PCRITICALSECTIONDEBUG = ^CRITICAL_SECTION_DEBUG; 1469 1470 CRITICAL_SECTION = TRTLCriticalSection; 1471 _CRITICAL_SECTION = TRTLCriticalSection; 1472 TCRITICAL_SECTION = TRTLCriticalSection; 1473 PCRITICAL_SECTION = PRTLCriticalSection; 1474 LPCRITICAL_SECTION = PRTLCriticalSection; 1475 TCRITICALSECTION = TRTLCriticalSection; 1476 PCRITICALSECTION = PRTLCriticalSection; 1477 1478 { SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; } 1479 1480 SECURITY_QUALITY_OF_SERVICE = record 1481 Length : DWORD; 1482 ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL; 1483 ContextTrackingMode : BOOLEAN; // SECURITY_CONTEXT_TRACKING_MODE 1484 EffectiveOnly : BOOLEAN; 1485 end; 1486 PSECURITY_QUALITY_OF_SERVICE = ^SECURITY_QUALITY_OF_SERVICE; 1487 _SECURITY_QUALITY_OF_SERVICE = SECURITY_QUALITY_OF_SERVICE; 1488 TSECURITYQUALITYOFSERVICE = SECURITY_QUALITY_OF_SERVICE; 1489 PSECURITYQUALITYOFSERVICE = ^SECURITY_QUALITY_OF_SERVICE; 1490 1491 CONVCONTEXT = record 1492 cb : UINT; 1493 wFlags : UINT; 1494 wCountryID : UINT; 1495 iCodePage : longint; 1496 dwLangID : DWORD; 1497 dwSecurity : DWORD; 1498 qos : SECURITY_QUALITY_OF_SERVICE; 1499 end; 1500 tagCONVCONTEXT = CONVCONTEXT; 1501 TCONVCONTEXT = CONVCONTEXT; 1502 PCONVCONTEXT = ^CONVCONTEXT; 1503 1504 CONVINFO = record 1505 cb : DWORD; 1506 hUser : DWORD; 1507 hConvPartner : HCONV; 1508 hszSvcPartner : HSZ; 1509 hszServiceReq : HSZ; 1510 hszTopic : HSZ; 1511 hszItem : HSZ; 1512 wFmt : UINT; 1513 wType : UINT; 1514 wStatus : UINT; 1515 wConvst : UINT; 1516 wLastError : UINT; 1517 hConvList : HCONVLIST; 1518 ConvCtxt : CONVCONTEXT; 1519 _hwnd : HWND; 1520 hwndPartner : HWND; 1521 end; 1522 tagCONVINFO = CONVINFO; 1523 TCONVINFO = CONVINFO; 1524 PCONVINFO = ^CONVINFO; 1525 1526 COPYDATASTRUCT = record 1527 dwData : ULONG_PTR; 1528 cbData : DWORD; 1529 lpData : PVOID; 1530 end; 1531 tagCOPYDATASTRUCT = COPYDATASTRUCT; 1532 TCOPYDATASTRUCT = COPYDATASTRUCT; 1533 PCOPYDATASTRUCT = ^COPYDATASTRUCT; 1534 1535 CPINFO = record 1536 MaxCharSize : UINT; 1537 DefaultChar : array[0..(MAX_DEFAULTCHAR)-1] of BYTE; 1538 LeadByte : array[0..(MAX_LEADBYTES)-1] of BYTE; 1539 end; 1540 LPCPINFO = ^CPINFO; 1541 _cpinfo = CPINFO; 1542 Tcpinfo = CPINFO; 1543 Pcpinfo = ^CPINFO; 1544 1545 CPINFOEXA = record 1546 MaxCharSize : UINT; 1547 DefaultChar : array[0..(MAX_DEFAULTCHAR)-1] of BYTE; 1548 LeadByte : array[0..(MAX_LEADBYTES)-1] of BYTE; 1549 DefaultUnicode : WCHAR; 1550 CodePage : UINT; 1551 CodePageName : array[0..(MAX_PATH)-1] of CHAR; 1552 end; 1553 LPCPINFOEXA = ^CPINFOEXA; 1554 _cpinfoexA = CPINFOEXA; 1555 TcpinfoexA = CPINFOEXA; 1556 PcpinfoexA = ^CPINFOEXA; 1557 1558 CPINFOEXW = record 1559 MaxCharSize : UINT; 1560 DefaultChar : array[0..(MAX_DEFAULTCHAR)-1] of BYTE; 1561 LeadByte : array[0..(MAX_LEADBYTES)-1] of BYTE; 1562 DefaultUnicode : WCHAR; 1563 CodePage : UINT; 1564 CodePageName : array[0..(MAX_PATH)-1] of WCHAR; 1565 end; 1566 LPCPINFOEXW = ^CPINFOEXW; 1567 _cpinfoexW = CPINFOEXW; 1568 TcpinfoexW = CPINFOEXW; 1569 PcpinfoexW = ^CPINFOEXW; 1570 1571{$ifndef UNICODE} 1572 CPINFOEX = CPINFOEXA; 1573 LPCPINFOEX = PCPINFOEXA; 1574 _cpinfoex = CPINFOEXA; 1575 Tcpinfoex = CPINFOEXA; 1576 Pcpinfoex = PCPINFOEXA; 1577{$ELSE} 1578 CPINFOEX = CPINFOEXW; 1579 LPCPINFOEX = PCPINFOEXW; 1580 _cpinfoex = CPINFOEXW; 1581 Tcpinfoex = CPINFOEXW; 1582 Pcpinfoex = PCPINFOEXW; 1583{$ENDIF} 1584 1585 CPLINFO = record 1586 idIcon : longint; 1587 idName : longint; 1588 idInfo : longint; 1589 lData : LONG_PTR; 1590 end; 1591 tagCPLINFO = CPLINFO; 1592 TCPLINFO = CPLINFO; 1593 PCPLINFO = ^CPLINFO; 1594 1595 CREATE_PROCESS_DEBUG_INFO = record 1596 hFile : HANDLE; 1597 hProcess : HANDLE; 1598 hThread : HANDLE; 1599 lpBaseOfImage : LPVOID; 1600 dwDebugInfoFileOffset : DWORD; 1601 nDebugInfoSize : DWORD; 1602 lpThreadLocalBase : LPVOID; 1603 lpStartAddress : LPTHREAD_START_ROUTINE; 1604 lpImageName : LPVOID; 1605 fUnicode : WORD; 1606 end; 1607 _CREATE_PROCESS_DEBUG_INFO = CREATE_PROCESS_DEBUG_INFO; 1608 TCREATEPROCESSDEBUGINFO = CREATE_PROCESS_DEBUG_INFO; 1609 PCREATEPROCESSDEBUGINFO = ^CREATE_PROCESS_DEBUG_INFO; 1610 1611 CREATE_THREAD_DEBUG_INFO = record 1612 hThread : HANDLE; 1613 lpThreadLocalBase : LPVOID; 1614 lpStartAddress : LPTHREAD_START_ROUTINE; 1615 end; 1616 _CREATE_THREAD_DEBUG_INFO = CREATE_THREAD_DEBUG_INFO; 1617 TCREATETHREADDEBUGINFO = CREATE_THREAD_DEBUG_INFO; 1618 PCREATETHREADDEBUGINFO = ^CREATE_THREAD_DEBUG_INFO; 1619 1620 CURRENCYFMTA = record 1621 NumDigits : UINT; 1622 LeadingZero : UINT; 1623 Grouping : UINT; 1624 lpDecimalSep : LPSTR; 1625 lpThousandSep : LPSTR; 1626 NegativeOrder : UINT; 1627 PositiveOrder : UINT; 1628 lpCurrencySymbol : LPSTR; 1629 end; 1630 _currencyfmtA = CURRENCYFMTA; 1631 TcurrencyfmtA = CURRENCYFMTA; 1632 PcurrencyfmtA = ^CURRENCYFMTA; 1633 1634 CURRENCYFMTW = record 1635 NumDigits : UINT; 1636 LeadingZero : UINT; 1637 Grouping : UINT; 1638 lpDecimalSep : LPWSTR; 1639 lpThousandSep : LPWSTR; 1640 NegativeOrder : UINT; 1641 PositiveOrder : UINT; 1642 lpCurrencySymbol : LPWSTR; 1643 end; 1644 1645 _CURRENCYFMTW = CURRENCYFMTW; 1646 TCURRENCYFMTW = CURRENCYFMTW; 1647 PCURRENCYFMTW = ^CURRENCYFMTW; 1648 1649 {$ifdef Unicode} 1650 _CURRENCYFMT = CURRENCYFMTW; 1651 CURRENCYFMT = CURRENCYFMTW; 1652 TCURRENCYFMT = CURRENCYFMTW; 1653 PCURRENCYFMT = ^CURRENCYFMTW; 1654 {$else} 1655 _CURRENCYFMT = CURRENCYFMTA; 1656 CURRENCYFMT = CURRENCYFMTA; 1657 TCURRENCYFMT = CURRENCYFMTA; 1658 PCURRENCYFMT = ^CURRENCYFMTA; 1659 {$endif} 1660 1661 CURSORSHAPE = record 1662 xHotSpot : longint; 1663 yHotSpot : longint; 1664 cx : longint; 1665 cy : longint; 1666 cbWidth : longint; 1667 Planes : BYTE; 1668 BitsPixel : BYTE; 1669 end; 1670 LPCURSORSHAPE = ^CURSORSHAPE; 1671 tagCURSORSHAPE = CURSORSHAPE; 1672 TCURSORSHAPE = CURSORSHAPE; 1673 PCURSORSHAPE = ^CURSORSHAPE; 1674 1675 CWPRETSTRUCT = record 1676 lResult : LRESULT; 1677 lParam : LPARAM; 1678 wParam : WPARAM; 1679 message : DWORD; 1680 hwnd : HWND; 1681 end; 1682 tagCWPRETSTRUCT = CWPRETSTRUCT; 1683 TCWPRETSTRUCT = CWPRETSTRUCT; 1684 PCWPRETSTRUCT = ^CWPRETSTRUCT; 1685 1686 CWPSTRUCT = record 1687 lParam : LPARAM; 1688 wParam : WPARAM; 1689 message : UINT; 1690 hwnd : HWND; 1691 end; 1692 tagCWPSTRUCT = CWPSTRUCT; 1693 TCWPSTRUCT = CWPSTRUCT; 1694 PCWPSTRUCT = ^CWPSTRUCT; 1695 1696 DATATYPES_INFO_1 = record 1697 pName : LPTSTR; 1698 end; 1699 _DATATYPES_INFO_1 = DATATYPES_INFO_1; 1700 TDATATYPESINFO1 = DATATYPES_INFO_1; 1701 PDATATYPESINFO1 = ^DATATYPES_INFO_1; 1702 1703 DDEACK = record 1704 flag0 : word; 1705 end; 1706 TDDEACK = DDEACK; 1707 PDDEACK = ^DDEACK; 1708 const 1709 bm_DDEACK_bAppReturnCode = $FF; 1710 bp_DDEACK_bAppReturnCode = 0; 1711 bm_DDEACK_reserved = $3F00; 1712 bp_DDEACK_reserved = 8; 1713 bm_DDEACK_fBusy = $4000; 1714 bp_DDEACK_fBusy = 14; 1715 bm_DDEACK_fAck = $8000; 1716 bp_DDEACK_fAck = 15; 1717 function bAppReturnCode(var a : DDEACK) : word; 1718 procedure set_bAppReturnCode(var a : DDEACK; __bAppReturnCode : word); 1719 function reserved(var a : DDEACK) : word; 1720 procedure set_reserved(var a : DDEACK; __reserved : word); 1721 function fBusy(var a : DDEACK) : word; 1722 procedure set_fBusy(var a : DDEACK; __fBusy : word); 1723 function fAck(var a : DDEACK) : word; 1724 procedure set_fAck(var a : DDEACK; __fAck : word); 1725 1726 type 1727 1728 DDEADVISE = record 1729 flag0 : word; 1730 cfFormat : SHORT; 1731 end; 1732 TDDEADVISE = DDEADVISE; 1733 PDDEADVISE = ^DDEADVISE; 1734 const 1735 bm_DDEADVISE_reserved = $3FFF; 1736 bp_DDEADVISE_reserved = 0; 1737 bm_DDEADVISE_fDeferUpd = $4000; 1738 bp_DDEADVISE_fDeferUpd = 14; 1739 bm_DDEADVISE_fAckReq = $8000; 1740 bp_DDEADVISE_fAckReq = 15; 1741 function reserved(var a : DDEADVISE) : word; 1742 procedure set_reserved(var a : DDEADVISE; __reserved : word); 1743 function fDeferUpd(var a : DDEADVISE) : word; 1744 procedure set_fDeferUpd(var a : DDEADVISE; __fDeferUpd : word); 1745 function fAckReq(var a : DDEADVISE) : word; 1746 procedure set_fAckReq(var a : DDEADVISE; __fAckReq : word); 1747 1748 type 1749 1750 DDEDATA = record 1751 flag0 : word; 1752 cfFormat : SHORT; 1753 Value : array[0..0] of BYTE; 1754 end; 1755 PDDEDATA = ^DDEDATA; 1756 const 1757 bm_DDEDATA_unused = $FFF; 1758 bp_DDEDATA_unused = 0; 1759 bm_DDEDATA_fResponse = $1000; 1760 bp_DDEDATA_fResponse = 12; 1761 bm_DDEDATA_fRelease = $2000; 1762 bp_DDEDATA_fRelease = 13; 1763 bm_DDEDATA_reserved = $4000; 1764 bp_DDEDATA_reserved = 14; 1765 bm_DDEDATA_fAckReq = $8000; 1766 bp_DDEDATA_fAckReq = 15; 1767 function unused(var a : DDEDATA) : word; 1768 procedure set_unused(var a : DDEDATA; __unused : word); 1769 function fResponse(var a : DDEDATA) : word; 1770 procedure set_fResponse(var a : DDEDATA; __fResponse : word); 1771 function fRelease(var a : DDEDATA) : word; 1772 procedure set_fRelease(var a : DDEDATA; __fRelease : word); 1773 function reserved(var a : DDEDATA) : word; 1774 procedure set_reserved(var a : DDEDATA; __reserved : word); 1775 function fAckReq(var a : DDEDATA) : word; 1776 procedure set_fAckReq(var a : DDEDATA; __fAckReq : word); 1777 1778 type 1779 1780 DDELN = record 1781 flag0 : word; 1782 cfFormat : SHORT; 1783 end; 1784 TDDELN = DDELN; 1785 PDDELN = ^DDELN; 1786 const 1787 bm_DDELN_unused = $1FFF; 1788 bp_DDELN_unused = 0; 1789 bm_DDELN_fRelease = $2000; 1790 bp_DDELN_fRelease = 13; 1791 bm_DDELN_fDeferUpd = $4000; 1792 bp_DDELN_fDeferUpd = 14; 1793 bm_DDELN_fAckReq = $8000; 1794 bp_DDELN_fAckReq = 15; 1795 function unused(var a : DDELN) : word; 1796 procedure set_unused(var a : DDELN; __unused : word); 1797 function fRelease(var a : DDELN) : word; 1798 procedure set_fRelease(var a : DDELN; __fRelease : word); 1799 function fDeferUpd(var a : DDELN) : word; 1800 procedure set_fDeferUpd(var a : DDELN; __fDeferUpd : word); 1801 function fAckReq(var a : DDELN) : word; 1802 procedure set_fAckReq(var a : DDELN; __fAckReq : word); 1803 1804 type 1805 1806 DDEML_MSG_HOOK_DATA = record 1807 uiLo : UINT_PTR; 1808 uiHi : UINT_PTR; 1809 cbData : DWORD; 1810 Data : array[0..7] of DWORD; 1811 end; 1812 tagDDEML_MSG_HOOK_DATA = DDEML_MSG_HOOK_DATA; 1813 TDDEMLMSGHOOKDATA = DDEML_MSG_HOOK_DATA; 1814 PDDEMLMSGHOOKDATA = ^DDEML_MSG_HOOK_DATA; 1815 1816 DDEPOKE = record 1817 flag0 : word; 1818 cfFormat : SHORT; 1819 Value : array[0..0] of BYTE; 1820 end; 1821 TDDEPOKE = DDEPOKE; 1822 PDDEPOKE = ^DDEPOKE; 1823 const 1824 bm_DDEPOKE_unused = $1FFF; 1825 bp_DDEPOKE_unused = 0; 1826 bm_DDEPOKE_fRelease = $2000; 1827 bp_DDEPOKE_fRelease = 13; 1828 bm_DDEPOKE_fReserved = $C000; 1829 bp_DDEPOKE_fReserved = 14; 1830 function unused(var a : DDEPOKE) : word; 1831 procedure set_unused(var a : DDEPOKE; __unused : word); 1832 function fRelease(var a : DDEPOKE) : word; 1833 procedure set_fRelease(var a : DDEPOKE; __fRelease : word); 1834 function fReserved(var a : DDEPOKE) : word; 1835 procedure set_fReserved(var a : DDEPOKE; __fReserved : word); 1836 1837 type 1838 1839 DDEUP = record 1840 flag0 : word; 1841 cfFormat : SHORT; 1842 rgb : array[0..0] of BYTE; 1843 end; 1844 TDDEUP = DDEUP; 1845 PDDEUP = ^DDEUP; 1846 const 1847 bm_DDEUP_unused = $FFF; 1848 bp_DDEUP_unused = 0; 1849 bm_DDEUP_fAck = $1000; 1850 bp_DDEUP_fAck = 12; 1851 bm_DDEUP_fRelease = $2000; 1852 bp_DDEUP_fRelease = 13; 1853 bm_DDEUP_fReserved = $4000; 1854 bp_DDEUP_fReserved = 14; 1855 bm_DDEUP_fAckReq = $8000; 1856 bp_DDEUP_fAckReq = 15; 1857 function unused(var a : DDEUP) : word; 1858 procedure set_unused(var a : DDEUP; __unused : word); 1859 function fAck(var a : DDEUP) : word; 1860 procedure set_fAck(var a : DDEUP; __fAck : word); 1861 function fRelease(var a : DDEUP) : word; 1862 procedure set_fRelease(var a : DDEUP; __fRelease : word); 1863 function fReserved(var a : DDEUP) : word; 1864 procedure set_fReserved(var a : DDEUP; __fReserved : word); 1865 function fAckReq(var a : DDEUP) : word; 1866 procedure set_fAckReq(var a : DDEUP; __fAckReq : word); 1867 1868 type 1869 1870 EXCEPTION_RECORD = record 1871 ExceptionCode : DWORD; 1872 ExceptionFlags : DWORD; 1873 ExceptionRecord : ^_EXCEPTION_RECORD; 1874 ExceptionAddress : PVOID; 1875 NumberParameters : DWORD; 1876 ExceptionInformation : array[0..(EXCEPTION_MAXIMUM_PARAMETERS)-1] of ULONG_PTR; 1877 end; 1878 PEXCEPTION_RECORD = ^EXCEPTION_RECORD; 1879 _EXCEPTION_RECORD = EXCEPTION_RECORD; 1880 TEXCEPTIONRECORD = EXCEPTION_RECORD; 1881 PEXCEPTIONRECORD = ^EXCEPTION_RECORD; 1882 1883 EXCEPTION_DEBUG_INFO = record 1884 ExceptionRecord : EXCEPTION_RECORD; 1885 dwFirstChance : DWORD; 1886 end; 1887 PEXCEPTION_DEBUG_INFO = ^EXCEPTION_DEBUG_INFO; 1888 _EXCEPTION_DEBUG_INFO = EXCEPTION_DEBUG_INFO; 1889 TEXCEPTIONDEBUGINFO = EXCEPTION_DEBUG_INFO; 1890 PEXCEPTIONDEBUGINFO = ^EXCEPTION_DEBUG_INFO; 1891 1892 { Explicit forms to debug targets running on a different architecture (32-bit versus 64-bit)} 1893 1894 EXCEPTION_RECORD32 = record 1895 ExceptionCode : DWORD; 1896 ExceptionFlags : DWORD; 1897 ExceptionRecord : DWORD; 1898 ExceptionAddress : DWORD; 1899 NumberParameters : DWORD; 1900 ExceptionInformation : array[0..(EXCEPTION_MAXIMUM_PARAMETERS)-1] of DWORD; 1901 end; 1902 PEXCEPTION_RECORD32 = ^EXCEPTION_RECORD32; 1903 _EXCEPTION_RECORD32 = EXCEPTION_RECORD32; 1904 TExceptionRecord32 = EXCEPTION_RECORD32; 1905 PExceptionRecord32 = ^EXCEPTION_RECORD32; 1906 1907 EXCEPTION_DEBUG_INFO32 = record 1908 ExceptionRecord : EXCEPTION_RECORD32; 1909 dwFirstChance : DWORD; 1910 end; 1911 PEXCEPTION_DEBUG_INFO32 = ^EXCEPTION_DEBUG_INFO32; 1912 _EXCEPTION_DEBUG_INFO32 = EXCEPTION_DEBUG_INFO32; 1913 TExceptionDebugInfo32 = EXCEPTION_DEBUG_INFO32; 1914 PExceptionDebugInfo32 = ^EXCEPTION_DEBUG_INFO32; 1915 1916 EXCEPTION_RECORD64 = record 1917 ExceptionCode : DWORD; 1918 ExceptionFlags : DWORD; 1919 ExceptionRecord : DWORD64; 1920 ExceptionAddress : DWORD64; 1921 NumberParameters : DWORD; 1922 __unusedAlignment : DWORD; 1923 ExceptionInformation : array[0..(EXCEPTION_MAXIMUM_PARAMETERS)-1] of DWORD64; 1924 end; 1925 PEXCEPTION_RECORD64 = ^EXCEPTION_RECORD64; 1926 _EXCEPTION_RECORD64 = EXCEPTION_RECORD64; 1927 TExceptionRecord64 = EXCEPTION_RECORD64; 1928 PExceptionRecord64 = ^EXCEPTION_RECORD64; 1929 1930 EXCEPTION_DEBUG_INFO64 = record 1931 ExceptionRecord : EXCEPTION_RECORD64; 1932 dwFirstChance : DWORD; 1933 end; 1934 PEXCEPTION_DEBUG_INFO64 = ^EXCEPTION_DEBUG_INFO64; 1935 _EXCEPTION_DEBUG_INFO64 = EXCEPTION_DEBUG_INFO64; 1936 TExceptionDebugInfo64 = EXCEPTION_DEBUG_INFO64; 1937 PExceptionDebugInfo64 = ^EXCEPTION_DEBUG_INFO64; 1938 1939 EXIT_PROCESS_DEBUG_INFO = record 1940 dwExitCode : DWORD; 1941 end; 1942 _EXIT_PROCESS_DEBUG_INFO = EXIT_PROCESS_DEBUG_INFO; 1943 TEXITPROCESSDEBUGINFO = EXIT_PROCESS_DEBUG_INFO; 1944 PEXITPROCESSDEBUGINFO = ^EXIT_PROCESS_DEBUG_INFO; 1945 1946 1947 EXIT_THREAD_DEBUG_INFO = record 1948 dwExitCode : DWORD; 1949 end; 1950 _EXIT_THREAD_DEBUG_INFO = EXIT_THREAD_DEBUG_INFO; 1951 TEXITTHREADDEBUGINFO = EXIT_THREAD_DEBUG_INFO; 1952 PEXITTHREADDEBUGINFO = ^EXIT_THREAD_DEBUG_INFO; 1953 1954 LOAD_DLL_DEBUG_INFO = record 1955 hFile : HANDLE; 1956 lpBaseOfDll : LPVOID; 1957 dwDebugInfoFileOffset : DWORD; 1958 nDebugInfoSize : DWORD; 1959 lpImageName : LPVOID; 1960 fUnicode : WORD; 1961 end; 1962 _LOAD_DLL_DEBUG_INFO = LOAD_DLL_DEBUG_INFO; 1963 TLOADDLLDEBUGINFO = LOAD_DLL_DEBUG_INFO; 1964 PLOADDLLDEBUGINFO = ^LOAD_DLL_DEBUG_INFO; 1965 1966 UNLOAD_DLL_DEBUG_INFO = record 1967 lpBaseOfDll : LPVOID; 1968 end; 1969 _UNLOAD_DLL_DEBUG_INFO = UNLOAD_DLL_DEBUG_INFO; 1970 TUNLOADDLLDEBUGINFO = UNLOAD_DLL_DEBUG_INFO; 1971 PUNLOADDLLDEBUGINFO = ^UNLOAD_DLL_DEBUG_INFO; 1972 1973 OUTPUT_DEBUG_STRING_INFO = record 1974 lpDebugStringData : LPSTR; 1975 fUnicode : WORD; 1976 nDebugStringLength : WORD; 1977 end; 1978 _OUTPUT_DEBUG_STRING_INFO = OUTPUT_DEBUG_STRING_INFO; 1979 TOUTPUTDEBUGSTRINGINFO = OUTPUT_DEBUG_STRING_INFO; 1980 POUTPUTDEBUGSTRINGINFO = ^OUTPUT_DEBUG_STRING_INFO; 1981 1982 RIP_INFO = record 1983 dwError : DWORD; 1984 dwType : DWORD; 1985 end; 1986 _RIP_INFO = RIP_INFO; 1987 TRIPINFO = RIP_INFO; 1988 PRIPINFO = ^RIP_INFO; 1989 1990 DEBUG_EVENT = record 1991 dwDebugEventCode : DWORD; 1992 dwProcessId : DWORD; 1993 dwThreadId : DWORD; 1994 case longint of 1995 0 : ( Exception : EXCEPTION_DEBUG_INFO ); 1996 1 : ( CreateThread : CREATE_THREAD_DEBUG_INFO ); 1997 2 : ( CreateProcessInfo : CREATE_PROCESS_DEBUG_INFO ); 1998 3 : ( ExitThread : EXIT_THREAD_DEBUG_INFO ); 1999 4 : ( ExitProcess : EXIT_PROCESS_DEBUG_INFO ); 2000 5 : ( LoadDll : LOAD_DLL_DEBUG_INFO ); 2001 6 : ( UnloadDll : UNLOAD_DLL_DEBUG_INFO ); 2002 7 : ( DebugString : OUTPUT_DEBUG_STRING_INFO ); 2003 8 : ( RipInfo : RIP_INFO ); 2004 end; 2005 LPDEBUG_EVENT = ^DEBUG_EVENT; 2006 _DEBUG_EVENT = DEBUG_EVENT; 2007 TDEBUGEVENT = DEBUG_EVENT; 2008 PDEBUGEVENT = ^DEBUG_EVENT; 2009 2010 DEBUGHOOKINFO = record 2011 idThread : DWORD; 2012 idThreadInstaller : DWORD; 2013 lParam : LPARAM; 2014 wParam : WPARAM; 2015 code : longint; 2016 end; 2017 tagDEBUGHOOKINFO = DEBUGHOOKINFO; 2018 TDEBUGHOOKINFO = DEBUGHOOKINFO; 2019 PDEBUGHOOKINFO = ^DEBUGHOOKINFO; 2020 2021 DELETEITEMSTRUCT = record 2022 CtlType : UINT; 2023 CtlID : UINT; 2024 itemID : UINT; 2025 hwndItem : HWND; 2026 itemData : ULONG_PTR; 2027 end; 2028 tagDELETEITEMSTRUCT = DELETEITEMSTRUCT; 2029 TDELETEITEMSTRUCT = DELETEITEMSTRUCT; 2030 PDELETEITEMSTRUCT = ^DELETEITEMSTRUCT; 2031 2032 DEV_BROADCAST_HDR = record 2033 dbch_size : ULONG; 2034 dbch_devicetype : ULONG; 2035 dbch_reserved : ULONG; 2036 end; 2037 PDEV_BROADCAST_HDR = ^DEV_BROADCAST_HDR; 2038 _DEV_BROADCAST_HDR = DEV_BROADCAST_HDR; 2039 TDEVBROADCASTHDR = DEV_BROADCAST_HDR; 2040 PDEVBROADCASTHDR = ^DEV_BROADCAST_HDR; 2041 2042 DEV_BROADCAST_OEM = record 2043 dbco_size : DWORD; 2044 dbco_devicetype : DWORD; 2045 dbco_reserved : DWORD; 2046 dbco_identifier : DWORD; 2047 dbco_suppfunc : DWORD; 2048 end; 2049 PDEV_BROADCAST_OEM = ^DEV_BROADCAST_OEM; 2050 _DEV_BROADCAST_OEM = DEV_BROADCAST_OEM; 2051 TDEVBROADCASTOEM = DEV_BROADCAST_OEM; 2052 PDEVBROADCASTOEM = ^DEV_BROADCAST_OEM; 2053 2054 DEV_BROADCAST_PORT = record 2055 dbcp_size : DWORD; 2056 dbcp_devicetype : DWORD; 2057 dbcp_reserved : DWORD; 2058 dbcp_name : array[0..0] of TCHAR; 2059 end; 2060 PDEV_BROADCAST_PORT = ^DEV_BROADCAST_PORT; 2061 _DEV_BROADCAST_PORT = DEV_BROADCAST_PORT; 2062 TDEVBROADCASTPORT = DEV_BROADCAST_PORT; 2063 PDEVBROADCASTPORT = ^DEV_BROADCAST_PORT; 2064 2065 _DEV_BROADCAST_USERDEFINED = record 2066 dbud_dbh : _DEV_BROADCAST_HDR; 2067 dbud_szName : array[0..0] of char; 2068 dbud_rgbUserDefined : array[0..0] of BYTE; 2069 end; 2070 TDEVBROADCASTUSERDEFINED = _DEV_BROADCAST_USERDEFINED; 2071 PDEVBROADCASTUSERDEFINED = ^_DEV_BROADCAST_USERDEFINED; 2072 2073 DEV_BROADCAST_VOLUME = record 2074 dbcv_size : DWORD; 2075 dbcv_devicetype : DWORD; 2076 dbcv_reserved : DWORD; 2077 dbcv_unitmask : DWORD; 2078 dbcv_flags : WORD; 2079 end; 2080 PDEV_BROADCAST_VOLUME = ^DEV_BROADCAST_VOLUME; 2081 _DEV_BROADCAST_VOLUME = DEV_BROADCAST_VOLUME; 2082 TDEVBROADCASTVOLUME = DEV_BROADCAST_VOLUME; 2083 PDEVBROADCASTVOLUME = ^DEV_BROADCAST_VOLUME; 2084 2085 DEVMODEA = record 2086 dmDeviceName : array[0..(CCHDEVICENAME)-1] of AnsiChar; 2087 dmSpecVersion : WORD; 2088 dmDriverVersion : WORD; 2089 dmSize : WORD; 2090 dmDriverExtra : WORD; 2091 dmFields : DWORD; 2092 case byte of 2093 1: (dmOrientation : SmallInt; 2094 dmPaperSize : SmallInt; 2095 dmPaperLength : SmallInt; 2096 dmPaperWidth : SmallInt; 2097 dmScale : SmallInt; 2098 dmCopies : SmallInt; 2099 dmDefaultSource : SmallInt; 2100 dmPrintQuality : SmallInt; 2101 dmColor : SmallInt; 2102 dmDuplex : SmallInt; 2103 dmYResolution : SmallInt; 2104 dmTTOption : SmallInt; 2105 dmCollate : SmallInt; 2106 dmFormName : array[0..(CCHFORMNAME)-1] of AnsiCHAR; 2107 dmLogPixels : WORD; 2108 dmBitsPerPel : DWORD; 2109 dmPelsWidth : DWORD; 2110 dmPelsHeight : DWORD; 2111 dmDisplayFlags : DWORD; 2112 dmDisplayFrequency : DWORD; 2113 dmICMMethod : DWORD; 2114 dmICMIntent : DWORD; 2115 dmMediaType : DWORD; 2116 dmDitherType : DWORD; 2117 dmICCManufacturer : DWORD; 2118 dmICCModel : DWORD 2119 ); 2120 2: (dmPosition: POINTL; 2121 dmDisplayOrientation: DWORD; 2122 dmDisplayFixedOutput: DWORD; 2123 ); 2124 end; 2125 2126 LPDEVMODEA = ^DEVMODEA; 2127 _DEVMODEA = DEVMODEA; 2128 TDEVMODEA = DEVMODEA; 2129 PDEVMODEA = LPDEVMODEA; 2130 2131 _devicemodeA = DEVMODEA; 2132 devicemodeA = DEVMODEA; 2133 tdevicemodeA = DEVMODEA; 2134 PDeviceModeA = LPDEVMODEA; 2135 2136 devmodeW = record 2137 dmDeviceName : array[0.. CCHDEVICENAME-1] of WCHAR; 2138 dmSpecVersion : WORD; 2139 dmDriverVersion: WORD; 2140 dmSize : WORD; 2141 dmDriverExtra : WORD; 2142 dmFields : DWORD; 2143 case byte of 2144 1: ( 2145 dmOrientation : short; 2146 dmPaperSize : short; 2147 dmPaperLength : short; 2148 dmPaperWidth : short; 2149 dmScale : short; 2150 dmCopies : short; 2151 dmDefaultSource: short; 2152 dmPrintQuality : short; 2153 dmColor : short; 2154 dmDuplex : short; 2155 dmYResolution : short; 2156 dmTTOption : short; 2157 dmCollate : short; 2158 dmFormName : array [0..CCHFORMNAME-1] of wchar; 2159 dmLogPixels : WORD; 2160 dmBitsPerPel : DWORD; 2161 dmPelsWidth : DWORD; 2162 dmPelsHeight : DWORD; 2163 dmDisplayFlags : DWORD; 2164 dmDisplayFrequency : DWORD; 2165 dmICMMethod : DWORD; 2166 dmICMIntent : DWORD; 2167 dmMediaType : DWORD; 2168 dmDitherType : DWORD; 2169 dmReserved1 : DWORD; 2170 dmReserved2 : DWORD; 2171 dmPanningWidth : DWORD; 2172 dmPanningHeight: DWORD; 2173 ); 2174 2: (dmPosition: POINTL; 2175 dmDisplayOrientation: DWORD; 2176 dmDisplayFixedOutput: DWORD; 2177 ); 2178 end; 2179 2180 LPDEVMODEW = ^DEVMODEW; 2181 _DEVMODEW = DEVMODEW; 2182 TDEVMODEW = DEVMODEW; 2183 PDEVMODEW = LPDEVMODEW; 2184 2185 _devicemodeW = DEVMODEW; 2186 devicemodeW = DEVMODEW; 2187 TDeviceModeW = DEVMODEW; 2188 PDeviceModeW = LPDEVMODEW; 2189 2190 2191 {$IFNDEF UNICODE} 2192 DEVMODE = DEVMODEA; 2193 LPDEVMODE = ^DEVMODEA; 2194 _DEVMODE = DEVMODEA; 2195 TDEVMODE = DEVMODEA; 2196 PDEVMODE = ^DEVMODEA; 2197 {$ELSE} 2198 DEVMODE = DEVMODEW; 2199 LPDEVMODE = ^DEVMODEW; 2200 _DEVMODE = DEVMODEW; 2201 TDEVMODE = DEVMODEW; 2202 PDEVMODE = ^DEVMODEW; 2203 {$ENDIF} 2204 2205 _devicemode = DEVMODE; 2206 DeviceMode = DEVMODE; 2207 TDeviceMode = DEVMODE; 2208 PDeviceMode = ^DEVMODE; 2209 2210 DEVNAMES = record 2211 wDriverOffset : WORD; 2212 wDeviceOffset : WORD; 2213 wOutputOffset : WORD; 2214 wDefault : WORD; 2215 end; 2216 LPDEVNAMES = ^DEVNAMES; 2217 tagDEVNAMES = DEVNAMES; 2218 TDEVNAMES = DEVNAMES; 2219 PDEVNAMES = ^DEVNAMES; 2220 2221 DIBSECTION = record 2222 dsBm : BITMAP; 2223 dsBmih : BITMAPINFOHEADER; 2224 dsBitfields : array[0..2] of DWORD; 2225 dshSection : HANDLE; 2226 dsOffset : DWORD; 2227 end; 2228 tagDIBSECTION = DIBSECTION; 2229 TDIBSECTION = DIBSECTION; 2230 PDIBSECTION = ^DIBSECTION; 2231 2232 LARGE_INTEGER = record 2233 case byte of 2234 0: (LowPart : DWORD; 2235 HighPart : LONG); 2236 1: (QuadPart : LONGLONG); 2237 end; 2238 PLARGE_INTEGER = ^LARGE_INTEGER; 2239 _LARGE_INTEGER = LARGE_INTEGER; 2240 2241 TLargeInteger = Int64; 2242 PLargeInteger = ^TLargeInteger; 2243 2244 ULARGE_INTEGER = record 2245 case byte of 2246 0: (LowPart : DWORD; 2247 HighPart : DWORD); 2248 1: (QuadPart : ULONGLONG); 2249 end; 2250 PULARGE_INTEGER = ^ULARGE_INTEGER; 2251 _ULARGE_INTEGER = ULARGE_INTEGER; 2252 2253 TULargeInteger = QWord; 2254 PULargeInteger = ^TULargeInteger; 2255 2256 DISK_GEOMETRY = record 2257 Cylinders : LARGE_INTEGER; 2258 MediaType : MEDIA_TYPE; 2259 TracksPerCylinder : DWORD; 2260 SectorsPerTrack : DWORD; 2261 BytesPerSector : DWORD; 2262 end; 2263 _DISK_GEOMETRY = DISK_GEOMETRY; 2264 TDISKGEOMETRY = DISK_GEOMETRY; 2265 PDISKGEOMETRY = ^DISK_GEOMETRY; 2266 2267 DISK_PERFORMANCE = record 2268 BytesRead : LARGE_INTEGER; 2269 BytesWritten : LARGE_INTEGER; 2270 ReadTime : LARGE_INTEGER; 2271 WriteTime : LARGE_INTEGER; 2272 IdleTime : LARGE_INTEGER; 2273 ReadCount : DWORD; 2274 WriteCount : DWORD; 2275 QueueDepth : DWORD; 2276 SplitCount : DWORD; 2277 QueryTime : LARGE_INTEGER; 2278 StorageDeviceNumber : DWORD; 2279 StorageManagerName : array [0..7] of WCHAR; 2280 end; 2281 _DISK_PERFORMANCE = DISK_PERFORMANCE; 2282 TDISKPERFORMANCE = DISK_PERFORMANCE; 2283 PDISKPERFORMANCE = ^DISK_PERFORMANCE; 2284 2285 DLGITEMTEMPLATE = packed record 2286 style : DWORD; 2287 dwExtendedStyle : DWORD; 2288 x : smallint; 2289 y : smallint; 2290 cx : smallint; 2291 cy : smallint; 2292 id : WORD; 2293 end; 2294 LPDLGITEMTEMPLATE = ^DLGITEMTEMPLATE; 2295 TDLGITEMTEMPLATE = DLGITEMTEMPLATE; 2296 PDLGITEMTEMPLATE = ^DLGITEMTEMPLATE; 2297 2298 DLGTEMPLATE = packed record 2299 style : DWORD; 2300 dwExtendedStyle : DWORD; 2301 cdit : WORD; 2302 x : smallint; 2303 y : smallint; 2304 cx : smallint; 2305 cy : smallint; 2306 end; 2307 LPDLGTEMPLATE = ^DLGTEMPLATE; 2308 LPCDLGTEMPLATE = ^DLGTEMPLATE; 2309 TDLGTEMPLATE = DLGTEMPLATE; 2310 PDLGTEMPLATE = ^DLGTEMPLATE; 2311 2312 DOC_INFO_1 = record 2313 pDocName : LPTSTR; 2314 pOutputFile : LPTSTR; 2315 pDatatype : LPTSTR; 2316 end; 2317 _DOC_INFO_1 = DOC_INFO_1; 2318 TDOCINFO1 = DOC_INFO_1; 2319 PDOCINFO1 = ^DOC_INFO_1; 2320 2321 DOC_INFO_2 = record 2322 pDocName : LPTSTR; 2323 pOutputFile : LPTSTR; 2324 pDatatype : LPTSTR; 2325 dwMode : DWORD; 2326 JobId : DWORD; 2327 end; 2328 _DOC_INFO_2 = DOC_INFO_2; 2329 TDOCINFO2 = DOC_INFO_2; 2330 PDOCINFO2 = ^DOC_INFO_2; 2331 2332 DOCINFOA = record 2333 cbSize : longint; 2334 lpszDocName : LPCSTR; 2335 lpszOutput : LPCSTR; 2336 lpszDatatype : LPCSTR; 2337 fwType : DWORD; 2338 end; 2339 TDOCINFOA = DOCINFOA; 2340 PDOCINFOa = ^DOCINFOA; 2341 2342 DOCINFOW = record 2343 cbSize : longint; 2344 lpszDocName : LPCWSTR; 2345 lpszOutput : LPCWSTR; 2346 lpszDatatype : LPCWSTR; 2347 fwType : DWORD; 2348 end; 2349 TDOCINFOW = DOCINFOW; 2350 PDOCINFOW = ^DOCINFOW; 2351 2352 {$ifdef Unicode} 2353 DOCINFO = DOCINFOW; 2354 TDOCINFO = DOCINFOW; 2355 PDOCINFO = ^DOCINFOW; 2356 {$else} 2357 DOCINFO = DOCINFOA; 2358 TDOCINFO = DOCINFOA; 2359 PDOCINFO = ^DOCINFOA; 2360 {$endif} 2361 2362 DRAGLISTINFO = record 2363 uNotification : UINT; 2364 hWnd : HWND; 2365 ptCursor : POINT; 2366 end; 2367 LPDRAGLISTINFO = ^DRAGLISTINFO; 2368 TDRAGLISTINFO = DRAGLISTINFO; 2369 PDRAGLISTINFO = ^DRAGLISTINFO; 2370 2371 DRAWITEMSTRUCT = record 2372 CtlType : UINT; 2373 CtlID : UINT; 2374 itemID : UINT; 2375 itemAction : UINT; 2376 itemState : UINT; 2377 hwndItem : HWND; 2378 hDC : HDC; 2379 rcItem : RECT; 2380 itemData : ULONG_PTR; 2381 end; 2382 LPDRAWITEMSTRUCT = ^DRAWITEMSTRUCT; 2383 tagDRAWITEMSTRUCT = DRAWITEMSTRUCT; 2384 TDRAWITEMSTRUCT = DRAWITEMSTRUCT; 2385 PDRAWITEMSTRUCT = ^DRAWITEMSTRUCT; 2386 2387 DRAWTEXTPARAMS = record 2388 cbSize : UINT; 2389 iTabLength : longint; 2390 iLeftMargin : longint; 2391 iRightMargin : longint; 2392 uiLengthDrawn : UINT; 2393 end; 2394 LPDRAWTEXTPARAMS = ^DRAWTEXTPARAMS; 2395 TDRAWTEXTPARAMS = DRAWTEXTPARAMS; 2396 PDRAWTEXTPARAMS = ^DRAWTEXTPARAMS; 2397 2398 PARTITION_INFORMATION = record 2399 StartingOffset : LARGE_INTEGER; 2400 PartitionLength: LARGE_INTEGER; 2401 HiddenSectors : DWORD; 2402 PartitionNumber: DWORD; 2403 PartitionType : BYTE; 2404 BootIndicator : BYTEBOOL; 2405 RecognizedPartition : BYTEBOOL; 2406 RewritePartition : BYTEBOOL; 2407 end; 2408 _PARTITION_INFORMATION = PARTITION_INFORMATION; 2409 TPARTITIONINFORMATION = PARTITION_INFORMATION; 2410 PPARTITIONINFORMATION = ^PARTITION_INFORMATION; 2411 2412 PARTITION_INFORMATION_GPT = record 2413 PartitionType : TGUID; 2414 PartitionID : TGUID; 2415 Attributes : DWORD64; 2416 Name : array[0..35] OF WCHAR; 2417 end; 2418 TPARTITION_INFORMATION_GPT= PARTITION_INFORMATION_GPT; 2419 PPARTITION_INFORMATION_GPT= ^PARTITION_INFORMATION_GPT; 2420 2421 PARTITION_INFORMATION_MBR = record 2422 PartitionType : Byte; 2423 BootIndicator : ByteBool; 2424 RecognizedPartition : ByteBool; 2425 HiddenSectors : DWORD; 2426 end; 2427 TPARTITION_INFORMATION_MBR= PARTITION_INFORMATION_MBR; 2428 PPARTITION_INFORMATION_MBR= ^PARTITION_INFORMATION_MBR; 2429 2430 SET_PARTITION_INFORMATION = record 2431 PartitionType : BYTE; 2432 end; 2433 _SET_PARTITION_INFORMATION = SET_PARTITION_INFORMATION; 2434 TSETPARTITIONINFORMATION = SET_PARTITION_INFORMATION; 2435 PSETPARTITIONINFORMATION = ^SET_PARTITION_INFORMATION; 2436 2437 SET_PARTITION_INFORMATION_MBR = PARTITION_INFORMATION; 2438 TSET_PARTITION_INFORMATION_MBR = PARTITION_INFORMATION; 2439 2440 SET_PARTITION_INFORMATION_GPT = PARTITION_INFORMATION_GPT; 2441 TSET_PARTITION_INFORMATION_GPT = PARTITION_INFORMATION_GPT; 2442 2443 SET_PARTITION_INFORMATION_EX = record 2444 PartitionStyle : TPartition_Style; 2445 case integer of 2446 0 : (mbr : SET_PARTITION_INFORMATION_MBR); 2447 1 : (GPT : SET_PARTITION_INFORMATION_GPT); 2448 end; 2449 TSET_PARTITION_INFORMATION_EX = SET_PARTITION_INFORMATION_EX; 2450 PSET_PARTITION_INFORMATION_EX = ^SET_PARTITION_INFORMATION_EX; 2451 2452 CREATE_DISK_GPT = record 2453 DiskID : TGUID; 2454 MaxPartitionCount : DWord; 2455 end; 2456 TCREATE_DISK_GPT = CREATE_DISK_GPT; 2457 PCREATE_DISK_GPT = ^TCREATE_DISK_GPT; 2458 2459 CREATE_DISK_MBR = record 2460 Signature : DWord; 2461 end; 2462 TCREATE_DISK_MBR = CREATE_DISK_MBR; 2463 PCREATE_DISK_MBR = ^TCREATE_DISK_MBR; 2464 2465 CREATE_DISK = record 2466 PartitionStyle : TPartition_Style; 2467 case integer of 2468 0: ( MBR : Create_Disk_MBR); 2469 1: ( GPT : Create_Disk_GPT); 2470 end; 2471 TCREATE_DISK = CREATE_DISK; 2472 PCREATE_DISK = ^TCREATE_DISK; 2473 2474 GET_LENGTH_INFORMATION = record 2475 Length : LARGE_INTEGER; 2476 end; 2477 TGET_LENGTH_INFORMATION = GET_LENGTH_INFORMATION; 2478 PGET_LENGTH_INFORMATION = ^GET_LENGTH_INFORMATION; 2479 2480 PARTITION_INFORMATION_EX = record 2481 PartitionStyle : TPartition_Style; 2482 StartingOffset : LARGE_INTEGER; 2483 PartitionLength : LARGE_INTEGER; 2484 PartitionNumber : DWORD; 2485 RewritePartition: BYTEBOOL; 2486 case integer of 2487 0: ( MBR : PARTITION_INFORMATION_MBR); 2488 1: ( GPT : PARTITION_INFORMATION_GPT); 2489 end; 2490 _PARTITION_INFORMATION_EX = PARTITION_INFORMATION_EX; 2491 TPARTITIONINFORMATION_EX = PARTITION_INFORMATION_EX; 2492 PPARTITIONINFORMATION_EX = ^PARTITION_INFORMATION_EX; 2493 2494 DRIVE_LAYOUT_INFORMATION = record 2495 PartitionCount : DWORD; 2496 Signature : DWORD; 2497 PartitionEntry : array[0..0] of PARTITION_INFORMATION; 2498 end; 2499 _DRIVE_LAYOUT_INFORMATION = DRIVE_LAYOUT_INFORMATION; 2500 TDRIVELAYOUTINFORMATION = DRIVE_LAYOUT_INFORMATION; 2501 PDRIVELAYOUTINFORMATION = ^DRIVE_LAYOUT_INFORMATION; 2502 2503 DRIVER_INFO_1 = record 2504 pName : LPTSTR; 2505 end; 2506 _DRIVER_INFO_1 = DRIVER_INFO_1; 2507 TDRIVERINFO1 = DRIVER_INFO_1; 2508 PDRIVERINFO1 = ^DRIVER_INFO_1; 2509 2510 DRIVER_INFO_2 = record 2511 cVersion : DWORD; 2512 pName : LPTSTR; 2513 pEnvironment : LPTSTR; 2514 pDriverPath : LPTSTR; 2515 pDataFile : LPTSTR; 2516 pConfigFile : LPTSTR; 2517 end; 2518 _DRIVER_INFO_2 = DRIVER_INFO_2; 2519 TDRIVERINFO2 = DRIVER_INFO_2; 2520 PDRIVERINFO2 = ^DRIVER_INFO_2; 2521 2522 DRIVER_INFO_3 = record 2523 cVersion : DWORD; 2524 pName : LPTSTR; 2525 pEnvironment : LPTSTR; 2526 pDriverPath : LPTSTR; 2527 pDataFile : LPTSTR; 2528 pConfigFile : LPTSTR; 2529 pHelpFile : LPTSTR; 2530 pDependentFiles : LPTSTR; 2531 pMonitorName : LPTSTR; 2532 pDefaultDataType : LPTSTR; 2533 end; 2534 _DRIVER_INFO_3 = DRIVER_INFO_3; 2535 TDRIVERINFO3 = DRIVER_INFO_3; 2536 PDRIVERINFO3 = ^DRIVER_INFO_3; 2537 2538 EDITSTREAM = record 2539 dwCookie : DWORD_PTR; 2540 dwError : DWORD; 2541 pfnCallback : EDITSTREAMCALLBACK; 2542 end; 2543 _editstream = EDITSTREAM; 2544 Teditstream = EDITSTREAM; 2545 Peditstream = ^EDITSTREAM; 2546 2547 EMR = record 2548 iType : DWORD; 2549 nSize : DWORD; 2550 end; 2551 tagEMR = EMR; 2552 TEMR = EMR; 2553 PEMR = ^EMR; 2554 2555 EMRANGLEARC = record 2556 emr : EMR; 2557 ptlCenter : POINTL; 2558 nRadius : DWORD; 2559 eStartAngle : Single; 2560 eSweepAngle : Single; 2561 end; 2562 tagEMRANGLEARC = EMRANGLEARC; 2563 TEMRANGLEARC = EMRANGLEARC; 2564 PEMRANGLEARC = ^EMRANGLEARC; 2565 2566 EMRARC = record 2567 emr : EMR; 2568 rclBox : RECTL; 2569 ptlStart : POINTL; 2570 ptlEnd : POINTL; 2571 end; 2572 tagEMRARC = EMRARC; 2573 TEMRARC = EMRARC; 2574 PEMRARC = ^EMRARC; 2575 2576 EMRARCTO = EMRARC; 2577 TEMRARCTO = EMRARC; 2578 PEMRARCTO = ^EMRARC; 2579 2580 EMRCHORD = EMRARC; 2581 TEMRCHORD = EMRARC; 2582 PEMRCHORD = ^EMRARC; 2583 2584 EMRPIE = EMRARC; 2585 TEMRPIE = EMRARC; 2586 PEMRPIE = ^EMRARC; 2587 2588 XFORM = record 2589 eM11 : Single; 2590 eM12 : Single; 2591 eM21 : Single; 2592 eM22 : Single; 2593 eDx : Single; 2594 eDy : Single; 2595 end; 2596 LPXFORM = ^XFORM; 2597 _XFORM = XFORM; 2598 TXFORM = XFORM; 2599 PXFORM = ^XFORM; 2600 2601 EMRBITBLT = record 2602 emr : EMR; 2603 rclBounds : RECTL; 2604 xDest : LONG; 2605 yDest : LONG; 2606 cxDest : LONG; 2607 cyDest : LONG; 2608 dwRop : DWORD; 2609 xSrc : LONG; 2610 ySrc : LONG; 2611 xformSrc : XFORM; 2612 crBkColorSrc : COLORREF; 2613 iUsageSrc : DWORD; 2614 offBmiSrc : DWORD; 2615 cbBmiSrc : DWORD; 2616 offBitsSrc : DWORD; 2617 cbBitsSrc : DWORD; 2618 end; 2619 tagEMRBITBLT = EMRBITBLT; 2620 TEMRBITBLT = EMRBITBLT; 2621 PEMRBITBLT = ^EMRBITBLT; 2622 2623 LOGBRUSH = record 2624 lbStyle : UINT; 2625 lbColor : COLORREF; 2626 lbHatch : ULONG_PTR; 2627 end; 2628 tagLOGBRUSH = LOGBRUSH; 2629 TLOGBRUSH = LOGBRUSH; 2630 PLOGBRUSH = ^LOGBRUSH; 2631 2632 EMRCREATEBRUSHINDIRECT = record 2633 emr : EMR; 2634 ihBrush : DWORD; 2635 lb : LOGBRUSH; 2636 end; 2637 tagEMRCREATEBRUSHINDIRECT = EMRCREATEBRUSHINDIRECT; 2638 TEMRCREATEBRUSHINDIRECT = EMRCREATEBRUSHINDIRECT; 2639 PEMRCREATEBRUSHINDIRECT = ^EMRCREATEBRUSHINDIRECT; 2640 2641 LCSCSTYPE = LONG; 2642 2643 LCSGAMUTMATCH = LONG; 2644 2645 LOGCOLORSPACEA = record 2646 lcsSignature : DWORD; 2647 lcsVersion : DWORD; 2648 lcsSize : DWORD; 2649 lcsCSType : LCSCSTYPE; 2650 lcsIntent : LCSGAMUTMATCH; 2651 lcsEndpoints : CIEXYZTRIPLE; 2652 lcsGammaRed : DWORD; 2653 lcsGammaGreen : DWORD; 2654 lcsGammaBlue : DWORD; 2655 lcsFilename : array[0..(MAX_PATH)-1] of ANSICHAR; 2656 end; 2657 LPLOGCOLORSPACEA = ^LOGCOLORSPACEA; 2658 tagLOGCOLORSPACEA = LOGCOLORSPACEA; 2659 TLOGCOLORSPACEA = LOGCOLORSPACEA; 2660 PLOGCOLORSPACEA = ^LOGCOLORSPACEA; 2661 2662 LOGCOLORSPACEW = record 2663 lcsSignature : DWORD; 2664 lcsVersion : DWORD; 2665 lcsSize : DWORD; 2666 lcsCSType : LCSCSTYPE; 2667 lcsIntent : LCSGAMUTMATCH; 2668 lcsEndpoints : CIEXYZTRIPLE; 2669 lcsGammaRed : DWORD; 2670 lcsGammaGreen : DWORD; 2671 lcsGammaBlue : DWORD; 2672 lcsFilename : array[0..(MAX_PATH)-1] of WIDECHAR; 2673 end; 2674 LPLOGCOLORSPACEW = ^LOGCOLORSPACEW; 2675 tagLOGCOLORSPACEW = LOGCOLORSPACEW; 2676 TLOGCOLORSPACEW = LOGCOLORSPACEW; 2677 PLOGCOLORSPACEW = ^LOGCOLORSPACEW; 2678 {$ifdef UNICODE} 2679 LPLOGCOLORSPACE = PLOGCOLORSPACEW; 2680 tagLOGCOLORSPACE = LOGCOLORSPACEW; 2681 TLOGCOLORSPACE = LOGCOLORSPACEW; 2682 LOGCOLORSPACE = LOGCOLORSPACEW; 2683 PLOGCOLORSPACE = PLOGCOLORSPACEW; 2684 {$else} 2685 LPLOGCOLORSPACE = PLOGCOLORSPACEA; 2686 tagLOGCOLORSPACE = LOGCOLORSPACEA; 2687 TLOGCOLORSPACE = LOGCOLORSPACEA; 2688 LOGCOLORSPACE = LOGCOLORSPACEA; 2689 PLOGCOLORSPACE = PLOGCOLORSPACEA; 2690 {$endif} 2691 2692 EMRCREATECOLORSPACE = record 2693 emr : EMR; 2694 ihCS : DWORD; 2695 lcs : LOGCOLORSPACE; 2696 end; 2697 tagEMRCREATECOLORSPACE = EMRCREATECOLORSPACE; 2698 TEMRCREATECOLORSPACE = EMRCREATECOLORSPACE; 2699 PEMRCREATECOLORSPACE = ^EMRCREATECOLORSPACE; 2700 2701 EMRCREATEDIBPATTERNBRUSHPT = record 2702 emr : EMR; 2703 ihBrush : DWORD; 2704 iUsage : DWORD; 2705 offBmi : DWORD; 2706 cbBmi : DWORD; 2707 offBits : DWORD; 2708 cbBits : DWORD; 2709 end; 2710 tagEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; 2711 TEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; 2712 PEMRCREATEDIBPATTERNBRUSHPT = ^EMRCREATEDIBPATTERNBRUSHPT; 2713 2714 EMRCREATEMONOBRUSH = record 2715 emr : EMR; 2716 ihBrush : DWORD; 2717 iUsage : DWORD; 2718 offBmi : DWORD; 2719 cbBmi : DWORD; 2720 offBits : DWORD; 2721 cbBits : DWORD; 2722 end; 2723 tagEMRCREATEMONOBRUSH = EMRCREATEMONOBRUSH; 2724 TEMRCREATEMONOBRUSH = EMRCREATEMONOBRUSH; 2725 PEMRCREATEMONOBRUSH = ^EMRCREATEMONOBRUSH; 2726 2727 PALETTEENTRY = record 2728 peRed : BYTE; 2729 peGreen : BYTE; 2730 peBlue : BYTE; 2731 peFlags : BYTE; 2732 end; 2733 LPPALETTEENTRY = ^PALETTEENTRY; 2734 tagPALETTEENTRY = PALETTEENTRY; 2735 TPALETTEENTRY = PALETTEENTRY; 2736 PPALETTEENTRY = ^PALETTEENTRY; 2737 2738 LOGPALETTE = record 2739 palVersion : WORD; 2740 palNumEntries : WORD; 2741 palPalEntry : array[0..0] of PALETTEENTRY; 2742 end; 2743 LPLOGPALETTE = ^LOGPALETTE; 2744 tagLOGPALETTE = LOGPALETTE; 2745 TLOGPALETTE = LOGPALETTE; 2746 PLOGPALETTE = ^LOGPALETTE; 2747 2748 EMRCREATEPALETTE = record 2749 emr : EMR; 2750 ihPal : DWORD; 2751 lgpl : LOGPALETTE; 2752 end; 2753 tagEMRCREATEPALETTE = EMRCREATEPALETTE; 2754 TEMRCREATEPALETTE = EMRCREATEPALETTE; 2755 PEMRCREATEPALETTE = ^EMRCREATEPALETTE; 2756 2757 LOGPEN = record 2758 lopnStyle : UINT; 2759 lopnWidth : POINT; 2760 lopnColor : COLORREF; 2761 end; 2762 tagLOGPEN = LOGPEN; 2763 TLOGPEN = LOGPEN; 2764 PLOGPEN = ^LOGPEN; 2765 2766 EMRCREATEPEN = record 2767 emr : EMR; 2768 ihPen : DWORD; 2769 lopn : LOGPEN; 2770 end; 2771 tagEMRCREATEPEN = EMRCREATEPEN; 2772 TEMRCREATEPEN = EMRCREATEPEN; 2773 PEMRCREATEPEN = ^EMRCREATEPEN; 2774 2775 EMRELLIPSE = record 2776 emr : EMR; 2777 rclBox : RECTL; 2778 end; 2779 tagEMRELLIPSE = EMRELLIPSE; 2780 TEMRELLIPSE = EMRELLIPSE; 2781 PEMRELLIPSE = ^EMRELLIPSE; 2782 2783 EMRRECTANGLE = EMRELLIPSE; 2784 TEMRRECTANGLE = EMRELLIPSE; 2785 PEMRRECTANGLE = ^EMRELLIPSE; 2786 2787 EMREOF = record 2788 emr : EMR; 2789 nPalEntries : DWORD; 2790 offPalEntries : DWORD; 2791 nSizeLast : DWORD; 2792 end; 2793 tagEMREOF = EMREOF; 2794 TEMREOF = EMREOF; 2795 PEMREOF = ^EMREOF; 2796 2797 EMREXCLUDECLIPRECT = record 2798 emr : EMR; 2799 rclClip : RECTL; 2800 end; 2801 tagEMREXCLUDECLIPRECT = EMREXCLUDECLIPRECT; 2802 TEMREXCLUDECLIPRECT = EMREXCLUDECLIPRECT; 2803 PEMREXCLUDECLIPRECT = ^EMREXCLUDECLIPRECT; 2804 2805 EMRINTERSECTCLIPRECT = EMREXCLUDECLIPRECT; 2806 TEMRINTERSECTCLIPRECT = EMREXCLUDECLIPRECT; 2807 PEMRINTERSECTCLIPRECT = ^EMREXCLUDECLIPRECT; 2808 2809 PANOSE = record 2810 bFamilyType : BYTE; 2811 bSerifStyle : BYTE; 2812 bWeight : BYTE; 2813 bProportion : BYTE; 2814 bContrast : BYTE; 2815 bStrokeVariation : BYTE; 2816 bArmStyle : BYTE; 2817 bLetterform : BYTE; 2818 bMidline : BYTE; 2819 bXHeight : BYTE; 2820 end; 2821 tagPANOSE = PANOSE; 2822 TPANOSE = PANOSE; 2823 PPANOSE = ^PANOSE; 2824 2825 EXTLOGFONTA = record 2826 elfLogFont : LOGFONT; 2827 elfFullName : array[0..(LF_FULLFACESIZE)-1] of AnsiCHAR; 2828 elfStyle : array[0..(LF_FACESIZE)-1] of AnsiCHAR; 2829 elfVersion : DWORD; 2830 elfStyleSize : DWORD; 2831 elfMatch : DWORD; 2832 elfReserved : DWORD; 2833 elfVendorId : array[0..(ELF_VENDOR_SIZE)-1] of BYTE; 2834 elfCulture : DWORD; 2835 elfPanose : PANOSE; 2836 end; 2837 LPEXTLOGFONTA = ^EXTLOGFONTA; 2838 tagEXTLOGFONTA = EXTLOGFONTA; 2839 TEXTLOGFONTA = EXTLOGFONTA; 2840 PEXTLOGFONTA = LPEXTLOGFONTA; 2841 2842 2843 EXTLOGFONTW = record 2844 elfLogFont :LOGFONTW; 2845 elfFullName :array[0..(LF_FULLFACESIZE) - 1] of WCHAR; 2846 elfStyle :array[0..(LF_FACESIZE) - 1] of WCHAR; 2847 elfVersion :DWORD; 2848 elfStyleSize :DWORD; 2849 elfMatch :DWORD; 2850 elfReserved :DWORD; 2851 elfVendorId :array[0..(ELF_VENDOR_SIZE) - 1] of Byte; 2852 elfCulture :DWORD; 2853 elfPanose :PANOSE; 2854 end; 2855 LPEXTLOGFONTW = ^EXTLOGFONTW; 2856 tagEXTLOGFONTW = EXTLOGFONTW; 2857 TEXTLOGFONTW = EXTLOGFONTW; 2858 PEXTLOGFONTW = ^EXTLOGFONTW; 2859 2860 {$IFNDEF UNICODE} 2861 EXTLOGFONT = EXTLOGFONTA; 2862 LPEXTLOGFONT = ^EXTLOGFONTA; 2863 tagEXTLOGFONT = EXTLOGFONTA; 2864 TEXTLOGFONT = EXTLOGFONTA; 2865 PEXTLOGFONT = ^EXTLOGFONTA; 2866 {$ELSE} 2867 EXTLOGFONT = EXTLOGFONTW; 2868 LPEXTLOGFONT = ^EXTLOGFONTW; 2869 tagEXTLOGFONT = EXTLOGFONTW; 2870 TEXTLOGFONT = EXTLOGFONTW; 2871 PEXTLOGFONT = ^EXTLOGFONTW; 2872 {$ENDIF} 2873 2874 EMREXTCREATEFONTINDIRECTW = record 2875 emr : EMR; 2876 ihFont : DWORD; 2877 elfw : EXTLOGFONTW; 2878 end; 2879 tagEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW; 2880 TEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW; 2881 PEMREXTCREATEFONTINDIRECTW = ^EMREXTCREATEFONTINDIRECTW; 2882 2883 EXTLOGPEN = record 2884 elpPenStyle : DWORD; 2885 elpWidth : DWORD; 2886 elpBrushStyle : UINT; 2887 elpColor : COLORREF; 2888 elpHatch : ULONG_PTR; 2889 elpNumEntries : DWORD; 2890 elpStyleEntry : array[0..0] of DWORD; 2891 end; 2892 tagEXTLOGPEN = EXTLOGPEN; 2893 TEXTLOGPEN = EXTLOGPEN; 2894 PEXTLOGPEN = ^EXTLOGPEN; 2895 2896 EMREXTCREATEPEN = record 2897 emr : EMR; 2898 ihPen : DWORD; 2899 offBmi : DWORD; 2900 cbBmi : DWORD; 2901 offBits : DWORD; 2902 cbBits : DWORD; 2903 elp : EXTLOGPEN; 2904 end; 2905 tagEMREXTCREATEPEN = EMREXTCREATEPEN; 2906 TEMREXTCREATEPEN = EMREXTCREATEPEN; 2907 PEMREXTCREATEPEN = ^EMREXTCREATEPEN; 2908 2909 EMREXTFLOODFILL = record 2910 emr : EMR; 2911 ptlStart : POINTL; 2912 crColor : COLORREF; 2913 iMode : DWORD; 2914 end; 2915 tagEMREXTFLOODFILL = EMREXTFLOODFILL; 2916 TEMREXTFLOODFILL = EMREXTFLOODFILL; 2917 PEMREXTFLOODFILL = ^EMREXTFLOODFILL; 2918 2919 EMREXTSELECTCLIPRGN = record 2920 emr : EMR; 2921 cbRgnData : DWORD; 2922 iMode : DWORD; 2923 RgnData : array[0..0] of BYTE; 2924 end; 2925 tagEMREXTSELECTCLIPRGN = EMREXTSELECTCLIPRGN; 2926 TEMREXTSELECTCLIPRGN = EMREXTSELECTCLIPRGN; 2927 PEMREXTSELECTCLIPRGN = ^EMREXTSELECTCLIPRGN; 2928 2929 EMRTEXT = record 2930 ptlReference : POINTL; 2931 nChars : DWORD; 2932 offString : DWORD; 2933 fOptions : DWORD; 2934 rcl : RECTL; 2935 offDx : DWORD; 2936 end; 2937 tagEMRTEXT = EMRTEXT; 2938 TEMRTEXT = EMRTEXT; 2939 PEMRTEXT = ^EMRTEXT; 2940 2941 EMREXTTEXTOUTA = record 2942 emr : EMR; 2943 rclBounds : RECTL; 2944 iGraphicsMode : DWORD; 2945 exScale : Single; 2946 eyScale : Single; 2947 emrtext : EMRTEXT; 2948 end; 2949 tagEMREXTTEXTOUTA = EMREXTTEXTOUTA; 2950 TEMREXTTEXTOUTA = EMREXTTEXTOUTA; 2951 PEMREXTTEXTOUTA = ^EMREXTTEXTOUTA; 2952 2953 EMREXTTEXTOUTW = EMREXTTEXTOUTA; 2954 TEMREXTTEXTOUTW = EMREXTTEXTOUTA; 2955 PEMREXTTEXTOUTW = ^EMREXTTEXTOUTA; 2956 2957 EMRFILLPATH = record 2958 emr : EMR; 2959 rclBounds : RECTL; 2960 end; 2961 tagEMRFILLPATH = EMRFILLPATH; 2962 TEMRFILLPATH = EMRFILLPATH; 2963 PEMRFILLPATH = ^EMRFILLPATH; 2964 2965 EMRSTROKEANDFILLPATH = EMRFILLPATH; 2966 TEMRSTROKEANDFILLPATH = EMRFILLPATH; 2967 PEMRSTROKEANDFILLPATH = ^EMRFILLPATH; 2968 2969 EMRSTROKEPATH = EMRFILLPATH; 2970 TEMRSTROKEPATH = EMRFILLPATH; 2971 PEMRSTROKEPATH = ^EMRFILLPATH; 2972 2973 EMRFILLRGN = record 2974 emr : EMR; 2975 rclBounds : RECTL; 2976 cbRgnData : DWORD; 2977 ihBrush : DWORD; 2978 RgnData : array[0..0] of BYTE; 2979 end; 2980 tagEMRFILLRGN = EMRFILLRGN; 2981 TEMRFILLRGN = EMRFILLRGN; 2982 PEMRFILLRGN = ^EMRFILLRGN; 2983 2984 EMRFORMAT = record 2985 dSignature : DWORD; 2986 nVersion : DWORD; 2987 cbData : DWORD; 2988 offData : DWORD; 2989 end; 2990 tagEMRFORMAT = EMRFORMAT; 2991 TEMRFORMAT = EMRFORMAT; 2992 PEMRFORMAT = ^EMRFORMAT; 2993 2994 SIZE = TSize; 2995 LPSIZE = PSIZE; 2996 tagSIZE = SIZE; 2997 2998 SIZEL = SIZE; 2999 TSIZEL = SIZE; 3000 PSIZEL = ^SIZE; 3001 LPSIZEL = ^SIZE; 3002 3003 EMRFRAMERGN = record 3004 emr : EMR; 3005 rclBounds : RECTL; 3006 cbRgnData : DWORD; 3007 ihBrush : DWORD; 3008 szlStroke : SIZEL; 3009 RgnData : array[0..0] of BYTE; 3010 end; 3011 tagEMRFRAMERGN = EMRFRAMERGN; 3012 TEMRFRAMERGN = EMRFRAMERGN; 3013 PEMRFRAMERGN = ^EMRFRAMERGN; 3014 3015 EMRGDICOMMENT = record 3016 emr : EMR; 3017 cbData : DWORD; 3018 Data : array[0..0] of BYTE; 3019 end; 3020 tagEMRGDICOMMENT = EMRGDICOMMENT; 3021 TEMRGDICOMMENT = EMRGDICOMMENT; 3022 PEMRGDICOMMENT = ^EMRGDICOMMENT; 3023 3024 EMRINVERTRGN = record 3025 emr : EMR; 3026 rclBounds : RECTL; 3027 cbRgnData : DWORD; 3028 RgnData : array[0..0] of BYTE; 3029 end; 3030 tagEMRINVERTRGN = EMRINVERTRGN; 3031 TEMRINVERTRGN = EMRINVERTRGN; 3032 PEMRINVERTRGN = ^EMRINVERTRGN; 3033 3034 EMRPAINTRGN = EMRINVERTRGN; 3035 TEMRPAINTRGN = EMRINVERTRGN; 3036 PEMRPAINTRGN = ^EMRINVERTRGN; 3037 3038 EMRLINETO = record 3039 emr : EMR; 3040 ptl : POINTL; 3041 end; 3042 tagEMRLINETO = EMRLINETO; 3043 TEMRLINETO = EMRLINETO; 3044 PEMRLINETO = ^EMRLINETO; 3045 3046 EMRMOVETOEX = EMRLINETO; 3047 TEMRMOVETOEX = EMRLINETO; 3048 PEMRMOVETOEX = ^EMRLINETO; 3049 3050 EMRMASKBLT = record 3051 emr : EMR; 3052 rclBounds : RECTL; 3053 xDest : LONG; 3054 yDest : LONG; 3055 cxDest : LONG; 3056 cyDest : LONG; 3057 dwRop : DWORD; 3058 xSrc : LONG; 3059 ySrc : LONG; 3060 xformSrc : XFORM; 3061 crBkColorSrc : COLORREF; 3062 iUsageSrc : DWORD; 3063 offBmiSrc : DWORD; 3064 cbBmiSrc : DWORD; 3065 offBitsSrc : DWORD; 3066 cbBitsSrc : DWORD; 3067 xMask : LONG; 3068 yMask : LONG; 3069 iUsageMask : DWORD; 3070 offBmiMask : DWORD; 3071 cbBmiMask : DWORD; 3072 offBitsMask : DWORD; 3073 cbBitsMask : DWORD; 3074 end; 3075 tagEMRMASKBLT = EMRMASKBLT; 3076 TEMRMASKBLT = EMRMASKBLT; 3077 PEMRMASKBLT = ^EMRMASKBLT; 3078 3079 EMRMODIFYWORLDTRANSFORM = record 3080 emr : EMR; 3081 xform : XFORM; 3082 iMode : DWORD; 3083 end; 3084 tagEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; 3085 TEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; 3086 PEMRMODIFYWORLDTRANSFORM = ^EMRMODIFYWORLDTRANSFORM; 3087 3088 EMROFFSETCLIPRGN = record 3089 emr : EMR; 3090 ptlOffset : POINTL; 3091 end; 3092 tagEMROFFSETCLIPRGN = EMROFFSETCLIPRGN; 3093 TEMROFFSETCLIPRGN = EMROFFSETCLIPRGN; 3094 PEMROFFSETCLIPRGN = ^EMROFFSETCLIPRGN; 3095 3096 EMRPLGBLT = record 3097 emr : EMR; 3098 rclBounds : RECTL; 3099 aptlDest : array[0..2] of POINTL; 3100 xSrc : LONG; 3101 ySrc : LONG; 3102 cxSrc : LONG; 3103 cySrc : LONG; 3104 xformSrc : XFORM; 3105 crBkColorSrc : COLORREF; 3106 iUsageSrc : DWORD; 3107 offBmiSrc : DWORD; 3108 cbBmiSrc : DWORD; 3109 offBitsSrc : DWORD; 3110 cbBitsSrc : DWORD; 3111 xMask : LONG; 3112 yMask : LONG; 3113 iUsageMask : DWORD; 3114 offBmiMask : DWORD; 3115 cbBmiMask : DWORD; 3116 offBitsMask : DWORD; 3117 cbBitsMask : DWORD; 3118 end; 3119 tagEMRPLGBLT = EMRPLGBLT; 3120 TEMRPLGBLT = EMRPLGBLT; 3121 PEMRPLGBLT = ^EMRPLGBLT; 3122 3123 EMRPOLYDRAW = record 3124 emr : EMR; 3125 rclBounds : RECTL; 3126 cptl : DWORD; 3127 aptl : array[0..0] of POINTL; 3128 abTypes : array[0..0] of BYTE; 3129 end; 3130 tagEMRPOLYDRAW = EMRPOLYDRAW; 3131 TEMRPOLYDRAW = EMRPOLYDRAW; 3132 PEMRPOLYDRAW = ^EMRPOLYDRAW; 3133 3134 EMRPOLYDRAW16 = record 3135 emr : EMR; 3136 rclBounds : RECTL; 3137 cpts : DWORD; 3138 apts : array[0..0] of POINTS; 3139 abTypes : array[0..0] of BYTE; 3140 end; 3141 tagEMRPOLYDRAW16 = EMRPOLYDRAW16; 3142 TEMRPOLYDRAW16 = EMRPOLYDRAW16; 3143 PEMRPOLYDRAW16 = ^EMRPOLYDRAW16; 3144 3145 EMRPOLYLINE = record 3146 emr : EMR; 3147 rclBounds : RECTL; 3148 cptl : DWORD; 3149 aptl : array[0..0] of POINTL; 3150 end; 3151 tagEMRPOLYLINE = EMRPOLYLINE; 3152 TEMRPOLYLINE = EMRPOLYLINE; 3153 PEMRPOLYLINE = ^EMRPOLYLINE; 3154 3155 EMRPOLYBEZIER = EMRPOLYLINE; 3156 TEMRPOLYBEZIER = EMRPOLYLINE; 3157 PEMRPOLYBEZIER = ^EMRPOLYLINE; 3158 3159 EMRPOLYGON = EMRPOLYLINE; 3160 TEMRPOLYGON = EMRPOLYLINE; 3161 PEMRPOLYGON = ^EMRPOLYLINE; 3162 3163 EMRPOLYBEZIERTO = EMRPOLYLINE; 3164 TEMRPOLYBEZIERTO = EMRPOLYLINE; 3165 PEMRPOLYBEZIERTO = ^EMRPOLYLINE; 3166 3167 EMRPOLYLINETO = EMRPOLYLINE; 3168 TEMRPOLYLINETO = EMRPOLYLINE; 3169 PEMRPOLYLINETO = ^EMRPOLYLINE; 3170 3171 EMRPOLYLINE16 = record 3172 emr : EMR; 3173 rclBounds : RECTL; 3174 cpts : DWORD; 3175 apts : array[0..0] of POINTS; 3176 end; 3177 tagEMRPOLYLINE16 = EMRPOLYLINE16; 3178 TEMRPOLYLINE16 = EMRPOLYLINE16; 3179 PEMRPOLYLINE16 = ^EMRPOLYLINE16; 3180 3181 EMRPOLYBEZIER16 = EMRPOLYLINE16; 3182 TEMRPOLYBEZIER16 = EMRPOLYLINE16; 3183 PEMRPOLYBEZIER16 = ^EMRPOLYLINE16; 3184 3185 EMRPOLYGON16 = EMRPOLYLINE16; 3186 TEMRPOLYGON16 = EMRPOLYLINE16; 3187 PEMRPOLYGON16 = ^EMRPOLYLINE16; 3188 3189 EMRPOLYBEZIERTO16 = EMRPOLYLINE16; 3190 TEMRPOLYBEZIERTO16 = EMRPOLYLINE16; 3191 PEMRPOLYBEZIERTO16 = ^EMRPOLYLINE16; 3192 3193 EMRPOLYLINETO16 = EMRPOLYLINE16; 3194 TEMRPOLYLINETO16 = EMRPOLYLINE16; 3195 PEMRPOLYLINETO16 = ^EMRPOLYLINE16; 3196 3197 EMRPOLYPOLYLINE = record 3198 emr : EMR; 3199 rclBounds : RECTL; 3200 nPolys : DWORD; 3201 cptl : DWORD; 3202 aPolyCounts : array[0..0] of DWORD; 3203 aptl : array[0..0] of POINTL; 3204 end; 3205 tagEMRPOLYPOLYLINE = EMRPOLYPOLYLINE; 3206 TEMRPOLYPOLYLINE = EMRPOLYPOLYLINE; 3207 PEMRPOLYPOLYLINE = ^EMRPOLYPOLYLINE; 3208 3209 EMRPOLYPOLYGON = EMRPOLYPOLYLINE; 3210 TEMRPOLYPOLYGON = EMRPOLYPOLYLINE; 3211 PEMRPOLYPOLYGON = ^EMRPOLYPOLYLINE; 3212 3213 EMRPOLYPOLYLINE16 = record 3214 emr : EMR; 3215 rclBounds : RECTL; 3216 nPolys : DWORD; 3217 cpts : DWORD; 3218 aPolyCounts : array[0..0] of DWORD; 3219 apts : array[0..0] of POINTS; 3220 end; 3221 tagEMRPOLYPOLYLINE16 = EMRPOLYPOLYLINE16; 3222 TEMRPOLYPOLYLINE16 = EMRPOLYPOLYLINE16; 3223 PEMRPOLYPOLYLINE16 = ^EMRPOLYPOLYLINE16; 3224 3225 EMRPOLYPOLYGON16 = EMRPOLYPOLYLINE16; 3226 TEMRPOLYPOLYGON16 = EMRPOLYPOLYLINE16; 3227 PEMRPOLYPOLYGON16 = ^EMRPOLYPOLYLINE16; 3228 3229 EMRPOLYTEXTOUTA = record 3230 emr : EMR; 3231 rclBounds : RECTL; 3232 iGraphicsMode : DWORD; 3233 exScale : Single; 3234 eyScale : Single; 3235 cStrings : LONG; 3236 aemrtext : array[0..0] of EMRTEXT; 3237 end; 3238 tagEMRPOLYTEXTOUTA = EMRPOLYTEXTOUTA; 3239 TEMRPOLYTEXTOUTA = EMRPOLYTEXTOUTA; 3240 PEMRPOLYTEXTOUTA = ^EMRPOLYTEXTOUTA; 3241 3242 EMRPOLYTEXTOUTW = EMRPOLYTEXTOUTA; 3243 TEMRPOLYTEXTOUTW = EMRPOLYTEXTOUTA; 3244 PEMRPOLYTEXTOUTW = ^EMRPOLYTEXTOUTA; 3245 3246 EMRRESIZEPALETTE = record 3247 emr : EMR; 3248 ihPal : DWORD; 3249 cEntries : DWORD; 3250 end; 3251 tagEMRRESIZEPALETTE = EMRRESIZEPALETTE; 3252 TEMRRESIZEPALETTE = EMRRESIZEPALETTE; 3253 PEMRRESIZEPALETTE = ^EMRRESIZEPALETTE; 3254 3255 EMRRESTOREDC = record 3256 emr : EMR; 3257 iRelative : LONG; 3258 end; 3259 tagEMRRESTOREDC = EMRRESTOREDC; 3260 TEMRRESTOREDC = EMRRESTOREDC; 3261 PEMRRESTOREDC = ^EMRRESTOREDC; 3262 3263 EMRROUNDRECT = record 3264 emr : EMR; 3265 rclBox : RECTL; 3266 szlCorner : SIZEL; 3267 end; 3268 tagEMRROUNDRECT = EMRROUNDRECT; 3269 TEMRROUNDRECT = EMRROUNDRECT; 3270 PEMRROUNDRECT = ^EMRROUNDRECT; 3271 3272 EMRSCALEVIEWPORTEXTEX = record 3273 emr : EMR; 3274 xNum : LONG; 3275 xDenom : LONG; 3276 yNum : LONG; 3277 yDenom : LONG; 3278 end; 3279 tagEMRSCALEVIEWPORTEXTEX = EMRSCALEVIEWPORTEXTEX; 3280 TEMRSCALEVIEWPORTEXTEX = EMRSCALEVIEWPORTEXTEX; 3281 PEMRSCALEVIEWPORTEXTEX = ^EMRSCALEVIEWPORTEXTEX; 3282 3283 EMRSCALEWINDOWEXTEX = EMRSCALEVIEWPORTEXTEX; 3284 TEMRSCALEWINDOWEXTEX = EMRSCALEVIEWPORTEXTEX; 3285 PEMRSCALEWINDOWEXTEX = ^EMRSCALEVIEWPORTEXTEX; 3286 3287 EMRSELECTCOLORSPACE = record 3288 emr : EMR; 3289 ihCS : DWORD; 3290 end; 3291 tagEMRSELECTCOLORSPACE = EMRSELECTCOLORSPACE; 3292 TEMRSELECTCOLORSPACE = EMRSELECTCOLORSPACE; 3293 PEMRSELECTCOLORSPACE = ^EMRSELECTCOLORSPACE; 3294 3295 EMRDELETECOLORSPACE = EMRSELECTCOLORSPACE; 3296 TEMRDELETECOLORSPACE = EMRSELECTCOLORSPACE; 3297 PEMRDELETECOLORSPACE = ^EMRSELECTCOLORSPACE; 3298 3299 EMRSELECTOBJECT = record 3300 emr : EMR; 3301 ihObject : DWORD; 3302 end; 3303 tagEMRSELECTOBJECT = EMRSELECTOBJECT; 3304 TEMRSELECTOBJECT = EMRSELECTOBJECT; 3305 PEMRSELECTOBJECT = ^EMRSELECTOBJECT; 3306 3307 EMRDELETEOBJECT = EMRSELECTOBJECT; 3308 TEMRDELETEOBJECT = EMRSELECTOBJECT; 3309 PEMRDELETEOBJECT = ^EMRSELECTOBJECT; 3310 3311 EMRSELECTPALETTE = record 3312 emr : EMR; 3313 ihPal : DWORD; 3314 end; 3315 tagEMRSELECTPALETTE = EMRSELECTPALETTE; 3316 TEMRSELECTPALETTE = EMRSELECTPALETTE; 3317 PEMRSELECTPALETTE = ^EMRSELECTPALETTE; 3318 3319 EMRSETARCDIRECTION = record 3320 emr : EMR; 3321 iArcDirection : DWORD; 3322 end; 3323 tagEMRSETARCDIRECTION = EMRSETARCDIRECTION; 3324 TEMRSETARCDIRECTION = EMRSETARCDIRECTION; 3325 PEMRSETARCDIRECTION = ^EMRSETARCDIRECTION; 3326 3327 EMRSETBKCOLOR = record 3328 emr : EMR; 3329 crColor : COLORREF; 3330 end; 3331 tagEMRSETTEXTCOLOR = EMRSETBKCOLOR; 3332 TEMRSETBKCOLOR = EMRSETBKCOLOR; 3333 PEMRSETBKCOLOR = ^EMRSETBKCOLOR; 3334 3335 EMRSETTEXTCOLOR = EMRSETBKCOLOR; 3336 TEMRSETTEXTCOLOR = EMRSETBKCOLOR; 3337 PEMRSETTEXTCOLOR = ^EMRSETBKCOLOR; 3338 3339 EMRSETCOLORADJUSTMENT = record 3340 emr : EMR; 3341 ColorAdjustment : COLORADJUSTMENT; 3342 end; 3343 tagEMRSETCOLORADJUSTMENT = EMRSETCOLORADJUSTMENT; 3344 TEMRSETCOLORADJUSTMENT = EMRSETCOLORADJUSTMENT; 3345 PEMRSETCOLORADJUSTMENT = ^EMRSETCOLORADJUSTMENT; 3346 3347 EMRSETDIBITSTODEVICE = record 3348 emr : EMR; 3349 rclBounds : RECTL; 3350 xDest : LONG; 3351 yDest : LONG; 3352 xSrc : LONG; 3353 ySrc : LONG; 3354 cxSrc : LONG; 3355 cySrc : LONG; 3356 offBmiSrc : DWORD; 3357 cbBmiSrc : DWORD; 3358 offBitsSrc : DWORD; 3359 cbBitsSrc : DWORD; 3360 iUsageSrc : DWORD; 3361 iStartScan : DWORD; 3362 cScans : DWORD; 3363 end; 3364 tagEMRSETDIBITSTODEVICE = EMRSETDIBITSTODEVICE; 3365 TEMRSETDIBITSTODEVICE = EMRSETDIBITSTODEVICE; 3366 PEMRSETDIBITSTODEVICE = ^EMRSETDIBITSTODEVICE; 3367 3368 EMRSETMAPPERFLAGS = record 3369 emr : EMR; 3370 dwFlags : DWORD; 3371 end; 3372 tagEMRSETMAPPERFLAGS = EMRSETMAPPERFLAGS; 3373 TEMRSETMAPPERFLAGS = EMRSETMAPPERFLAGS; 3374 PEMRSETMAPPERFLAGS = ^EMRSETMAPPERFLAGS; 3375 3376 EMRSETMITERLIMIT = record 3377 emr : EMR; 3378 eMiterLimit : Single; 3379 end; 3380 tagEMRSETMITERLIMIT = EMRSETMITERLIMIT; 3381 TEMRSETMITERLIMIT = EMRSETMITERLIMIT; 3382 PEMRSETMITERLIMIT = ^EMRSETMITERLIMIT; 3383 3384 EMRSETPALETTEENTRIES = record 3385 emr : EMR; 3386 ihPal : DWORD; 3387 iStart : DWORD; 3388 cEntries : DWORD; 3389 aPalEntries : array[0..0] of PALETTEENTRY; 3390 end; 3391 tagEMRSETPALETTEENTRIES = EMRSETPALETTEENTRIES; 3392 TEMRSETPALETTEENTRIES = EMRSETPALETTEENTRIES; 3393 PEMRSETPALETTEENTRIES = ^EMRSETPALETTEENTRIES; 3394 3395 EMRSETPIXELV = record 3396 emr : EMR; 3397 ptlPixel : POINTL; 3398 crColor : COLORREF; 3399 end; 3400 tagEMRSETPIXELV = EMRSETPIXELV; 3401 TEMRSETPIXELV = EMRSETPIXELV; 3402 PEMRSETPIXELV = ^EMRSETPIXELV; 3403 3404 EMRSETVIEWPORTEXTEX = record 3405 emr : EMR; 3406 szlExtent : SIZEL; 3407 end; 3408 tagEMRSETVIEWPORTEXTEX = EMRSETVIEWPORTEXTEX; 3409 TEMRSETVIEWPORTEXTEX = EMRSETVIEWPORTEXTEX; 3410 PEMRSETVIEWPORTEXTEX = ^EMRSETVIEWPORTEXTEX; 3411 3412 EMRSETWINDOWEXTEX = EMRSETVIEWPORTEXTEX; 3413 TEMRSETWINDOWEXTEX = EMRSETVIEWPORTEXTEX; 3414 PEMRSETWINDOWEXTEX = ^EMRSETVIEWPORTEXTEX; 3415 3416 EMRSETVIEWPORTORGEX = record 3417 emr : EMR; 3418 ptlOrigin : POINTL; 3419 end; 3420 tagEMRSETVIEWPORTORGEX = EMRSETVIEWPORTORGEX; 3421 TEMRSETVIEWPORTORGEX = EMRSETVIEWPORTORGEX; 3422 PEMRSETVIEWPORTORGEX = ^EMRSETVIEWPORTORGEX; 3423 3424 EMRSETWINDOWORGEX = EMRSETVIEWPORTORGEX; 3425 TEMRSETWINDOWORGEX = EMRSETVIEWPORTORGEX; 3426 PEMRSETWINDOWORGEX = ^EMRSETVIEWPORTORGEX; 3427 3428 EMRSETBRUSHORGEX = EMRSETVIEWPORTORGEX; 3429 TEMRSETBRUSHORGEX = EMRSETVIEWPORTORGEX; 3430 PEMRSETBRUSHORGEX = ^EMRSETVIEWPORTORGEX; 3431 3432 EMRSETWORLDTRANSFORM = record 3433 emr : EMR; 3434 xform : XFORM; 3435 end; 3436 tagEMRSETWORLDTRANSFORM = EMRSETWORLDTRANSFORM; 3437 TEMRSETWORLDTRANSFORM = EMRSETWORLDTRANSFORM; 3438 PEMRSETWORLDTRANSFORM = ^EMRSETWORLDTRANSFORM; 3439 3440 EMRSTRETCHBLT = record 3441 emr : EMR; 3442 rclBounds : RECTL; 3443 xDest : LONG; 3444 yDest : LONG; 3445 cxDest : LONG; 3446 cyDest : LONG; 3447 dwRop : DWORD; 3448 xSrc : LONG; 3449 ySrc : LONG; 3450 xformSrc : XFORM; 3451 crBkColorSrc : COLORREF; 3452 iUsageSrc : DWORD; 3453 offBmiSrc : DWORD; 3454 cbBmiSrc : DWORD; 3455 offBitsSrc : DWORD; 3456 cbBitsSrc : DWORD; 3457 cxSrc : LONG; 3458 cySrc : LONG; 3459 end; 3460 tagEMRSTRETCHBLT = EMRSTRETCHBLT; 3461 TEMRSTRETCHBLT = EMRSTRETCHBLT; 3462 PEMRSTRETCHBLT = ^EMRSTRETCHBLT; 3463 3464 EMRSTRETCHDIBITS = record 3465 emr : EMR; 3466 rclBounds : RECTL; 3467 xDest : LONG; 3468 yDest : LONG; 3469 xSrc : LONG; 3470 ySrc : LONG; 3471 cxSrc : LONG; 3472 cySrc : LONG; 3473 offBmiSrc : DWORD; 3474 cbBmiSrc : DWORD; 3475 offBitsSrc : DWORD; 3476 cbBitsSrc : DWORD; 3477 iUsageSrc : DWORD; 3478 dwRop : DWORD; 3479 cxDest : LONG; 3480 cyDest : LONG; 3481 end; 3482 tagEMRSTRETCHDIBITS = EMRSTRETCHDIBITS; 3483 TEMRSTRETCHDIBITS = EMRSTRETCHDIBITS; 3484 PEMRSTRETCHDIBITS = ^EMRSTRETCHDIBITS; 3485 3486 EMRABORTPATH = record 3487 emr : EMR; 3488 end; 3489 TEMRABORTPATH = EMRABORTPATH; 3490 PEMRABORTPATH = ^EMRABORTPATH; 3491 3492 tagABORTPATH = EMRABORTPATH; 3493 TABORTPATH = EMRABORTPATH; 3494 3495 EMRBEGINPATH = EMRABORTPATH; 3496 TEMRBEGINPATH = EMRABORTPATH; 3497 PEMRBEGINPATH = ^EMRABORTPATH; 3498 3499 EMRENDPATH = EMRABORTPATH; 3500 TEMRENDPATH = EMRABORTPATH; 3501 PEMRENDPATH = ^EMRABORTPATH; 3502 3503 EMRCLOSEFIGURE = EMRABORTPATH; 3504 TEMRCLOSEFIGURE = EMRABORTPATH; 3505 PEMRCLOSEFIGURE = ^EMRABORTPATH; 3506 3507 EMRFLATTENPATH = EMRABORTPATH; 3508 TEMRFLATTENPATH = EMRABORTPATH; 3509 PEMRFLATTENPATH = ^EMRABORTPATH; 3510 3511 EMRWIDENPATH = EMRABORTPATH; 3512 TEMRWIDENPATH = EMRABORTPATH; 3513 PEMRWIDENPATH = ^EMRABORTPATH; 3514 3515 EMRSETMETARGN = EMRABORTPATH; 3516 TEMRSETMETARGN = EMRABORTPATH; 3517 PEMRSETMETARGN = ^EMRABORTPATH; 3518 3519 EMRSAVEDC = EMRABORTPATH; 3520 TEMRSAVEDC = EMRABORTPATH; 3521 PEMRSAVEDC = ^EMRABORTPATH; 3522 3523 EMRREALIZEPALETTE = EMRABORTPATH; 3524 TEMRREALIZEPALETTE = EMRABORTPATH; 3525 PEMRREALIZEPALETTE = ^EMRABORTPATH; 3526 3527 EMRSELECTCLIPPATH = record 3528 emr : EMR; 3529 iMode : DWORD; 3530 end; 3531 tagEMRSELECTCLIPPATH = EMRSELECTCLIPPATH; 3532 TEMRSELECTCLIPPATH = EMRSELECTCLIPPATH; 3533 PEMRSELECTCLIPPATH = ^EMRSELECTCLIPPATH; 3534 3535 EMRSETBKMODE = EMRSELECTCLIPPATH; 3536 TEMRSETBKMODE = EMRSELECTCLIPPATH; 3537 PEMRSETBKMODE = ^EMRSELECTCLIPPATH; 3538 3539 EMRSETMAPMODE = EMRSELECTCLIPPATH; 3540 TEMRSETMAPMODE = EMRSELECTCLIPPATH; 3541 PEMRSETMAPMODE = ^EMRSELECTCLIPPATH; 3542 3543 EMRSETPOLYFILLMODE = EMRSELECTCLIPPATH; 3544 TEMRSETPOLYFILLMODE = EMRSELECTCLIPPATH; 3545 PEMRSETPOLYFILLMODE = ^EMRSELECTCLIPPATH; 3546 3547 EMRSETROP2 = EMRSELECTCLIPPATH; 3548 TEMRSETROP2 = EMRSELECTCLIPPATH; 3549 PEMRSETROP2 = ^EMRSELECTCLIPPATH; 3550 3551 EMRSETSTRETCHBLTMODE = EMRSELECTCLIPPATH; 3552 TEMRSETSTRETCHBLTMODE = EMRSELECTCLIPPATH; 3553 PEMRSETSTRETCHBLTMODE = ^EMRSELECTCLIPPATH; 3554 3555 EMRSETTEXTALIGN = EMRSELECTCLIPPATH; 3556 TEMRSETTEXTALIGN = EMRSELECTCLIPPATH; 3557 PEMRSETTEXTALIGN = ^EMRSELECTCLIPPATH; 3558 3559 EMRENABLEICM = EMRSELECTCLIPPATH; 3560 TEMRENABLEICM = EMRSELECTCLIPPATH; 3561 PEMRENABLEICM = ^EMRSELECTCLIPPATH; 3562 3563 NMHDR = record 3564 hwndFrom : HWND; 3565 idFrom : UINT_PTR; 3566 code : UINT; 3567 end; 3568 tagNMHDR = NMHDR; 3569 TNMHDR = NMHDR; 3570 PNMHDR = ^NMHDR; 3571 3572 ENCORRECTTEXT = record 3573 nmhdr : NMHDR; 3574 chrg : CHARRANGE; 3575 seltyp : WORD; 3576 end; 3577 _encorrecttext = ENCORRECTTEXT; 3578 Tencorrecttext = ENCORRECTTEXT; 3579 Pencorrecttext = ^ENCORRECTTEXT; 3580 3581 ENDROPFILES = record 3582 nmhdr : NMHDR; 3583 hDrop : HANDLE; 3584 cp : LONG; 3585 fProtected : WINBOOL; 3586 end; 3587 _endropfiles = ENDROPFILES; 3588 Tendropfiles = ENDROPFILES; 3589 Pendropfiles = ^ENDROPFILES; 3590 3591 ENSAVECLIPBOARD = record 3592 nmhdr : NMHDR; 3593 cObjectCount : LONG; 3594 cch : LONG; 3595 end; 3596 TENSAVECLIPBOARD = ENSAVECLIPBOARD; 3597 PENSAVECLIPBOARD = ^ENSAVECLIPBOARD; 3598 3599 ENOLEOPFAILED = record 3600 nmhdr : NMHDR; 3601 iob : LONG; 3602 lOper : LONG; 3603 hr : HRESULT; 3604 end; 3605 TENOLEOPFAILED = ENOLEOPFAILED; 3606 PENOLEOPFAILED = ^ENOLEOPFAILED; 3607 3608 ENHMETAHEADER = record 3609 iType : DWORD; 3610 nSize : DWORD; 3611 rclBounds : RECTL; 3612 rclFrame : RECTL; 3613 dSignature : DWORD; 3614 nVersion : DWORD; 3615 nBytes : DWORD; 3616 nRecords : DWORD; 3617 nHandles : WORD; 3618 sReserved : WORD; 3619 nDescription : DWORD; 3620 offDescription : DWORD; 3621 nPalEntries : DWORD; 3622 szlDevice : SIZEL; 3623 szlMillimeters : SIZEL; 3624// #if (WINVER >= 0x0400) 3625 cbPixelFormat : DWORD; 3626 offPixelFormat : DWORD; 3627 bOpenGL : DWORD; 3628// #endif 3629// #if (WINVER >= 0x0500) 3630 szlMicrometers : SIZEL; 3631// #endif 3632 end; 3633 LPENHMETAHEADER = ^ENHMETAHEADER; 3634 tagENHMETAHEADER = ENHMETAHEADER; 3635 TENHMETAHEADER = ENHMETAHEADER; 3636 PENHMETAHEADER = ^ENHMETAHEADER; 3637 3638 ENHMETARECORD = record 3639 iType : DWORD; 3640 nSize : DWORD; 3641 dParm : array[0..0] of DWORD; 3642 end; 3643 LPENHMETARECORD = ^ENHMETARECORD; 3644 tagENHMETARECORD = ENHMETARECORD; 3645 TENHMETARECORD = ENHMETARECORD; 3646 PENHMETARECORD = ^ENHMETARECORD; 3647 3648 ENPROTECTED = record 3649 nmhdr : NMHDR; 3650 msg : UINT; 3651 wParam : WPARAM; 3652 lParam : LPARAM; 3653 chrg : CHARRANGE; 3654 end; 3655 _enprotected = ENPROTECTED; 3656 Tenprotected = ENPROTECTED; 3657 Penprotected = ^ENPROTECTED; 3658 3659 SERVICE_STATUS = record 3660 dwServiceType : DWORD; 3661 dwCurrentState : DWORD; 3662 dwControlsAccepted : DWORD; 3663 dwWin32ExitCode : DWORD; 3664 dwServiceSpecificExitCode : DWORD; 3665 dwCheckPoint : DWORD; 3666 dwWaitHint : DWORD; 3667 end; 3668 LPSERVICE_STATUS = ^SERVICE_STATUS; 3669 _SERVICE_STATUS = SERVICE_STATUS; 3670 TSERVICESTATUS = SERVICE_STATUS; 3671 PSERVICESTATUS = ^SERVICE_STATUS; 3672 3673 ENUM_SERVICE_STATUSA= record 3674 lpServiceName : LPSTR; 3675 lpDisplayName : LPSTR; 3676 ServiceStatus : SERVICE_STATUS; 3677 end; 3678 LPENUM_SERVICE_STATUSA = ^ENUM_SERVICE_STATUSA; 3679 _ENUM_SERVICE_STATUSA = ENUM_SERVICE_STATUSA; 3680 TENUMSERVICESTATUSA = ENUM_SERVICE_STATUSA; 3681 PENUMSERVICESTATUSA = ^ENUM_SERVICE_STATUSA; 3682 3683 ENUM_SERVICE_STATUSW = record 3684 lpServiceName : LPWSTR; 3685 lpDisplayName : LPWSTR; 3686 ServiceStatus : SERVICE_STATUS; 3687 end; 3688 LPENUM_SERVICE_STATUSW = ^ENUM_SERVICE_STATUSW; 3689 _ENUM_SERVICE_STATUSW = ENUM_SERVICE_STATUSW; 3690 TENUMSERVICESTATUSW = ENUM_SERVICE_STATUSW; 3691 PENUMSERVICESTATUSW = ^ENUM_SERVICE_STATUSW; 3692 3693 {$ifdef Unicode} 3694 LPENUM_SERVICE_STATUS = ^ENUM_SERVICE_STATUSW; 3695 _ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUSW; 3696 TENUMSERVICESTATUS = ENUM_SERVICE_STATUSW; 3697 ENUMSERVICESTATUS = ENUM_SERVICE_STATUSW; 3698 PENUMSERVICESTATUS = ^ENUM_SERVICE_STATUSW; 3699 {$else} 3700 LPENUM_SERVICE_STATUS = ^ENUM_SERVICE_STATUSA; 3701 _ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUSA; 3702 TENUMSERVICESTATUS = ENUM_SERVICE_STATUSA; 3703 ENUMSERVICESTATUS = ENUM_SERVICE_STATUSA; 3704 PENUMSERVICESTATUS = ^ENUM_SERVICE_STATUSA; 3705 {$endif} 3706 3707 ENUMLOGFONTA = record 3708 elfLogFont : LOGFONTA; 3709 elfFullName : array[0..(LF_FULLFACESIZE)-1] of AnsiCHAR; 3710 elfStyle : array[0..(LF_FACESIZE)-1] of AnsiCHAR; 3711 end; 3712 tagENUMLOGFONTA = ENUMLOGFONTA; 3713 TENUMLOGFONTA = ENUMLOGFONTA; 3714 PENUMLOGFONTA = ^ENUMLOGFONTA; 3715 3716 ENUMLOGFONTW = record 3717 elfLogFont : LOGFONTW; 3718 elfFullName : array[0..(LF_FULLFACESIZE)-1] of WCHAR; 3719 elfStyle : array[0..(LF_FACESIZE)-1] of WCHAR; 3720 end; 3721 tagENUMLOGFONTW = ENUMLOGFONTW; 3722 TENUMLOGFONTW = ENUMLOGFONTW; 3723 PENUMLOGFONTW = ^ENUMLOGFONTW; 3724 {$ifdef Unicode} 3725 tagENUMLOGFONT = ENUMLOGFONTW; 3726 TENUMLOGFONT = ENUMLOGFONTW; 3727 ENUMLOGFONT = ENUMLOGFONTW; 3728 PENUMLOGFONT = ^ENUMLOGFONTW; 3729 {$else} 3730 tagENUMLOGFONT = ENUMLOGFONTA; 3731 TENUMLOGFONT = ENUMLOGFONTA; 3732 ENUMLOGFONT = ENUMLOGFONTA; 3733 PENUMLOGFONT = ^ENUMLOGFONTA; 3734 {$endif} 3735 ENUMLOGFONTEXA = record 3736 elfLogFont : LOGFONTA; 3737 elfFullName : array[0..(LF_FULLFACESIZE)-1] of AnsiCHAR; 3738 elfStyle : array[0..(LF_FACESIZE)-1] of AnsiCHAR; 3739 elfScript : array[0..(LF_FACESIZE)-1] of AnsiCHAR; 3740 end; 3741 tagENUMLOGFONTEXA = ENUMLOGFONTEXA; 3742 TENUMLOGFONTEXA = ENUMLOGFONTEXA; 3743 PENUMLOGFONTEXA = ^ENUMLOGFONTEXA; 3744 3745 ENUMLOGFONTEXW = record 3746 elfLogFont : LOGFONTW; 3747 elfFullName : array[0..(LF_FULLFACESIZE)-1] of WCHAR; 3748 elfStyle : array[0..(LF_FACESIZE)-1] of WCHAR; 3749 elfScript : array[0..(LF_FACESIZE)-1] of WCHAR; 3750 end; 3751 { 3752 Then follow: 3753 3754 TCHAR SourceName[] 3755 TCHAR Computername[] 3756 SID UserSid 3757 TCHAR Strings[] 3758 BYTE Data[] 3759 CHAR Pad[] 3760 DWORD Length; 3761 } 3762 tagENUMLOGFONTEXW = ENUMLOGFONTEXW; 3763 TENUMLOGFONTEXW = ENUMLOGFONTEXW; 3764 PENUMLOGFONTEXW = ^ENUMLOGFONTEXW; 3765 3766 {$ifdef Unicode} 3767 tagENUMLOGFONTEX = ENUMLOGFONTEXW; 3768 ENUMLOGFONTEX = ENUMLOGFONTEXW; 3769 TENUMLOGFONTEX = ENUMLOGFONTEXW; 3770 PENUMLOGFONTEX = ^ENUMLOGFONTEXW; 3771 {$else} 3772 tagENUMLOGFONTEX = ENUMLOGFONTEXA; 3773 ENUMLOGFONTEX = ENUMLOGFONTEXA; 3774 TENUMLOGFONTEX = ENUMLOGFONTEXA; 3775 PENUMLOGFONTEX = ^ENUMLOGFONTEXA; 3776 {$endif} 3777 3778 EVENTLOGRECORD = record 3779 Length : DWORD; 3780 Reserved : DWORD; 3781 RecordNumber : DWORD; 3782 TimeGenerated : DWORD; 3783 TimeWritten : DWORD; 3784 EventID : DWORD; 3785 EventType : WORD; 3786 NumStrings : WORD; 3787 EventCategory : WORD; 3788 ReservedFlags : WORD; 3789 ClosingRecordNumber : DWORD; 3790 StringOffset : DWORD; 3791 UserSidLength : DWORD; 3792 UserSidOffset : DWORD; 3793 DataLength : DWORD; 3794 DataOffset : DWORD; 3795 end; 3796 _EVENTLOGRECORD = EVENTLOGRECORD; 3797 TEVENTLOGRECORD = EVENTLOGRECORD; 3798 PEVENTLOGRECORD = ^EVENTLOGRECORD; 3799 3800 EVENTMSG = record 3801 message : UINT; 3802 paramL : UINT; 3803 paramH : UINT; 3804 time : DWORD; 3805 hwnd : HWND; 3806 end; 3807 tagEVENTMSG = EVENTMSG; 3808 TEVENTMSG = EVENTMSG; 3809 PEVENTMSG = ^EVENTMSG; 3810 3811 EXCEPTION_POINTERS = record 3812 ExceptionRecord : PEXCEPTION_RECORD; 3813 ContextRecord : PCONTEXT; 3814 end; 3815 LPEXCEPTION_POINTERS = ^EXCEPTION_POINTERS; 3816 PEXCEPTION_POINTERS = ^EXCEPTION_POINTERS; 3817 _EXCEPTION_POINTERS = EXCEPTION_POINTERS; 3818 TEXCEPTIONPOINTERS = EXCEPTION_POINTERS; 3819 PEXCEPTIONPOINTERS = ^EXCEPTION_POINTERS; 3820 3821 EXT_BUTTON = record 3822 idCommand : WORD; 3823 idsHelp : WORD; 3824 fsStyle : WORD; 3825 end; 3826 LPEXT_BUTTON = ^EXT_BUTTON; 3827 _EXT_BUTTON = EXT_BUTTON; 3828 TEXTBUTTON = EXT_BUTTON; 3829 PEXTBUTTON = ^EXT_BUTTON; 3830 3831 FILTERKEYS = record 3832 cbSize : UINT; 3833 dwFlags : DWORD; 3834 iWaitMSec : DWORD; 3835 iDelayMSec : DWORD; 3836 iRepeatMSec : DWORD; 3837 iBounceMSec : DWORD; 3838 end; 3839 tagFILTERKEYS = FILTERKEYS; 3840 TFILTERKEYS = FILTERKEYS; 3841 PFILTERKEYS = ^FILTERKEYS; 3842 3843 FIND_NAME_BUFFER = record 3844 length : UCHAR; 3845 access_control : UCHAR; 3846 frame_control : UCHAR; 3847 destination_addr : array[0..5] of UCHAR; 3848 source_addr : array[0..5] of UCHAR; 3849 routing_info : array[0..17] of UCHAR; 3850 end; 3851 _FIND_NAME_BUFFER = FIND_NAME_BUFFER; 3852 TFINDNAMEBUFFER = FIND_NAME_BUFFER; 3853 PFINDNAMEBUFFER = ^FIND_NAME_BUFFER; 3854 3855 FIND_NAME_HEADER = record 3856 node_count : WORD; 3857 reserved : UCHAR; 3858 unique_group : UCHAR; 3859 end; 3860 _FIND_NAME_HEADER = FIND_NAME_HEADER; 3861 TFINDNAMEHEADER = FIND_NAME_HEADER; 3862 PFINDNAMEHEADER = ^FIND_NAME_HEADER; 3863 3864 FINDREPLACE = record 3865 lStructSize : DWORD; 3866 hwndOwner : HWND; 3867 hInstance : HINST; 3868 Flags : DWORD; 3869 lpstrFindWhat : LPTSTR; 3870 lpstrReplaceWith : LPTSTR; 3871 wFindWhatLen : WORD; 3872 wReplaceWithLen : WORD; 3873 lCustData : LPARAM; 3874 lpfnHook : LPFRHOOKPROC; 3875 lpTemplateName : LPCTSTR; 3876 end; 3877 LPFINDREPLACE = ^FINDREPLACE; 3878 TFINDREPLACE = FINDREPLACE; 3879 PFINDREPLACE = ^FINDREPLACE; 3880 3881 {FINDTEXT = record conflicts with FindText function } 3882 TFINDTEXT = record 3883 chrg : CHARRANGE; 3884 lpstrText : LPSTR; 3885 end; 3886 _findtext = TFINDTEXT; 3887 Pfindtext = ^TFINDTEXT; 3888 3889 FINDTEXTEX = record 3890 chrg : CHARRANGE; 3891 lpstrText : LPSTR; 3892 chrgText : CHARRANGE; 3893 end; 3894 _findtextex = FINDTEXTEX; 3895 Tfindtextex = FINDTEXTEX; 3896 Pfindtextex = ^FINDTEXTEX; 3897 3898 FMS_GETDRIVEINFOA = record 3899 dwTotalSpace : DWORD; 3900 dwFreeSpace : DWORD; 3901 szPath : array[0..259] of AnsiCHAR; 3902 szVolume : array[0..13] of AnsiCHAR; 3903 szShare : array[0..127] of AnsiCHAR; 3904 end; 3905 _FMS_GETDRIVEINFOA = FMS_GETDRIVEINFOA; 3906 TFMSGETDRIVEINFOA = FMS_GETDRIVEINFOA; 3907 PFMSGETDRIVEINFOA = ^FMS_GETDRIVEINFOA; 3908 3909 FMS_GETDRIVEINFOW = record 3910 dwTotalSpace : DWORD; 3911 dwFreeSpace : DWORD; 3912 szPath : array[0..259] of WCHAR; 3913 szVolume : array[0..13] of WCHAR; 3914 szShare : array[0..127] of WCHAR; 3915 end; 3916 _FMS_GETDRIVEINFOW = FMS_GETDRIVEINFOW; 3917 TFMSGETDRIVEINFOW = FMS_GETDRIVEINFOW; 3918 PFMSGETDRIVEINFOW = ^FMS_GETDRIVEINFOW; 3919 {$ifdef Unicode} 3920 _FMS_GETDRIVEINFO = FMS_GETDRIVEINFOW; 3921 TFMSGETDRIVEINFO = FMS_GETDRIVEINFOW; 3922 PFMSGETDRIVEINFO = PFMSGETDRIVEINFOW; 3923 FMS_GETDRIVEINFO = FMS_GETDRIVEINFOW; 3924 {$else} 3925 _FMS_GETDRIVEINFO = FMS_GETDRIVEINFOA; 3926 TFMSGETDRIVEINFO = FMS_GETDRIVEINFOA; 3927 PFMSGETDRIVEINFO = PFMSGETDRIVEINFOA; 3928 FMS_GETDRIVEINFO = FMS_GETDRIVEINFOA; 3929 {$endif} 3930 3931 FMS_GETFILESELA = record 3932 ftTime : FILETIME; 3933 dwSize : DWORD; 3934 bAttr : BYTE; 3935 szName : array[0..259] of AnsiCHAR; 3936 end; 3937 _FMS_GETFILESELA = FMS_GETFILESELA; 3938 TFMSGETFILESELA = FMS_GETFILESELA; 3939 PFMSGETFILESELA = ^FMS_GETFILESELA; 3940 3941 FMS_GETFILESELW = record 3942 ftTime : FILETIME; 3943 dwSize : DWORD; 3944 bAttr : BYTE; 3945 szName : array[0..259] of WCHAR; 3946 end; 3947 _FMS_GETFILESELW = FMS_GETFILESELW; 3948 TFMSGETFILESELW = FMS_GETFILESELW; 3949 PFMSGETFILESELW = ^FMS_GETFILESELW; 3950 {$ifdef Unicode} 3951 _FMS_GETFILESEL = FMS_GETFILESELW; 3952 TFMSGETFILESEL = FMS_GETFILESELW; 3953 FMS_GETFILESEL = FMS_GETFILESELW; 3954 PFMSGETFILESEL = PFMSGETFILESELW; 3955 {$else} 3956 _FMS_GETFILESEL = FMS_GETFILESELA; 3957 TFMSGETFILESEL = FMS_GETFILESELA; 3958 FMS_GETFILESEL = FMS_GETFILESELA; 3959 PFMSGETFILESEL = PFMSGETFILESELA; 3960 {$endif} 3961 3962 FMS_LOADA = record 3963 dwSize : DWORD; 3964 szMenuName : array[0..(MENU_TEXT_LEN)-1] of AnsiCHAR; 3965 hMenu : HMENU; 3966 wMenuDelta : UINT; 3967 end; 3968 _FMS_LOADA = FMS_LOADA; 3969 TFMSLOADA = FMS_LOADA; 3970 PFMSLOADA = ^FMS_LOADA; 3971 3972 FMS_LOADW = record 3973 dwSize : DWORD; 3974 szMenuName : array[0..(MENU_TEXT_LEN)-1] of WCHAR; 3975 hMenu : HMENU; 3976 wMenuDelta : UINT; 3977 end; 3978 _FMS_LOADW = FMS_LOADW; 3979 TFMSLOADW = FMS_LOADW; 3980 PFMSLOADW = ^FMS_LOADW; 3981 {$ifdef unicode} 3982 _FMS_LOAD = FMS_LOADW; 3983 TFMSLOAD = FMS_LOADW; 3984 PFMSLOAD = PFMSLOADW; 3985 FMS_LOAD = FMS_LOADW; 3986 {$else} 3987 _FMS_LOAD = FMS_LOADA; 3988 TFMSLOAD = FMS_LOADA; 3989 PFMSLOAD = PFMSLOADA; 3990 FMS_LOAD = FMS_LOADA; 3991 {$endif} 3992 3993 FMS_TOOLBARLOAD = record 3994 dwSize : DWORD; 3995 lpButtons : LPEXT_BUTTON; 3996 cButtons : WORD; 3997 cBitmaps : WORD; 3998 idBitmap : WORD; 3999 hBitmap : HBITMAP; 4000 end; 4001 _FMS_TOOLBARLOAD = FMS_TOOLBARLOAD; 4002 TFMSTOOLBARLOAD = FMS_TOOLBARLOAD; 4003 PFMSTOOLBARLOAD = ^FMS_TOOLBARLOAD; 4004 4005 FOCUS_EVENT_RECORD = record 4006 bSetFocus : WINBOOL; 4007 end; 4008 _FOCUS_EVENT_RECORD = FOCUS_EVENT_RECORD; 4009 TFOCUSEVENTRECORD = FOCUS_EVENT_RECORD; 4010 PFOCUSEVENTRECORD = ^FOCUS_EVENT_RECORD; 4011 4012 FORM_INFO_1 = record 4013 Flags : DWORD; 4014 pName : LPTSTR; 4015 Size : SIZEL; 4016 ImageableArea : RECTL; 4017 end; 4018 _FORM_INFO_1 = FORM_INFO_1; 4019 TFORMINFO1 = FORM_INFO_1; 4020 PFORMINFO1 = ^FORM_INFO_1; 4021 4022 FORMAT_PARAMETERS = record 4023 MediaType : MEDIA_TYPE; 4024 StartCylinderNumber : DWORD; 4025 EndCylinderNumber : DWORD; 4026 StartHeadNumber : DWORD; 4027 EndHeadNumber : DWORD; 4028 end; 4029 _FORMAT_PARAMETERS = FORMAT_PARAMETERS; 4030 TFORMATPARAMETERS = FORMAT_PARAMETERS; 4031 PFORMATPARAMETERS = ^FORMAT_PARAMETERS; 4032 4033 FORMATRANGE = record 4034 _hdc : HDC; 4035 hdcTarget : HDC; 4036 rc : RECT; 4037 rcPage : RECT; 4038 chrg : CHARRANGE; 4039 end; 4040 _formatrange = FORMATRANGE; 4041 Tformatrange = FORMATRANGE; 4042 Pformatrange = ^FORMATRANGE; 4043 4044 GCP_RESULTSA = record 4045 lStructSize : DWORD; 4046 lpOutString : LPSTR; 4047 lpOrder : ^UINT; 4048 lpDx : ^WINT; 4049 lpCaretPos : ^WINT; 4050 lpClass : LPSTR; { Unicode-independent, i.e. not LPTSTR } 4051 lpGlyphs : LPWSTR; { Unicode-independent } 4052 nGlyphs : UINT; 4053 nMaxFit : WINT; 4054 end; 4055 LPGCP_RESULTSA = ^GCP_RESULTSA; 4056 tagGCP_RESULTSA= GCP_RESULTSA; 4057 TGCPRESULTSA = GCP_RESULTSA; 4058 PGCPRESULTSA = ^GCP_RESULTSA; 4059 4060 GCP_RESULTSW = record 4061 lStructSize : DWORD; 4062 lpOutString : LPWSTR; 4063 lpOrder : ^UINT; 4064 lpDx : ^WINT; 4065 lpCaretPos : ^WINT; 4066 lpClass : LPSTR; { Unicode-independent, i.e. not LPTSTR } 4067 lpGlyphs : LPWSTR; { Unicode-independent } 4068 nGlyphs : UINT; 4069 nMaxFit : WINT; 4070 end; 4071 LPGCP_RESULTSW = ^GCP_RESULTSW; 4072 tagGCP_RESULTSW = GCP_RESULTSW; 4073 TGCPRESULTSW = GCP_RESULTSW; 4074 PGCPRESULTSW = ^GCP_RESULTSW; 4075 4076 {$ifdef Unicode} 4077 LPGCP_RESULTS = ^GCP_RESULTSW; 4078 tagGCP_RESULTS = GCP_RESULTSW; 4079 TGCPRESULTS = GCP_RESULTSW; 4080 GCPRESULTS = GCP_RESULTSW; 4081 PGCPRESULTS = ^GCP_RESULTSW; 4082 {$else} 4083 LPGCP_RESULTS = ^GCP_RESULTSA; 4084 tagGCP_RESULTS = GCP_RESULTSA; 4085 TGCPRESULTS = GCP_RESULTSA; 4086 GCPRESULTS = GCP_RESULTSA; 4087 PGCPRESULTS = ^GCP_RESULTSA; 4088 {$endif} 4089 4090 GENERIC_MAPPING = record 4091 GenericRead : ACCESS_MASK; 4092 GenericWrite : ACCESS_MASK; 4093 GenericExecute : ACCESS_MASK; 4094 GenericAll : ACCESS_MASK; 4095 end; 4096 PGENERIC_MAPPING = ^GENERIC_MAPPING; 4097 _GENERIC_MAPPING = GENERIC_MAPPING; 4098 TGENERICMAPPING = GENERIC_MAPPING; 4099 PGENERICMAPPING = ^GENERIC_MAPPING; 4100 4101 GLYPHMETRICS = record 4102 gmBlackBoxX : UINT; 4103 gmBlackBoxY : UINT; 4104 gmptGlyphOrigin : POINT; 4105 gmCellIncX : SHORT; 4106 gmCellIncY : SHORT; 4107 end; 4108 LPGLYPHMETRICS = ^GLYPHMETRICS; 4109 _GLYPHMETRICS = GLYPHMETRICS; 4110 TGLYPHMETRICS = GLYPHMETRICS; 4111 PGLYPHMETRICS = ^GLYPHMETRICS; 4112 4113 HANDLETABLE = record 4114 objectHandle : array[0..0] of HGDIOBJ; 4115 end; 4116 tagHANDLETABLE = HANDLETABLE; 4117 THANDLETABLE = HANDLETABLE; 4118 LPHANDLETABLE = ^HANDLETABLE; 4119 4120 HD_HITTESTINFO = record 4121 pt : POINT; 4122 flags : UINT; 4123 iItem : longint; 4124 end; 4125 _HD_HITTESTINFO = HD_HITTESTINFO; 4126 THDHITTESTINFO = HD_HITTESTINFO; 4127 PHDHITTESTINFO = ^HD_HITTESTINFO; 4128 4129 HD_ITEM = record 4130 mask : UINT; 4131 cxy : longint; 4132 pszText : LPTSTR; 4133 hbm : HBITMAP; 4134 cchTextMax : longint; 4135 fmt : longint; 4136 lParam : LPARAM; 4137 end; 4138 _HD_ITEM = HD_ITEM; 4139 THDITEM = HD_ITEM; 4140 PHDITEM = ^HD_ITEM; 4141 4142 WINDOWPOS = record 4143 _hwnd : HWND; 4144 hwndInsertAfter : HWND; 4145 x : longint; 4146 y : longint; 4147 cx : longint; 4148 cy : longint; 4149 flags : UINT; 4150 end; 4151 LPWINDOWPOS = ^WINDOWPOS; 4152 _WINDOWPOS = WINDOWPOS; 4153 TWINDOWPOS = WINDOWPOS; 4154 PWINDOWPOS = ^WINDOWPOS; 4155 4156 PWindowInfo = ^TWindowInfo; 4157 LPWindowInfo = ^TWindowInfo; 4158 tagWINDOWINFO = record 4159 cbSize: DWORD; 4160 rcWindow: TRect; 4161 rcClient: TRect; 4162 dwStyle: DWORD; 4163 dwExStyle: DWORD; 4164 dwWindowStatus: DWORD; 4165 cxWindowBorders: UINT; 4166 cyWindowBorders: UINT; 4167 atomWindowType: TAtom; 4168 wCreatorVersion: WORD; 4169 end; 4170 TWindowInfo = tagWINDOWINFO; 4171 4172 HD_LAYOUT = record 4173 prc : ^RECT; 4174 pwpos : ^WINDOWPOS; 4175 end; 4176 _HD_LAYOUT = HD_LAYOUT; 4177 THDLAYOUT = HD_LAYOUT; 4178 PHDLAYOUT = ^HD_LAYOUT; 4179 4180 HD_NOTIFY = record 4181 hdr : NMHDR; 4182 iItem : longint; 4183 iButton : longint; 4184 pitem : ^HD_ITEM; 4185 end; 4186 _HD_NOTIFY = HD_NOTIFY; 4187 THDNOTIFY = HD_NOTIFY; 4188 PHDNOTIFY = ^HD_NOTIFY; 4189 4190 HELPINFO = record 4191 cbSize : UINT; 4192 iContextType : longint; 4193 iCtrlId : longint; 4194 hItemHandle : HANDLE; 4195 dwContextId : DWORD_PTR; 4196 // NOTE: this is defined as DWORD in http://msdn.microsoft.com/en-us/library/windows/desktop/bb773313%28v=vs.85%29.asp 4197// but mingw has it as DWORD_PTR, so we will use that 4198 MousePos : POINT; 4199 end; 4200 LPHELPINFO = ^HELPINFO; 4201 tagHELPINFO = HELPINFO; 4202 THELPINFO = HELPINFO; 4203 PHELPINFO = ^HELPINFO; 4204 4205 HELPWININFOA = record 4206 wStructSize : longint; 4207 x : longint; 4208 y : longint; 4209 dx : longint; 4210 dy : longint; 4211 wMax : longint; 4212 rgchMember : array[0..1] of AnsiCHAR; 4213 end; 4214 THELPWININFOA = HELPWININFOA; 4215 PHELPWININFOA = ^HELPWININFOA; 4216 4217 HELPWININFOW = record 4218 wStructSize : longint; 4219 x : longint; 4220 y : longint; 4221 dx : longint; 4222 dy : longint; 4223 wMax : longint; 4224 rgchMember : array[0..1] of WCHAR; 4225 end; 4226 THELPWININFOW = HELPWININFOW; 4227 PHELPWININFOW = ^HELPWININFOW; 4228 4229 {$ifdef Unicode} 4230 HELPWININFO = HELPWININFOW; 4231 THELPWININFO = HELPWININFOW; 4232 PHELPWININFO = PHELPWININFOW; 4233 {$else} 4234 HELPWININFO = HELPWININFOA; 4235 THELPWININFO = HELPWININFOA; 4236 PHELPWININFO = PHELPWININFOA; 4237 {$endif} 4238 4239 HIGHCONTRAST = record 4240 cbSize : UINT; 4241 dwFlags : DWORD; 4242 lpszDefaultScheme : LPTSTR; 4243 end; 4244 LPHIGHCONTRAST = ^HIGHCONTRAST; 4245 tagHIGHCONTRAST = HIGHCONTRAST; 4246 THIGHCONTRAST = HIGHCONTRAST; 4247 PHIGHCONTRAST = ^HIGHCONTRAST; 4248 4249 HSZPAIR = record 4250 hszSvc : HSZ; 4251 hszTopic : HSZ; 4252 end; 4253 tagHSZPAIR = HSZPAIR; 4254 THSZPAIR = HSZPAIR; 4255 PHSZPAIR = ^HSZPAIR; 4256 4257 ICONINFO = record 4258 fIcon : WINBOOL; 4259 xHotspot : DWORD; 4260 yHotspot : DWORD; 4261 hbmMask : HBITMAP; 4262 hbmColor : HBITMAP; 4263 end; 4264 _ICONINFO = ICONINFO; 4265 TICONINFO = ICONINFO; 4266 PICONINFO = ^ICONINFO; 4267 4268 ICONMETRICS = record 4269 cbSize : UINT; 4270 iHorzSpacing : longint; 4271 iVertSpacing : longint; 4272 iTitleWrap : longint; 4273 lfFont : LOGFONT; 4274 end; 4275 LPICONMETRICS = ^ICONMETRICS; 4276 tagICONMETRICS = ICONMETRICS; 4277 TICONMETRICS = ICONMETRICS; 4278 PICONMETRICS = ^ICONMETRICS; 4279 4280 IMAGEINFO = record 4281 hbmImage : HBITMAP; 4282 hbmMask : HBITMAP; 4283 Unused1 : longint; 4284 Unused2 : longint; 4285 rcImage : RECT; 4286 end; 4287 _IMAGEINFO = IMAGEINFO; 4288 TIMAGEINFO = IMAGEINFO; 4289 PIMAGEINFO = ^IMAGEINFO; 4290 4291 KEY_EVENT_RECORD = packed record 4292 bKeyDown : WINBOOL; 4293 wRepeatCount : WORD; 4294 wVirtualKeyCode : WORD; 4295 wVirtualScanCode : WORD; 4296 case longint of 4297 0 : ( UnicodeChar : WCHAR; 4298 dwControlKeyState : DWORD; ); 4299 1 : ( AsciiChar : CHAR ); 4300 end; 4301 _KEY_EVENT_RECORD = KEY_EVENT_RECORD; 4302 TKEYEVENTRECORD = KEY_EVENT_RECORD; 4303 PKEYEVENTRECORD = ^KEY_EVENT_RECORD; 4304 4305 MOUSE_EVENT_RECORD = record 4306 dwMousePosition : COORD; 4307 dwButtonState : DWORD; 4308 dwControlKeyState : DWORD; 4309 dwEventFlags : DWORD; 4310 end; 4311 _MOUSE_EVENT_RECORD = MOUSE_EVENT_RECORD; 4312 TMOUSEEVENTRECORD = MOUSE_EVENT_RECORD; 4313 PMOUSEEVENTRECORD = ^MOUSE_EVENT_RECORD; 4314 4315 WINDOW_BUFFER_SIZE_RECORD = record 4316 dwSize : COORD; 4317 end; 4318 _WINDOW_BUFFER_SIZE_RECORD = WINDOW_BUFFER_SIZE_RECORD; 4319 TWINDOWBUFFERSIZERECORD = WINDOW_BUFFER_SIZE_RECORD; 4320 PWINDOWBUFFERSIZERECORD = ^WINDOW_BUFFER_SIZE_RECORD; 4321 4322 MENU_EVENT_RECORD = record 4323 dwCommandId : UINT; 4324 end; 4325 PMENU_EVENT_RECORD = ^MENU_EVENT_RECORD; 4326 _MENU_EVENT_RECORD = MENU_EVENT_RECORD; 4327 TMENUEVENTRECORD = MENU_EVENT_RECORD; 4328 PMENUEVENTRECORD = ^MENU_EVENT_RECORD; 4329 4330 INPUT_RECORD = record 4331 EventType: Word; 4332 Reserved: Word; 4333 Event : record case longint of 4334 0 : ( KeyEvent : KEY_EVENT_RECORD ); 4335 1 : ( MouseEvent : MOUSE_EVENT_RECORD ); 4336 2 : ( WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD ); 4337 3 : ( MenuEvent : MENU_EVENT_RECORD ); 4338 4 : ( FocusEvent : FOCUS_EVENT_RECORD ); 4339 end; 4340 end; 4341 PINPUT_RECORD = ^INPUT_RECORD; 4342 _INPUT_RECORD = INPUT_RECORD; 4343 TINPUTRECORD = INPUT_RECORD; 4344 PINPUTRECORD = ^INPUT_RECORD; 4345 4346 SYSTEMTIME = record 4347 case integer of 4348 1 : ( 4349 wYear : WORD; 4350 wMonth : WORD; 4351 wDayOfWeek : WORD; 4352 wDay : WORD; 4353 wHour : WORD; 4354 wMinute : WORD; 4355 wSecond : WORD; 4356 wMilliseconds : WORD; 4357 ); 4358 { Compatibility for FPC } 4359 2 : ( 4360 Year : WORD; 4361 Month : WORD; 4362 DayOfWeek : WORD; 4363 Day : WORD; 4364 Hour : WORD; 4365 Minute : WORD; 4366 Second : WORD; 4367 Millisecond : WORD; 4368 ); 4369 end; 4370 LPSYSTEMTIME = ^SYSTEMTIME; 4371 _SYSTEMTIME = SYSTEMTIME; 4372 TSYSTEMTIME = SYSTEMTIME; 4373 PSYSTEMTIME = ^SYSTEMTIME; 4374 4375 JOB_INFO_1 = record 4376 JobId : DWORD; 4377 pPrinterName : LPTSTR; 4378 pMachineName : LPTSTR; 4379 pUserName : LPTSTR; 4380 pDocument : LPTSTR; 4381 pDatatype : LPTSTR; 4382 pStatus : LPTSTR; 4383 Status : DWORD; 4384 Priority : DWORD; 4385 Position : DWORD; 4386 TotalPages : DWORD; 4387 PagesPrinted : DWORD; 4388 Submitted : SYSTEMTIME; 4389 end; 4390 _JOB_INFO_1 = JOB_INFO_1; 4391 TJOBINFO1 = JOB_INFO_1; 4392 PJOBINFO1 = ^JOB_INFO_1; 4393 4394 SID_IDENTIFIER_AUTHORITY = record 4395 Value : array[0..5] of BYTE; 4396 end; 4397 LPSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY; 4398 PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY; 4399 _SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY; 4400 TSIDIDENTIFIERAUTHORITY = SID_IDENTIFIER_AUTHORITY; 4401 PSIDIDENTIFIERAUTHORITY = ^SID_IDENTIFIER_AUTHORITY; 4402 4403 SID = record 4404 Revision : BYTE; 4405 SubAuthorityCount : BYTE; 4406 IdentifierAuthority : SID_IDENTIFIER_AUTHORITY; 4407 SubAuthority : array[0..(ANYSIZE_ARRAY)-1] of DWORD; 4408 end; 4409 _SID = SID; 4410 TSID = SID; 4411 PSID = ^SID; 4412 4413 SECURITY_DESCRIPTOR_CONTROL = WORD; 4414 PSECURITY_DESCRIPTOR_CONTROL = ^SECURITY_DESCRIPTOR_CONTROL; 4415 TSECURITYDESCRIPTORCONTROL = SECURITY_DESCRIPTOR_CONTROL; 4416 PSECURITYDESCRIPTORCONTROL = ^SECURITY_DESCRIPTOR_CONTROL; 4417 4418 SECURITY_DESCRIPTOR = record 4419 Revision : BYTE; 4420 Sbz1 : BYTE; 4421 Control : SECURITY_DESCRIPTOR_CONTROL; 4422 Owner : PSID; 4423 Group : PSID; 4424 Sacl : PACL; 4425 Dacl : PACL; 4426 end; 4427 PSECURITY_DESCRIPTOR = ^SECURITY_DESCRIPTOR; 4428 _SECURITY_DESCRIPTOR = SECURITY_DESCRIPTOR; 4429 TSECURITYDESCRIPTOR = SECURITY_DESCRIPTOR; 4430 PSECURITYDESCRIPTOR = ^SECURITY_DESCRIPTOR; 4431 4432 JOB_INFO_2 = record 4433 JobId : DWORD; 4434 pPrinterName : LPTSTR; 4435 pMachineName : LPTSTR; 4436 pUserName : LPTSTR; 4437 pDocument : LPTSTR; 4438 pNotifyName : LPTSTR; 4439 pDatatype : LPTSTR; 4440 pPrintProcessor : LPTSTR; 4441 pParameters : LPTSTR; 4442 pDriverName : LPTSTR; 4443 pDevMode : LPDEVMODE; 4444 pStatus : LPTSTR; 4445 pSecurityDescriptor : PSECURITY_DESCRIPTOR; 4446 Status : DWORD; 4447 Priority : DWORD; 4448 Position : DWORD; 4449 StartTime : DWORD; 4450 UntilTime : DWORD; 4451 TotalPages : DWORD; 4452 Size : DWORD; 4453 Submitted : SYSTEMTIME; 4454 Time : DWORD; 4455 PagesPrinted : DWORD; 4456 end; 4457 _JOB_INFO_2 = JOB_INFO_2; 4458 TJOBINFO2 = JOB_INFO_2; 4459 PJOBINFO2 = ^JOB_INFO_2; 4460 4461 KERNINGPAIR = record 4462 wFirst : WORD; 4463 wSecond : WORD; 4464 iKernAmount : longint; 4465 end; 4466 LPKERNINGPAIR = ^KERNINGPAIR; 4467 tagKERNINGPAIR = KERNINGPAIR; 4468 TKERNINGPAIR = KERNINGPAIR; 4469 PKERNINGPAIR = ^KERNINGPAIR; 4470 4471 LANA_ENUM = record 4472 length : UCHAR; 4473 lana : array[0..(MAX_LANA)-1] of UCHAR; 4474 end; 4475 _LANA_ENUM = LANA_ENUM; 4476 TLANAENUM = LANA_ENUM; 4477 PLANAENUM = ^LANA_ENUM; 4478 4479 LDT_ENTRY = record 4480 LimitLow : WORD; 4481 BaseLow : WORD; 4482 HighWord : record 4483 case longint of 4484 0 : ( Bytes : record 4485 BaseMid : BYTE; 4486 Flags1 : BYTE; 4487 Flags2 : BYTE; 4488 BaseHi : BYTE; 4489 end ); 4490 1 : ( Bits : record 4491 flag0 : longint; 4492 end ); 4493 end; 4494 end; 4495 LPLDT_ENTRY = ^LDT_ENTRY; 4496 PLDT_ENTRY = ^LDT_ENTRY; 4497 _LDT_ENTRY = LDT_ENTRY; 4498 TLDTENTRY = LDT_ENTRY; 4499 PLDTENTRY = ^LDT_ENTRY; 4500 4501 const 4502 bm_LDT_ENTRY_BaseMid = $FF; 4503 bp_LDT_ENTRY_BaseMid = 0; 4504 bm_LDT_ENTRY_Type = $1F00; 4505 bp_LDT_ENTRY_Type = 8; 4506 bm_LDT_ENTRY_Dpl = $6000; 4507 bp_LDT_ENTRY_Dpl = 13; 4508 bm_LDT_ENTRY_Pres = $8000; 4509 bp_LDT_ENTRY_Pres = 15; 4510 bm_LDT_ENTRY_LimitHi = $F0000; 4511 bp_LDT_ENTRY_LimitHi = 16; 4512 bm_LDT_ENTRY_Sys = $100000; 4513 bp_LDT_ENTRY_Sys = 20; 4514 bm_LDT_ENTRY_Reserved_0 = $200000; 4515 bp_LDT_ENTRY_Reserved_0 = 21; 4516 bm_LDT_ENTRY_Default_Big = $400000; 4517 bp_LDT_ENTRY_Default_Big = 22; 4518 bm_LDT_ENTRY_Granularity = $800000; 4519 bp_LDT_ENTRY_Granularity = 23; 4520 bm_LDT_ENTRY_BaseHi = $FF000000; 4521 bp_LDT_ENTRY_BaseHi = 24; 4522 4523 type 4524 4525 LOCALESIGNATURE = record 4526 lsUsb : array[0..3] of DWORD; 4527 lsCsbDefault : array[0..1] of DWORD; 4528 lsCsbSupported : array[0..1] of DWORD; 4529 end; 4530 tagLOCALESIGNATURE = LOCALESIGNATURE; 4531 TLOCALESIGNATURE = LOCALESIGNATURE; 4532 PLOCALESIGNATURE = ^LOCALESIGNATURE; 4533 4534 LOCALGROUP_MEMBERS_INFO_0 = record 4535 lgrmi0_sid : PSID; 4536 end; 4537 _LOCALGROUP_MEMBERS_INFO_0 = LOCALGROUP_MEMBERS_INFO_0; 4538 TLOCALGROUPMEMBERSINFO0 = LOCALGROUP_MEMBERS_INFO_0; 4539 PLOCALGROUPMEMBERSINFO0 = ^LOCALGROUP_MEMBERS_INFO_0; 4540 4541 LOCALGROUP_MEMBERS_INFO_3 = record 4542 lgrmi3_domainandname : LPWSTR; 4543 end; 4544 _LOCALGROUP_MEMBERS_INFO_3 = LOCALGROUP_MEMBERS_INFO_3; 4545 TLOCALGROUPMEMBERSINFO3 = LOCALGROUP_MEMBERS_INFO_3; 4546 PLOCALGROUPMEMBERSINFO3 = ^LOCALGROUP_MEMBERS_INFO_3; 4547 4548 FXPT16DOT16 = longint; 4549 LPFXPT16DOT16 = ^FXPT16DOT16; 4550 TFXPT16DOT16 = FXPT16DOT16; 4551 PFXPT16DOT16 = ^FXPT16DOT16; 4552 4553 LUID = TlargeInteger; 4554 TLUID = LUID; 4555 PLUID = ^LUID; 4556 4557 LUID_AND_ATTRIBUTES = packed record 4558 Luid : LUID; 4559 Attributes : DWORD; 4560 end; 4561 _LUID_AND_ATTRIBUTES = LUID_AND_ATTRIBUTES; 4562 TLUIDANDATTRIBUTES = LUID_AND_ATTRIBUTES; 4563 PLUIDANDATTRIBUTES = ^LUID_AND_ATTRIBUTES; 4564 4565 LUID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES; 4566 PLUID_AND_ATTRIBUTES_ARRAY = ^LUID_AND_ATTRIBUTES_ARRAY; 4567 TLUIDANDATTRIBUTESARRAY = LUID_AND_ATTRIBUTES_ARRAY; 4568 PLUIDANDATTRIBUTESARRAY = ^LUID_AND_ATTRIBUTES_ARRAY; 4569 4570 LV_COLUMN = record 4571 mask : UINT; 4572 fmt : longint; 4573 cx : longint; 4574 pszText : LPTSTR; 4575 cchTextMax : longint; 4576 iSubItem : longint; 4577 end; 4578 _LV_COLUMN = LV_COLUMN; 4579 TLVCOLUMN = LV_COLUMN; 4580 PLVCOLUMN = ^LV_COLUMN; 4581 4582 LV_ITEM = record 4583 mask : UINT; 4584 iItem : longint; 4585 iSubItem : longint; 4586 state : UINT; 4587 stateMask : UINT; 4588 pszText : LPTSTR; 4589 cchTextMax : longint; 4590 iImage : longint; 4591 lParam : LPARAM; 4592 end; 4593 _LV_ITEM = LV_ITEM; 4594 TLVITEM = LV_ITEM; 4595 PLVITEM = ^LV_ITEM; 4596 4597 LV_DISPINFO = record 4598 hdr : NMHDR; 4599 item : LV_ITEM; 4600 end; 4601 tagLV_DISPINFO = LV_DISPINFO; 4602 TLVDISPINFO = LV_DISPINFO; 4603 PLVDISPINFO = ^LV_DISPINFO; 4604 4605 LV_FINDINFO = record 4606 flags : UINT; 4607 psz : LPCTSTR; 4608 lParam : LPARAM; 4609 pt : POINT; 4610 vkDirection : UINT; 4611 end; 4612 _LV_FINDINFO = LV_FINDINFO; 4613 TLVFINDINFO = LV_FINDINFO; 4614 PLVFINDINFO = ^LV_FINDINFO; 4615 4616 LV_HITTESTINFO = record 4617 pt : POINT; 4618 flags : UINT; 4619 iItem : longint; 4620 iSubItem : longint; 4621 iGroup : longint; 4622 end; 4623 _LV_HITTESTINFO = LV_HITTESTINFO; 4624 TLVHITTESTINFO = LV_HITTESTINFO; 4625 PLVHITTESTINFO = ^LV_HITTESTINFO; 4626 4627 LV_KEYDOWN = record 4628 hdr : NMHDR; 4629 wVKey : WORD; 4630 flags : UINT; 4631 end; 4632 tagLV_KEYDOWN = LV_KEYDOWN; 4633 TLVKEYDOWN = LV_KEYDOWN; 4634 PLVKEYDOWN = ^LV_KEYDOWN; 4635 4636 MAT2 = packed record 4637 eM11 : FIXED; 4638 eM12 : FIXED; 4639 eM21 : FIXED; 4640 eM22 : FIXED; 4641 end; 4642 _MAT2 = MAT2; 4643 TMAT2 = MAT2; 4644 PMAT2 = ^MAT2; 4645 4646 MDICREATESTRUCT = record 4647 szClass : LPCTSTR; 4648 szTitle : LPCTSTR; 4649 hOwner : HANDLE; 4650 x : longint; 4651 y : longint; 4652 cx : longint; 4653 cy : longint; 4654 style : DWORD; 4655 lParam : LPARAM; 4656 end; 4657 LPMDICREATESTRUCT = ^MDICREATESTRUCT; 4658 tagMDICREATESTRUCT = MDICREATESTRUCT; 4659 TMDICREATESTRUCT = MDICREATESTRUCT; 4660 PMDICREATESTRUCT = ^MDICREATESTRUCT; 4661 4662 MEASUREITEMSTRUCT = record 4663 CtlType : UINT; 4664 CtlID : UINT; 4665 itemID : UINT; 4666 itemWidth : UINT; 4667 itemHeight : UINT; 4668 itemData : ULONG_PTR; 4669 end; 4670 LPMEASUREITEMSTRUCT = ^MEASUREITEMSTRUCT; 4671 tagMEASUREITEMSTRUCT = MEASUREITEMSTRUCT; 4672 TMEASUREITEMSTRUCT = MEASUREITEMSTRUCT; 4673 PMEASUREITEMSTRUCT = ^MEASUREITEMSTRUCT; 4674 4675 MEMORY_BASIC_INFORMATION = record 4676 BaseAddress : PVOID; 4677 AllocationBase : PVOID; 4678 AllocationProtect : DWORD; 4679 RegionSize : PTRUINT; // MvdV: size_t in win SDK 6.0. 4680 State : DWORD; 4681 Protect : DWORD; 4682 _Type : DWORD; 4683 end; 4684 PMEMORY_BASIC_INFORMATION = ^MEMORY_BASIC_INFORMATION; 4685 _MEMORY_BASIC_INFORMATION = MEMORY_BASIC_INFORMATION; 4686 TMEMORYBASICINFORMATION = MEMORY_BASIC_INFORMATION; 4687 PMEMORYBASICINFORMATION = ^MEMORY_BASIC_INFORMATION; 4688 4689 MEMORYSTATUS = record 4690 dwLength : DWORD; 4691 dwMemoryLoad : DWORD; 4692 dwTotalPhys : SIZE_T; 4693 dwAvailPhys : SIZE_T; 4694 dwTotalPageFile : SIZE_T; 4695 dwAvailPageFile : SIZE_T; 4696 dwTotalVirtual : SIZE_T; 4697 dwAvailVirtual : SIZE_T; 4698 end; 4699 LPMEMORYSTATUS = ^MEMORYSTATUS; 4700 _MEMORYSTATUS = MEMORYSTATUS; 4701 TMEMORYSTATUS = MEMORYSTATUS; 4702 PMEMORYSTATUS = ^MEMORYSTATUS; 4703 4704 MENUEX_TEMPLATE_HEADER = record 4705 wVersion : WORD; 4706 wOffset : WORD; 4707 dwHelpId : DWORD; 4708 end; 4709 TMENUXTEMPLATEHEADER = MENUEX_TEMPLATE_HEADER; 4710 PMENUXTEMPLATEHEADER = ^MENUEX_TEMPLATE_HEADER; 4711 4712 MENUEX_TEMPLATE_ITEM = record 4713 dwType : DWORD; 4714 dwState : DWORD; 4715 uId : UINT; 4716 bResInfo : BYTE; 4717 szText : array[0..0] of WCHAR; 4718 dwHelpId : DWORD; 4719 end; 4720 TMENUEXTEMPLATEITEM = MENUEX_TEMPLATE_ITEM; 4721 PMENUEXTEMPLATEITEM = ^MENUEX_TEMPLATE_ITEM; 4722 4723 MENUINFO = record 4724 cbSize : DWORD; 4725 fMask : DWORD; 4726 dwStyle : DWORD; 4727 cyMax : UINT; 4728 hbrBack : HBRUSH; 4729 dwContextHelpID : DWORD; 4730 dwMenuData : ULONG_PTR; 4731 end; 4732 LPMENUINFO = ^MENUINFO; 4733 LPCMENUINFO = ^MENUINFO; 4734 tagMENUINFO = MENUINFO; 4735 TMENUINFO = MENUINFO; 4736 PMENUINFO = ^MENUINFO; 4737 4738 MENUITEMINFOA = record 4739 cbSize : UINT; 4740 fMask : UINT; 4741 fType : UINT; 4742 fState : UINT; 4743 wID : UINT; 4744 hSubMenu : HMENU; 4745 hbmpChecked : HBITMAP; 4746 hbmpUnchecked : HBITMAP; 4747 dwItemData : ULONG_PTR; 4748 dwTypeData : LPSTR; 4749 cch : UINT; 4750 hbmpItem : HBITMAP; 4751 end; 4752 LPMENUITEMINFOA = ^MENUITEMINFOA; 4753 LPCMENUITEMINFOA = ^MENUITEMINFOA; 4754 tagMENUITEMINFOA = MENUITEMINFOA; 4755 TMENUITEMINFOA = MENUITEMINFOA; 4756 PMENUITEMINFOA = ^MENUITEMINFOA; 4757 4758 MENUITEMINFOW = record 4759 cbSize : UINT; 4760 fMask : UINT; 4761 fType : UINT; 4762 fState : UINT; 4763 wID : UINT; 4764 hSubMenu : HMENU; 4765 hbmpChecked : HBITMAP; 4766 hbmpUnchecked : HBITMAP; 4767 dwItemData : ULONG_PTR; 4768 dwTypeData : LPWSTR; 4769 cch : UINT; 4770 hbmpItem : HBITMAP; 4771 end; 4772 LPMENUITEMINFOW = ^MENUITEMINFOW; 4773 LPCMENUITEMINFOW = ^MENUITEMINFOW; 4774 tagMENUITEMINFOW = MENUITEMINFOW; 4775 TMENUITEMINFOW = MENUITEMINFOW; 4776 PMENUITEMINFOW = ^MENUITEMINFOW; 4777 {$ifdef unicode} 4778 LPMENUITEMINFO = ^MENUITEMINFOW; 4779 LPCMENUITEMINFO = ^MENUITEMINFOW; 4780 tagMENUITEMINFO = MENUITEMINFOW; 4781 TMENUITEMINFO = MENUITEMINFOW; 4782 PMENUITEMINFO = ^MENUITEMINFOW; 4783 MENUITEMINFO = MENUITEMINFOW; 4784 {$ELSE} 4785 LPMENUITEMINFO = ^MENUITEMINFOA; 4786 LPCMENUITEMINFO = ^MENUITEMINFOA; 4787 tagMENUITEMINFO = MENUITEMINFOA; 4788 TMENUITEMINFO = MENUITEMINFOA; 4789 PMENUITEMINFO = ^MENUITEMINFOA; 4790 MENUITEMINFO = MENUITEMINFOA; 4791 {$ENDIF} 4792 4793 MENUITEMTEMPLATE = record 4794 mtOption : WORD; 4795 mtID : WORD; 4796 mtString : array[0..0] of WCHAR; 4797 end; 4798 TMENUITEMTEMPLATE = MENUITEMTEMPLATE; 4799 PMENUITEMTEMPLATE = ^MENUITEMTEMPLATE; 4800 4801 MENUITEMTEMPLATEHEADER = record 4802 versionNumber : WORD; 4803 offset : WORD; 4804 end; 4805 TMENUITEMTEMPLATEHEADER = MENUITEMTEMPLATEHEADER; 4806 PMENUITEMTEMPLATEHEADER = ^MENUITEMTEMPLATEHEADER; 4807 4808 MENUTEMPLATE = record 4809 end; 4810 LPMENUTEMPLATE = ^MENUTEMPLATE; 4811 TMENUTEMPLATE = MENUTEMPLATE; 4812 PMENUTEMPLATE = ^MENUTEMPLATE; 4813 4814 METAFILEPICT = record 4815 mm : LONG; 4816 xExt : LONG; 4817 yExt : LONG; 4818 hMF : HMETAFILE; 4819 end; 4820 LPMETAFILEPICT = ^METAFILEPICT; 4821 tagMETAFILEPICT = METAFILEPICT; 4822 TMETAFILEPICT = METAFILEPICT; 4823 PMETAFILEPICT = ^METAFILEPICT; 4824 4825 METAHEADER = packed record 4826 mtType : WORD; 4827 mtHeaderSize : WORD; 4828 mtVersion : WORD; 4829 mtSize : DWORD; 4830 mtNoObjects : WORD; 4831 mtMaxRecord : DWORD; 4832 mtNoParameters : WORD; 4833 end; 4834 tagMETAHEADER = METAHEADER; 4835 TMETAHEADER = METAHEADER; 4836 PMETAHEADER = ^METAHEADER; 4837 4838 METARECORD = record 4839 rdSize : DWORD; 4840 rdFunction : WORD; 4841 rdParm : array[0..0] of WORD; 4842 end; 4843 LPMETARECORD = ^METARECORD; 4844 tagMETARECORD = METARECORD; 4845 TMETARECORD = METARECORD; 4846 PMETARECORD = ^METARECORD; 4847 4848 MINIMIZEDMETRICS = record 4849 cbSize : UINT; 4850 iWidth : longint; 4851 iHorzGap : longint; 4852 iVertGap : longint; 4853 iArrange : longint; 4854 end; 4855 LPMINIMIZEDMETRICS = ^MINIMIZEDMETRICS; 4856 tagMINIMIZEDMETRICS = MINIMIZEDMETRICS; 4857 TMINIMIZEDMETRICS = MINIMIZEDMETRICS; 4858 PMINIMIZEDMETRICS = ^MINIMIZEDMETRICS; 4859 4860 MINMAXINFO = record 4861 ptReserved : POINT; 4862 ptMaxSize : POINT; 4863 ptMaxPosition : POINT; 4864 ptMinTrackSize : POINT; 4865 ptMaxTrackSize : POINT; 4866 end; 4867 tagMINMAXINFO = MINMAXINFO; 4868 TMINMAXINFO = MINMAXINFO; 4869 PMINMAXINFO = ^MINMAXINFO; 4870 4871 MODEMDEVCAPS = record 4872 dwActualSize : DWORD; 4873 dwRequiredSize : DWORD; 4874 dwDevSpecificOffset : DWORD; 4875 dwDevSpecificSize : DWORD; 4876 dwModemProviderVersion : DWORD; 4877 dwModemManufacturerOffset : DWORD; 4878 dwModemManufacturerSize : DWORD; 4879 dwModemModelOffset : DWORD; 4880 dwModemModelSize : DWORD; 4881 dwModemVersionOffset : DWORD; 4882 dwModemVersionSize : DWORD; 4883 dwDialOptions : DWORD; 4884 dwCallSetupFailTimer : DWORD; 4885 dwInactivityTimeout : DWORD; 4886 dwSpeakerVolume : DWORD; 4887 dwSpeakerMode : DWORD; 4888 dwModemOptions : DWORD; 4889 dwMaxDTERate : DWORD; 4890 dwMaxDCERate : DWORD; 4891 abVariablePortion : array[0..0] of BYTE; 4892 end; 4893 LPMODEMDEVCAPS = ^MODEMDEVCAPS; 4894 TMODEMDEVCAPS = MODEMDEVCAPS; 4895 PMODEMDEVCAPS = ^MODEMDEVCAPS; 4896 4897 modemdevcaps_tag = MODEMDEVCAPS; 4898 4899 MODEMSETTINGS = record 4900 dwActualSize : DWORD; 4901 dwRequiredSize : DWORD; 4902 dwDevSpecificOffset : DWORD; 4903 dwDevSpecificSize : DWORD; 4904 dwCallSetupFailTimer : DWORD; 4905 dwInactivityTimeout : DWORD; 4906 dwSpeakerVolume : DWORD; 4907 dwSpeakerMode : DWORD; 4908 dwPreferredModemOptions : DWORD; 4909 dwNegotiatedModemOptions : DWORD; 4910 dwNegotiatedDCERate : DWORD; 4911 abVariablePortion : array[0..0] of BYTE; 4912 end; 4913 LPMODEMSETTINGS = ^MODEMSETTINGS; 4914 TMODEMSETTINGS = MODEMSETTINGS; 4915 PMODEMSETTINGS = ^MODEMSETTINGS; 4916 4917 modemsettings_tag = MODEMSETTINGS; 4918 4919 MONCBSTRUCT = record 4920 cb : UINT; 4921 dwTime : DWORD; 4922 hTask : HANDLE; 4923 dwRet : DWORD; 4924 wType : UINT; 4925 wFmt : UINT; 4926 hConv : HCONV; 4927 hsz1 : HSZ; 4928 hsz2 : HSZ; 4929 hData : HDDEDATA; 4930 dwData1 : ULONG_PTR; 4931 dwData2 : ULONG_PTR; 4932 cc : CONVCONTEXT; 4933 cbData : DWORD; 4934 Data : array[0..7] of DWORD; 4935 end; 4936 tagMONCBSTRUCT = MONCBSTRUCT; 4937 TMONCBSTRUCT = MONCBSTRUCT; 4938 PMONCBSTRUCT = ^MONCBSTRUCT; 4939 4940 MONCONVSTRUCT = record 4941 cb : UINT; 4942 fConnect : WINBOOL; 4943 dwTime : DWORD; 4944 hTask : HANDLE; 4945 hszSvc : HSZ; 4946 hszTopic : HSZ; 4947 hConvClient : HCONV; 4948 hConvServer : HCONV; 4949 end; 4950 tagMONCONVSTRUCT = MONCONVSTRUCT; 4951 TMONCONVSTRUCT = MONCONVSTRUCT; 4952 PMONCONVSTRUCT = ^MONCONVSTRUCT; 4953 4954 MONERRSTRUCT = record 4955 cb : UINT; 4956 wLastError : UINT; 4957 dwTime : DWORD; 4958 hTask : HANDLE; 4959 end; 4960 tagMONERRSTRUCT = MONERRSTRUCT; 4961 TMONERRSTRUCT = MONERRSTRUCT; 4962 PMONERRSTRUCT = ^MONERRSTRUCT; 4963 4964 MONHSZSTRUCTA = record 4965 cb : UINT; 4966 fsAction : WINBOOL; 4967 dwTime : DWORD; 4968 hsz : HSZ; 4969 hTask : HANDLE; 4970 str : array[0..0] of AnsiCHAR; 4971 end; 4972 tagMONHSZSTRUCTA = MONHSZSTRUCTA; 4973 TMONHSZSTRUCTA = MONHSZSTRUCTA; 4974 PMONHSZSTRUCTA = ^MONHSZSTRUCTA; 4975 4976 MONHSZSTRUCTW = record 4977 cb : UINT; 4978 fsAction : WINBOOL; 4979 dwTime : DWORD; 4980 hsz : HSZ; 4981 hTask : HANDLE; 4982 str : array[0..0] of WCHAR; 4983 end; 4984 tagMONHSZSTRUCTW = MONHSZSTRUCTW; 4985 TMONHSZSTRUCTW = MONHSZSTRUCTW; 4986 PMONHSZSTRUCTW = ^MONHSZSTRUCTW; 4987 {$ifdef unicode} 4988 tagMONHSZSTRUCT = MONHSZSTRUCTW; 4989 TMONHSZSTRUCT = MONHSZSTRUCTW; 4990 PMONHSZSTRUCT = PMONHSZSTRUCTW; 4991 MONHSZSTRUCT = MONHSZSTRUCTW; 4992 {$else} 4993 tagMONHSZSTRUCT = MONHSZSTRUCTA; 4994 TMONHSZSTRUCT = MONHSZSTRUCTA; 4995 PMONHSZSTRUCT = PMONHSZSTRUCTA; 4996 MONHSZSTRUCT = MONHSZSTRUCTA; 4997 {$endif} 4998 4999 MONITOR_INFO_1 = record 5000 pName : LPTSTR; 5001 end; 5002 _MONITOR_INFO_1 = MONITOR_INFO_1; 5003 TMONITORINFO1 = MONITOR_INFO_1; 5004 PMONITORINFO1 = ^MONITOR_INFO_1; 5005 5006 MONITOR_INFO_2 = record 5007 pName : LPTSTR; 5008 pEnvironment : LPTSTR; 5009 pDLLName : LPTSTR; 5010 end; 5011 _MONITOR_INFO_2 = MONITOR_INFO_2; 5012 TMONITORINFO2 = MONITOR_INFO_2; 5013 PMONITORINFO2 = ^MONITOR_INFO_2; 5014 5015 MONLINKSTRUCT = record 5016 cb : UINT; 5017 dwTime : DWORD; 5018 hTask : HANDLE; 5019 fEstablished : WINBOOL; 5020 fNoData : WINBOOL; 5021 hszSvc : HSZ; 5022 hszTopic : HSZ; 5023 hszItem : HSZ; 5024 wFmt : UINT; 5025 fServer : WINBOOL; 5026 hConvServer : HCONV; 5027 hConvClient : HCONV; 5028 end; 5029 tagMONLINKSTRUCT = MONLINKSTRUCT; 5030 TMONLINKSTRUCT = MONLINKSTRUCT; 5031 PMONLINKSTRUCT = ^MONLINKSTRUCT; 5032 5033 MONMSGSTRUCT = record 5034 cb : UINT; 5035 hwndTo : HWND; 5036 dwTime : DWORD; 5037 hTask : HANDLE; 5038 wMsg : UINT; 5039 wParam : WPARAM; 5040 lParam : LPARAM; 5041 dmhd : DDEML_MSG_HOOK_DATA; 5042 end; 5043 tagMONMSGSTRUCT = MONMSGSTRUCT; 5044 TMONMSGSTRUCT = MONMSGSTRUCT; 5045 PMONMSGSTRUCT = ^MONMSGSTRUCT; 5046 5047 MOUSEHOOKSTRUCT = record 5048 pt : POINT; 5049 hwnd : HWND; 5050 wHitTestCode : UINT; 5051 dwExtraInfo : ULONG_PTR; 5052 end; 5053 LPMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT; 5054 tagMOUSEHOOKSTRUCT = MOUSEHOOKSTRUCT; 5055 TMOUSEHOOKSTRUCT = MOUSEHOOKSTRUCT; 5056 PMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT; 5057 5058 MOUSEKEYS = record 5059 cbSize : DWORD; 5060 dwFlags : DWORD; 5061 iMaxSpeed : DWORD; 5062 iTimeToMaxSpeed : DWORD; 5063 iCtrlSpeed : DWORD; 5064 dwReserved1 : DWORD; 5065 dwReserved2 : DWORD; 5066 end; 5067 TMOUSEKEYS = MOUSEKEYS; 5068 PMOUSEKEYS = ^MOUSEKEYS; 5069 5070 MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO);stdcall; 5071 TMSGBOXCALLBACK = MSGBOXCALLBACK; 5072 5073 MSGBOXPARAMSA = record 5074 cbSize : UINT; 5075 hwndOwner : HWND; 5076 hInstance : HINST; 5077 lpszText : LPCSTR; 5078 lpszCaption : LPCSTR; 5079 dwStyle : DWORD; 5080 lpszIcon : LPCSTR; 5081 dwContextHelpId : DWORD_PTR; 5082 lpfnMsgBoxCallback : MSGBOXCALLBACK; 5083 dwLanguageId : DWORD; 5084 end; 5085 LPMSGBOXPARAMSA = ^MSGBOXPARAMSA; 5086 TMSGBOXPARAMSA = MSGBOXPARAMSA; 5087 PMSGBOXPARAMSA = ^MSGBOXPARAMSA; 5088 5089 MSGBOXPARAMSW = record 5090 cbSize : UINT; 5091 hwndOwner : HWND; 5092 hInstance : HINST; 5093 lpszText : LPCWSTR; 5094 lpszCaption : LPCWSTR; 5095 dwStyle : DWORD; 5096 lpszIcon : LPCWSTR; 5097 dwContextHelpId : DWORD_PTR; 5098 lpfnMsgBoxCallback : MSGBOXCALLBACK; 5099 dwLanguageId : DWORD; 5100 end; 5101 LPMSGBOXPARAMSW = ^MSGBOXPARAMSW; 5102 TMSGBOXPARAMSW = MSGBOXPARAMSW; 5103 PMSGBOXPARAMSW = ^MSGBOXPARAMSW; 5104 5105 {$ifdef Unicode} 5106 LPMSGBOXPARAMS = ^MSGBOXPARAMSW; 5107 TMSGBOXPARAMS = MSGBOXPARAMSW; 5108 PMSGBOXPARAMS = ^MSGBOXPARAMSW; 5109 MSGBOXPARAMS = MSGBOXPARAMSW; 5110 {$else} 5111 LPMSGBOXPARAMS = ^MSGBOXPARAMSA; 5112 TMSGBOXPARAMS = MSGBOXPARAMSA; 5113 PMSGBOXPARAMS = ^MSGBOXPARAMSA; 5114 MSGBOXPARAMS = MSGBOXPARAMSA; 5115 {$endif} 5116 5117 MSGFILTER = record 5118 nmhdr : NMHDR; 5119 msg : UINT; 5120 wParam : WPARAM; 5121 lParam : LPARAM; 5122 end; 5123 _msgfilter = MSGFILTER; 5124 Tmsgfilter = MSGFILTER; 5125 Pmsgfilter = ^MSGFILTER; 5126 5127 MULTIKEYHELPA = record 5128 mkSize : DWORD; 5129 mkKeylist : AnsiCHAR; 5130 szKeyphrase : array[0..0] of AnsiCHAR; 5131 end; 5132 tagMULTIKEYHELPA = MULTIKEYHELPA; 5133 TMULTIKEYHELPA = MULTIKEYHELPA; 5134 PMULTIKEYHELPA = ^MULTIKEYHELPA; 5135 5136 MULTIKEYHELPW = record 5137 mkSize : DWORD; 5138 mkKeylist : WideCHAR; 5139 szKeyphrase : array[0..0] of WideCHAR; 5140 end; 5141 tagMULTIKEYHELPW = MULTIKEYHELPW; 5142 TMULTIKEYHELPW = MULTIKEYHELPW; 5143 PMULTIKEYHELPW = ^MULTIKEYHELPW; 5144 {$ifdef Unicode} 5145 tagMULTIKEYHELP = MULTIKEYHELPW; 5146 TMULTIKEYHELP = MULTIKEYHELPW; 5147 PMULTIKEYHELP = PMULTIKEYHELPW; 5148 MULTIKEYHELP = MULTIKEYHELPW; 5149 {$else} 5150 tagMULTIKEYHELP = MULTIKEYHELPA; 5151 TMULTIKEYHELP = MULTIKEYHELPA; 5152 PMULTIKEYHELP = PMULTIKEYHELPA; 5153 MULTIKEYHELP = MULTIKEYHELPA; 5154 {$endif} 5155 5156 NAME_BUFFER = record 5157 name : array[0..(NCBNAMSZ)-1] of UCHAR; 5158 name_num : UCHAR; 5159 name_flags : UCHAR; 5160 end; 5161 _NAME_BUFFER = NAME_BUFFER; 5162 TNAMEBUFFER = NAME_BUFFER; 5163 PNAMEBUFFER = ^NAME_BUFFER; 5164 5165 p_NCB = ^_NCB; 5166 NCB = record 5167 ncb_command : UCHAR; 5168 ncb_retcode : UCHAR; 5169 ncb_lsn : UCHAR; 5170 ncb_num : UCHAR; 5171 ncb_buffer : PUCHAR; 5172 ncb_length : WORD; 5173 ncb_callname : array[0..(NCBNAMSZ)-1] of UCHAR; 5174 ncb_name : array[0..(NCBNAMSZ)-1] of UCHAR; 5175 ncb_rto : UCHAR; 5176 ncb_sto : UCHAR; 5177 ncb_post : procedure (_para1:p_NCB);CDECL; 5178 ncb_lana_num : UCHAR; 5179 ncb_cmd_cplt : UCHAR; 5180 ncb_reserve : array[0..9] of UCHAR; 5181 ncb_event : HANDLE; 5182 end; 5183 _NCB = NCB; 5184 TNCB = NCB; 5185 PNCB = ^NCB; 5186 5187 NCCALCSIZE_PARAMS = record 5188 rgrc : array[0..2] of RECT; 5189 lppos : PWINDOWPOS; 5190 end; 5191 _NCCALCSIZE_PARAMS = NCCALCSIZE_PARAMS; 5192 TNCCALCSIZEPARAMS = NCCALCSIZE_PARAMS; 5193 PNCCALCSIZEPARAMS = ^NCCALCSIZE_PARAMS; 5194 5195 NDDESHAREINFO = record 5196 lRevision : LONG; 5197 lpszShareName : LPTSTR; 5198 lShareType : LONG; 5199 lpszAppTopicList : LPTSTR; 5200 fSharedFlag : LONG; 5201 fService : LONG; 5202 fStartAppFlag : LONG; 5203 nCmdShow : LONG; 5204 qModifyId : array[0..1] of LONG; 5205 cNumItems : LONG; 5206 lpszItemList : LPTSTR; 5207 end; 5208 _NDDESHAREINFO = NDDESHAREINFO; 5209 TNDDESHAREINFO = NDDESHAREINFO; 5210 PNDDESHAREINFO = ^NDDESHAREINFO; 5211 5212 NETRESOURCEA = record 5213 dwScope : DWORD; 5214 dwType : DWORD; 5215 dwDisplayType : DWORD; 5216 dwUsage : DWORD; 5217 lpLocalName : LPSTR; 5218 lpRemoteName : LPSTR; 5219 lpComment : LPSTR; 5220 lpProvider : LPSTR; 5221 end; 5222 LPNETRESOURCEA = ^NETRESOURCEA; 5223 _NETRESOURCEA = NETRESOURCEA; 5224 TNETRESOURCEA = NETRESOURCEA; 5225 PNETRESOURCEA = ^NETRESOURCEA; 5226 5227 NETRESOURCEW = record 5228 dwScope : DWORD; 5229 dwType : DWORD; 5230 dwDisplayType : DWORD; 5231 dwUsage : DWORD; 5232 lpLocalName : LPWSTR; 5233 lpRemoteName : LPWSTR; 5234 lpComment : LPWSTR; 5235 lpProvider : LPWSTR; 5236 end; 5237 LPNETRESOURCEW = ^NETRESOURCEW; 5238 _NETRESOURCEW = NETRESOURCEW; 5239 TNETRESOURCEW = NETRESOURCEW; 5240 PNETRESOURCEW = ^NETRESOURCEW; 5241 5242 {$ifdef Unicode} 5243 LPNETRESOURCE = ^NETRESOURCEW; 5244 _NETRESOURCE = NETRESOURCEW; 5245 TNETRESOURCE = NETRESOURCEW; 5246 NETRESOURCE = NETRESOURCEW; 5247 PNETRESOURCE = ^NETRESOURCEW; 5248 {$else} 5249 LPNETRESOURCE = ^NETRESOURCEA; 5250 _NETRESOURCE = NETRESOURCEA; 5251 TNETRESOURCE = NETRESOURCEA; 5252 NETRESOURCE = NETRESOURCEA; 5253 PNETRESOURCE = ^NETRESOURCEA; 5254 {$endif} 5255 5256 NEWCPLINFOA = record 5257 dwSize : DWORD; 5258 dwFlags : DWORD; 5259 dwHelpContext : DWORD; 5260 lData : LONG_PTR; 5261 hIcon : HICON; 5262 szName : array[0..31] of AnsiCHAR; 5263 szInfo : array[0..63] of AnsiCHAR; 5264 szHelpFile : array[0..127] of AnsiCHAR; 5265 end; 5266 tagNEWCPLINFOA = NEWCPLINFOA; 5267 TNEWCPLINFOA = NEWCPLINFOA; 5268 PNEWCPLINFOA = ^NEWCPLINFOA; 5269 5270 NEWCPLINFOW = record 5271 dwSize : DWORD; 5272 dwFlags : DWORD; 5273 dwHelpContext : DWORD; 5274 lData : LONG; 5275 hIcon : HICON; 5276 szName : array[0..31] of WideCHAR; 5277 szInfo : array[0..63] of WideCHAR; 5278 szHelpFile : array[0..127] of WideCHAR; 5279 end; 5280 tagNEWCPLINFOW = NEWCPLINFOW; 5281 TNEWCPLINFOW = NEWCPLINFOW; 5282 PNEWCPLINFOW = ^NEWCPLINFOW; 5283 5284 {$ifdef Unicode} 5285 tagNEWCPLINFO = NEWCPLINFOW; 5286 TNEWCPLINFO = NEWCPLINFOW; 5287 PNEWCPLINFO = PNEWCPLINFOW; 5288 NEWCPLINFO = NEWCPLINFOW; 5289 {$else} 5290 tagNEWCPLINFO = NEWCPLINFOA; 5291 TNEWCPLINFO = NEWCPLINFOA; 5292 PNEWCPLINFO = PNEWCPLINFOA; 5293 NEWCPLINFO = NEWCPLINFOA; 5294 {$endif} 5295 NEWTEXTMETRICA = record 5296 tmHeight : LONG; 5297 tmAscent : LONG; 5298 tmDescent : LONG; 5299 tmInternalLeading : LONG; 5300 tmExternalLeading : LONG; 5301 tmAveCharWidth : LONG; 5302 tmMaxCharWidth : LONG; 5303 tmWeight : LONG; 5304 tmOverhang : LONG; 5305 tmDigitizedAspectX : LONG; 5306 tmDigitizedAspectY : LONG; 5307 tmFirstChar : AnsiChar; 5308 tmLastChar : AnsiChar; 5309 tmDefaultChar : AnsiChar; 5310 tmBreakChar : AnsiChar; 5311 tmItalic : BYTE; 5312 tmUnderlined : BYTE; 5313 tmStruckOut : BYTE; 5314 tmPitchAndFamily : BYTE; 5315 tmCharSet : BYTE; 5316 ntmFlags : DWORD; 5317 ntmSizeEM : UINT; 5318 ntmCellHeight : UINT; 5319 ntmAvgWidth : UINT; 5320 end; 5321 LPNEWTEXTMETRICA = ^NEWTEXTMETRICA; 5322 tagNEWTEXTMETRICA = NEWTEXTMETRICA; 5323 _NEWTEXTMETRICA = NEWTEXTMETRICA; 5324 TNEWTEXTMETRICA = NEWTEXTMETRICA; 5325 PNEWTEXTMETRICA = ^NEWTEXTMETRICA; 5326 5327 NEWTEXTMETRICW = record 5328 tmHeight :LONG; 5329 tmAscent :LONG; 5330 tmDescent :LONG; 5331 tmInternalLeading :LONG; 5332 tmExternalLeading :LONG; 5333 tmAveCharWidth :LONG; 5334 tmMaxCharWidth :LONG; 5335 tmWeight :LONG; 5336 tmOverhang :LONG; 5337 tmDigitizedAspectX :LONG; 5338 tmDigitizedAspectY :LONG; 5339 tmFirstChar :WCHAR; 5340 tmLastChar :WCHAR; 5341 tmDefaultChar :WCHAR; 5342 tmBreakChar :WCHAR; 5343 tmItalic :Byte; 5344 tmUnderlined :Byte; 5345 tmStruckOut :Byte; 5346 tmPitchAndFamily :Byte; 5347 tmCharSet :Byte; 5348 ntmFlags :DWORD; 5349 ntmSizeEM :UINT; 5350 ntmCellHeight :UINT; 5351 ntmAvgWidth :UINT; 5352 end; 5353 LPNEWTEXTMETRICW = ^NEWTEXTMETRICW; 5354 tagNEWTEXTMETRICW = NEWTEXTMETRICW; 5355 _NEWTEXTMETRICW = NEWTEXTMETRICW; 5356 TNEWTEXTMETRICW = NEWTEXTMETRICW; 5357 PNEWTEXTMETRICW = ^NEWTEXTMETRICW; 5358 5359 {$IFNDEF UNICODE} 5360 LPNEWTEXTMETRIC = ^NEWTEXTMETRICA; 5361 _NEWTEXTMETRIC = NEWTEXTMETRICA; 5362 tagNEWTEXTMETRIC = NEWTEXTMETRICA; 5363 TNEWTEXTMETRIC = NEWTEXTMETRICA; 5364 PNEWTEXTMETRIC = ^NEWTEXTMETRICA; 5365 NEWTEXTMETRIC = NEWTEXTMETRICA; 5366 {$ELSE} 5367 LPNEWTEXTMETRIC = ^NEWTEXTMETRICW; 5368 _NEWTEXTMETRIC = NEWTEXTMETRICW; 5369 tagNEWTEXTMETRIC = NEWTEXTMETRICW; 5370 TNEWTEXTMETRIC = NEWTEXTMETRICW; 5371 PNEWTEXTMETRIC = ^NEWTEXTMETRICW; 5372 NEWTEXTMETRIC = NEWTEXTMETRICW; 5373 {$ENDIF} 5374 5375 NEWTEXTMETRICEXA = record 5376 ntmentm : NEWTEXTMETRICA; 5377 ntmeFontSignature : FONTSIGNATURE; 5378 end; 5379 LPNEWTEXTMETRICEXA = ^NEWTEXTMETRICEXA; 5380 tagNEWTEXTMETRICEXA = NEWTEXTMETRICEXA; 5381 TNEWTEXTMETRICEXA = NEWTEXTMETRICEXA; 5382 PNEWTEXTMETRICEXA = ^NEWTEXTMETRICEXA; 5383 5384 NEWTEXTMETRICEXW = record 5385 ntmentm :NEWTEXTMETRICW; 5386 ntmeFontSignature :FONTSIGNATURE; 5387 end; 5388 LPNEWTEXTMETRICEXW = ^NEWTEXTMETRICEXW; 5389 tagNEWTEXTMETRICEXW = NEWTEXTMETRICEXW; 5390 TNEWTEXTMETRICEXW = NEWTEXTMETRICEXW; 5391 PNEWTEXTMETRICEXW = ^NEWTEXTMETRICEXW; 5392 5393 {$IFNDEF UNICODE} 5394 LPNEWTEXTMETRICEX = ^NEWTEXTMETRICEXA; 5395 _NEWTEXTMETRICEX = NEWTEXTMETRICEXA; 5396 tagNEWTEXTMETRICEX = NEWTEXTMETRICEXA; 5397 TNEWTEXTMETRICEX = NEWTEXTMETRICEXA; 5398 PNEWTEXTMETRICEX = ^NEWTEXTMETRICEXA; 5399 NEWTEXTMETRICEX = NEWTEXTMETRICEXA; 5400 {$ELSE} 5401 LPNEWTEXTMETRICEX = ^NEWTEXTMETRICEXW; 5402 _NEWTEXTMETRICEX = NEWTEXTMETRICEXW; 5403 tagNEWTEXTMETRICEX = NEWTEXTMETRICEXW; 5404 TNEWTEXTMETRICEX = NEWTEXTMETRICEXW; 5405 PNEWTEXTMETRICEX = ^NEWTEXTMETRICEXW; 5406 NEWTEXTMETRICEX = NEWTEXTMETRICEXW; 5407 {$ENDIF} 5408 5409 NM_LISTVIEW = record 5410 hdr : NMHDR; 5411 iItem : longint; 5412 iSubItem : longint; 5413 uNewState : UINT; 5414 uOldState : UINT; 5415 uChanged : UINT; 5416 ptAction : POINT; 5417 lParam : LPARAM; 5418 end; 5419 tagNM_LISTVIEW = NM_LISTVIEW; 5420 TNMLISTVIEW = NM_LISTVIEW; 5421 PNMLISTVIEW = ^NM_LISTVIEW; 5422 5423 TV_ITEM = record 5424 mask : UINT; 5425 hItem : HTREEITEM; 5426 state : UINT; 5427 stateMask : UINT; 5428 pszText : LPTSTR; 5429 cchTextMax : longint; 5430 iImage : longint; 5431 iSelectedImage : longint; 5432 cChildren : longint; 5433 lParam : LPARAM; 5434 end; 5435 LPTV_ITEM = ^TV_ITEM; 5436 _TV_ITEM = TV_ITEM; 5437 TTVITEM = TV_ITEM; 5438 PTVITEM = ^TV_ITEM; 5439 5440 NM_TREEVIEW = record 5441 hdr : NMHDR; 5442 action : UINT; 5443 itemOld : TV_ITEM; 5444 itemNew : TV_ITEM; 5445 ptDrag : POINT; 5446 end; 5447 LPNM_TREEVIEW = ^NM_TREEVIEW; 5448 _NM_TREEVIEW = NM_TREEVIEW; 5449 TNMTREEVIEW = NM_TREEVIEW; 5450 PNMTREEVIEW = ^NM_TREEVIEW; 5451 5452 NM_UPDOWNW = record 5453 hdr : NMHDR; 5454 iPos : longint; 5455 iDelta : longint; 5456 end; 5457 _NM_UPDOWN = NM_UPDOWNW; 5458 TNMUPDOWN = NM_UPDOWNW; 5459 PNMUPDOWN = ^NM_UPDOWNW; 5460 5461 NONCLIENTMETRICS = record 5462 cbSize : UINT; 5463 iBorderWidth : longint; 5464 iScrollWidth : longint; 5465 iScrollHeight : longint; 5466 iCaptionWidth : longint; 5467 iCaptionHeight : longint; 5468 lfCaptionFont : LOGFONT; 5469 iSmCaptionWidth : longint; 5470 iSmCaptionHeight : longint; 5471 lfSmCaptionFont : LOGFONT; 5472 iMenuWidth : longint; 5473 iMenuHeight : longint; 5474 lfMenuFont : LOGFONT; 5475 lfStatusFont : LOGFONT; 5476 lfMessageFont : LOGFONT; 5477 //iPaddedBorderWidth : longint; // WINVER >= 0x0600 5478 end; 5479 LPNONCLIENTMETRICS = ^NONCLIENTMETRICS; 5480 tagNONCLIENTMETRICS = NONCLIENTMETRICS; 5481 TNONCLIENTMETRICS = NONCLIENTMETRICS; 5482 PNONCLIENTMETRICS = ^NONCLIENTMETRICS; 5483 5484 SERVICE_ADDRESS = record 5485 dwAddressType : DWORD; 5486 dwAddressFlags : DWORD; 5487 dwAddressLength : DWORD; 5488 dwPrincipalLength : DWORD; 5489 lpAddress : ^BYTE; 5490 lpPrincipal : ^BYTE; 5491 end; 5492 _SERVICE_ADDRESS = SERVICE_ADDRESS; 5493 TSERVICEADDRESS = SERVICE_ADDRESS; 5494 PSERVICEADDRESS = ^SERVICE_ADDRESS; 5495 5496 SERVICE_ADDRESSES = record 5497 dwAddressCount : DWORD; 5498 Addresses : array[0..0] of SERVICE_ADDRESS; 5499 end; 5500 LPSERVICE_ADDRESSES = ^SERVICE_ADDRESSES; 5501 _SERVICE_ADDRESSES = SERVICE_ADDRESSES; 5502 TSERVICEADDRESSES = SERVICE_ADDRESSES; 5503 PSERVICEADDRESSES = ^SERVICE_ADDRESSES; 5504 5505 GUID = system.tguid; 5506 LPGUID = ^GUID; 5507 _GUID = GUID; 5508 TGUID = GUID; 5509 PGUID = ^GUID; 5510 5511 CLSID = GUID; 5512 LPCLSID = ^CLSID; 5513 TCLSID = CLSID; 5514 PCLSID = ^CLSID; 5515 5516 SERVICE_INFO = record 5517 lpServiceType : LPGUID; 5518 lpServiceName : LPTSTR; 5519 lpComment : LPTSTR; 5520 lpLocale : LPTSTR; 5521 dwDisplayHint : DWORD; 5522 dwVersion : DWORD; 5523 dwTime : DWORD; 5524 lpMachineName : LPTSTR; 5525 lpServiceAddress : LPSERVICE_ADDRESSES; 5526 ServiceSpecificInfo : BLOB; 5527 end; 5528 _SERVICE_INFO = SERVICE_INFO; 5529 TSERVICEINFO = SERVICE_INFO; 5530 PSERVICEINFO = ^SERVICE_INFO; 5531 5532 NS_SERVICE_INFO = record 5533 dwNameSpace : DWORD; 5534 ServiceInfo : SERVICE_INFO; 5535 end; 5536 _NS_SERVICE_INFO = NS_SERVICE_INFO; 5537 TNSSERVICEINFO = NS_SERVICE_INFO; 5538 PNSSERVICEINFO = ^NS_SERVICE_INFO; 5539 5540 NUMBERFMTA = record 5541 NumDigits : UINT; 5542 LeadingZero : UINT; 5543 Grouping : UINT; 5544 lpDecimalSep : LPSTR; 5545 lpThousandSep : LPSTR; 5546 NegativeOrder : UINT; 5547 end; 5548 _numberfmtA = NUMBERFMTA; 5549 TnumberfmtA = NUMBERFMTA; 5550 PnumberfmtA = ^NUMBERFMTA; 5551 5552 NUMBERFMTW = record 5553 NumDigits : UINT; 5554 LeadingZero : UINT; 5555 Grouping : UINT; 5556 lpDecimalSep : LPWSTR; 5557 lpThousandSep : LPWSTR; 5558 NegativeOrder : UINT; 5559 end; 5560 _numberfmtW = NUMBERFMTW; 5561 TnumberfmtW = NUMBERFMTW; 5562 PnumberfmtW = ^NUMBERFMTW; 5563 5564 {$ifdef Unicode} 5565 _NUMBERFMT = NUMBERFMTW; 5566 TNUMBERFMT = NUMBERFMTW; 5567 NUMBERFMT = NUMBERFMTW; 5568 PNUMBERFMT = ^NUMBERFMTW; 5569 {$else} 5570 _NUMBERFMT = NUMBERFMTA; 5571 TNUMBERFMT = NUMBERFMTA; 5572 NUMBERFMT = NUMBERFMTA; 5573 PNUMBERFMT = ^NUMBERFMTA; 5574 {$endif} 5575 5576 OFSTRUCT = record 5577 cBytes : BYTE; 5578 fFixedDisk : BYTE; 5579 nErrCode : WORD; 5580 Reserved1 : WORD; 5581 Reserved2 : WORD; 5582 szPathName : array[0..(OFS_MAXPATHNAME)-1] of CHAR; 5583 end; 5584 LPOFSTRUCT = ^OFSTRUCT; 5585 _OFSTRUCT = OFSTRUCT; 5586 TOFSTRUCT = OFSTRUCT; 5587 POFSTRUCT = ^OFSTRUCT; 5588 5589 OPENFILENAME_NT4 = record 5590 lStructSize : DWORD; 5591 hwndOwner : HWND; 5592 hInstance : HINST; 5593 lpstrFilter : LPCTSTR; 5594 lpstrCustomFilter : LPTSTR; 5595 nMaxCustFilter : DWORD; 5596 nFilterIndex : DWORD; 5597 lpstrFile : LPTSTR; 5598 nMaxFile : DWORD; 5599 lpstrFileTitle : LPTSTR; 5600 nMaxFileTitle : DWORD; 5601 lpstrInitialDir : LPCTSTR; 5602 lpstrTitle : LPCTSTR; 5603 Flags : DWORD; 5604 nFileOffset : WORD; 5605 nFileExtension : WORD; 5606 lpstrDefExt : LPCTSTR; 5607 lCustData : LPARAM; 5608 lpfnHook : LPOFNHOOKPROC; 5609 lpTemplateName : LPCTSTR; 5610 end; 5611 LPOPENFILENAME_NT4 = ^OPENFILENAME_NT4; 5612 TOPENFILENAME_NT4 = OPENFILENAME_NT4; 5613 POPENFILENAME_NT4 = ^OPENFILENAME_NT4; 5614 5615 OPENFILENAME = record 5616 lStructSize : DWORD; 5617 hwndOwner : HWND; 5618 hInstance : HINST; 5619 lpstrFilter : LPCTSTR; 5620 lpstrCustomFilter : LPTSTR; 5621 nMaxCustFilter : DWORD; 5622 nFilterIndex : DWORD; 5623 lpstrFile : LPTSTR; 5624 nMaxFile : DWORD; 5625 lpstrFileTitle : LPTSTR; 5626 nMaxFileTitle : DWORD; 5627 lpstrInitialDir : LPCTSTR; 5628 lpstrTitle : LPCTSTR; 5629 Flags : DWORD; 5630 nFileOffset : WORD; 5631 nFileExtension : WORD; 5632 lpstrDefExt : LPCTSTR; 5633 lCustData : LPARAM; 5634 lpfnHook : LPOFNHOOKPROC; 5635 lpTemplateName : LPCTSTR; 5636 pvReserved : pointer; 5637 dwreserved : dword; 5638 FlagsEx : dword; 5639 end; 5640 LPOPENFILENAME = ^OPENFILENAME; 5641 TOPENFILENAME = OPENFILENAME; 5642 POPENFILENAME = ^OPENFILENAME; 5643 5644 tagOFN = OPENFILENAME; 5645 TOFN = OPENFILENAME; 5646 POFN = ^OPENFILENAME; 5647 5648 OFNOTIFY = record 5649 hdr : NMHDR; 5650 lpOFN : LPOPENFILENAME; 5651 pszFile : LPTSTR; 5652 end; 5653 LPOFNOTIFY = ^OFNOTIFY; 5654 _OFNOTIFY = OFNOTIFY; 5655 TOFNOTIFY = OFNOTIFY; 5656 POFNOTIFY = ^OFNOTIFY; 5657 5658 OSVERSIONINFOA = record 5659 dwOSVersionInfoSize : DWORD; 5660 dwMajorVersion : DWORD; 5661 dwMinorVersion : DWORD; 5662 dwBuildNumber : DWORD; 5663 dwPlatformId : DWORD; 5664 szCSDVersion : array[0..127] of AnsiCHAR; 5665 end; 5666 LPOSVERSIONINFOA= ^OSVERSIONINFOA; 5667 _OSVERSIONINFOA = OSVERSIONINFOA; 5668 TOSVERSIONINFOA = OSVERSIONINFOA; 5669 POSVERSIONINFOA = LPOSVERSIONINFOA; 5670 5671 OSVERSIONINFOW = record 5672 dwOSVersionInfoSize : DWORD; 5673 dwMajorVersion : DWORD; 5674 dwMinorVersion : DWORD; 5675 dwBuildNumber : DWORD; 5676 dwPlatformId : DWORD; 5677 szCSDVersion : array[0..127] of WCHAR; 5678 end; 5679 LPOSVERSIONINFOW = ^OSVERSIONINFOW; 5680 _OSVERSIONINFOW = OSVERSIONINFOW; 5681 TOSVERSIONINFOW = OSVERSIONINFOW; 5682 POSVERSIONINFOW = LPOSVERSIONINFOW; 5683 5684 {$IFNDEF UNICODE} 5685 LPOSVERSIONINFO = ^OSVERSIONINFOA; 5686 _OSVERSIONINFO = OSVERSIONINFOA; 5687 TOSVERSIONINFO = OSVERSIONINFOA; 5688 POSVERSIONINFO = ^OSVERSIONINFOA; 5689 OSVERSIONINFO = OSVERSIONINFOA; 5690 {$ELSE} 5691 LPOSVERSIONINFO = ^OSVERSIONINFOW; 5692 _OSVERSIONINFO = OSVERSIONINFOW; 5693 TOSVERSIONINFO = OSVERSIONINFOW; 5694 POSVERSIONINFO = ^OSVERSIONINFOW; 5695 OSVERSIONINFO = OSVERSIONINFOW; 5696 {$ENDIF} 5697 5698 {$push} 5699 {$packrecords 4} 5700 5701 TEXTMETRICA = record 5702 tmHeight : LONG; 5703 tmAscent : LONG; 5704 tmDescent : LONG; 5705 tmInternalLeading : LONG; 5706 tmExternalLeading : LONG; 5707 tmAveCharWidth : LONG; 5708 tmMaxCharWidth : LONG; 5709 tmWeight : LONG; 5710 tmOverhang : LONG; 5711 tmDigitizedAspectX : LONG; 5712 tmDigitizedAspectY : LONG; 5713 tmFirstChar : AnsiChar; 5714 tmLastChar : AnsiChar; 5715 tmDefaultChar : AnsiChar; 5716 tmBreakChar : AnsiChar; 5717 tmItalic : BYTE; 5718 tmUnderlined : BYTE; 5719 tmStruckOut : BYTE; 5720 tmPitchAndFamily : BYTE; 5721 tmCharSet : BYTE; 5722 end; 5723 LPTEXTMETRICA = ^TEXTMETRICA; 5724 tagTEXTMETRICA = TEXTMETRICA; 5725 _TEXTMETRICA = TEXTMETRICA; 5726 TTEXTMETRICA = TEXTMETRICA; 5727 PTEXTMETRICA = LPTEXTMETRICA; 5728 5729 TEXTMETRICW = record 5730 tmHeight : LONG; 5731 tmAscent : LONG; 5732 tmDescent : LONG; 5733 tmInternalLeading : LONG; 5734 tmExternalLeading : LONG; 5735 tmAveCharWidth : LONG; 5736 tmMaxCharWidth : LONG; 5737 tmWeight : LONG; 5738 tmOverhang : LONG; 5739 tmDigitizedAspectX : LONG; 5740 tmDigitizedAspectY : LONG; 5741 tmFirstChar : WCHAR; 5742 tmLastChar : WCHAR; 5743 tmDefaultChar : WCHAR; 5744 tmBreakChar : WCHAR; 5745 tmItalic : BYTE; 5746 tmUnderlined : BYTE; 5747 tmStruckOut : BYTE; 5748 tmPitchAndFamily : BYTE; 5749 tmCharSet : BYTE; 5750 end; 5751 LPTEXTMETRICW = ^TEXTMETRICW; 5752 tagTEXTMETRICW = TEXTMETRICW; 5753 _TEXTMETRICW = TEXTMETRICW; 5754 TTEXTMETRICW = TEXTMETRICW; 5755 PTEXTMETRICW = ^TEXTMETRICW; 5756 5757 {$IFNDEF UNICODE} 5758 LPTEXTMETRIC = ^TEXTMETRICA; 5759 _TEXTMETRIC = TEXTMETRICA; 5760 tagTEXTMETRIC = TEXTMETRICA; 5761 TTEXTMETRIC = TEXTMETRICA; 5762 PTEXTMETRIC = ^TEXTMETRICA; 5763 TEXTMETRIC = TEXTMETRICA; 5764 {$ELSE} 5765 LPTEXTMETRIC = ^TEXTMETRICW; 5766 _TEXTMETRIC = TEXTMETRICW; 5767 tagTEXTMETRIC = TEXTMETRICW; 5768 TTEXTMETRIC = TEXTMETRICW; 5769 PTEXTMETRIC = ^TEXTMETRICW; 5770 TEXTMETRIC = TEXTMETRICW; 5771 {$ENDIF} 5772 {$PACKRECORDS C} 5773 5774 OUTLINETEXTMETRICA = record 5775 otmSize : UINT; 5776 otmTextMetrics : TEXTMETRICA; 5777 otmFiller : BYTE; 5778 otmPanoseNumber : PANOSE; 5779 otmfsSelection : UINT; 5780 otmfsType : UINT; 5781 otmsCharSlopeRise : longint; 5782 otmsCharSlopeRun : longint; 5783 otmItalicAngle : longint; 5784 otmEMSquare : UINT; 5785 otmAscent : longint; 5786 otmDescent : longint; 5787 otmLineGap : UINT; 5788 otmsCapEmHeight : UINT; 5789 otmsXHeight : UINT; 5790 otmrcFontBox : RECT; 5791 otmMacAscent : longint; 5792 otmMacDescent : longint; 5793 otmMacLineGap : UINT; 5794 otmusMinimumPPEM : UINT; 5795 otmptSubscriptSize : POINT; 5796 otmptSubscriptOffset : POINT; 5797 otmptSuperscriptSize : POINT; 5798 otmptSuperscriptOffset : POINT; 5799 otmsStrikeoutSize : UINT; 5800 otmsStrikeoutPosition : longint; 5801 otmsUnderscoreSize : longint; 5802 otmsUnderscorePosition : longint; 5803 otmpFamilyName : PSTR; 5804 otmpFaceName : PSTR; 5805 otmpStyleName : PSTR; 5806 otmpFullName : PSTR; 5807 end; 5808 LPOUTLINETEXTMETRICA = ^OUTLINETEXTMETRICA; 5809 _OUTLINETEXTMETRICA = OUTLINETEXTMETRICA; 5810 TOUTLINETEXTMETRICA = OUTLINETEXTMETRICA; 5811 POUTLINETEXTMETRICA = ^OUTLINETEXTMETRICA; 5812 5813 OUTLINETEXTMETRICW = record 5814 otmSize : UINT; 5815 otmTextMetrics : TEXTMETRICW; 5816 otmFiller : BYTE; 5817 otmPanoseNumber : PANOSE; 5818 otmfsSelection : UINT; 5819 otmfsType : UINT; 5820 otmsCharSlopeRise : longint; 5821 otmsCharSlopeRun : longint; 5822 otmItalicAngle : longint; 5823 otmEMSquare : UINT; 5824 otmAscent : longint; 5825 otmDescent : longint; 5826 otmLineGap : UINT; 5827 otmsCapEmHeight : UINT; 5828 otmsXHeight : UINT; 5829 otmrcFontBox : RECT; 5830 otmMacAscent : longint; 5831 otmMacDescent : longint; 5832 otmMacLineGap : UINT; 5833 otmusMinimumPPEM : UINT; 5834 otmptSubscriptSize : POINT; 5835 otmptSubscriptOffset : POINT; 5836 otmptSuperscriptSize : POINT; 5837 otmptSuperscriptOffset : POINT; 5838 otmsStrikeoutSize : UINT; 5839 otmsStrikeoutPosition : longint; 5840 otmsUnderscoreSize : longint; 5841 otmsUnderscorePosition : longint; 5842 otmpFamilyName : PSTR; 5843 otmpFaceName : PSTR; 5844 otmpStyleName : PSTR; 5845 otmpFullName : PSTR; 5846 end; 5847 LPOUTLINETEXTMETRICW = ^OUTLINETEXTMETRICW; 5848 _OUTLINETEXTMETRICW = OUTLINETEXTMETRICW; 5849 TOUTLINETEXTMETRICW = OUTLINETEXTMETRICW; 5850 POUTLINETEXTMETRICW = LPOUTLINETEXTMETRICW; 5851 5852 {$ifdef Unicode} 5853 LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICW; 5854 _OUTLINETEXTMETRIC = OUTLINETEXTMETRICW; 5855 TOUTLINETEXTMETRIC = OUTLINETEXTMETRICW; 5856 POUTLINETEXTMETRIC = LPOUTLINETEXTMETRICW; 5857 OUTLINETEXTMETRIC = OUTLINETEXTMETRICW; 5858 {$else} 5859 LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA; 5860 _OUTLINETEXTMETRIC = OUTLINETEXTMETRICA; 5861 TOUTLINETEXTMETRIC = OUTLINETEXTMETRICA; 5862 POUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA; 5863 OUTLINETEXTMETRIC = OUTLINETEXTMETRICA; 5864 {$endif} 5865 5866 {$POP} 5867 OVERLAPPED = record 5868 Internal : ULONG_PTR; 5869 InternalHigh : ULONG_PTR; 5870 Offset : DWORD; 5871 OffsetHigh : DWORD; 5872 hEvent : HANDLE; 5873 end; 5874 LPOVERLAPPED = ^OVERLAPPED; 5875 _OVERLAPPED = OVERLAPPED; 5876 TOVERLAPPED = OVERLAPPED; 5877 POVERLAPPED = ^OVERLAPPED; 5878 5879 {PAGESETUPDLG = record conflicts with function PageSetupDlg } 5880 TPAGESETUPDLG = record 5881 lStructSize : DWORD; 5882 hwndOwner : HWND; 5883 hDevMode : HGLOBAL; 5884 hDevNames : HGLOBAL; 5885 Flags : DWORD; 5886 ptPaperSize : POINT; 5887 rtMinMargin : RECT; 5888 rtMargin : RECT; 5889 hInstance : HINST; 5890 lCustData : LPARAM; 5891 lpfnPageSetupHook : LPPAGESETUPHOOK; 5892 lpfnPagePaintHook : LPPAGEPAINTHOOK; 5893 lpPageSetupTemplateName : LPCTSTR; 5894 hPageSetupTemplate : HGLOBAL; 5895 end; 5896 LPPAGESETUPDLG = ^TPAGESETUPDLG; 5897 PPAGESETUPDLG = ^TPAGESETUPDLG; 5898 5899 tagPSD = TPAGESETUPDLG; 5900 TPSD = TPAGESETUPDLG; 5901 PPSD = ^TPAGESETUPDLG; 5902 5903 PAINTSTRUCT = record 5904 hdc : HDC; 5905 fErase : WINBOOL; 5906 rcPaint : RECT; 5907 fRestore : WINBOOL; 5908 fIncUpdate : WINBOOL; 5909 rgbReserved : array[0..31] of BYTE; 5910 end; 5911 LPPAINTSTRUCT = ^PAINTSTRUCT; 5912 tagPAINTSTRUCT = PAINTSTRUCT; 5913 TPAINTSTRUCT = PAINTSTRUCT; 5914 PPAINTSTRUCT = ^PAINTSTRUCT; 5915 5916 PARAFORMAT = record 5917 cbSize : UINT; 5918 dwMask : DWORD; 5919 wNumbering : WORD; 5920 wReserved : WORD; 5921 dxStartIndent : LONG; 5922 dxRightIndent : LONG; 5923 dxOffset : LONG; 5924 wAlignment : WORD; 5925 cTabCount : SHORT; 5926 rgxTabs : array[0..(MAX_TAB_STOPS)-1] of LONG; 5927 end; 5928 _paraformat = PARAFORMAT; 5929 Tparaformat = PARAFORMAT; 5930 Pparaformat = ^PARAFORMAT; 5931 5932 PERF_COUNTER_BLOCK = record 5933 ByteLength : DWORD; 5934 end; 5935 _PERF_COUNTER_BLOCK = PERF_COUNTER_BLOCK; 5936 TPERFCOUNTERBLOCK = PERF_COUNTER_BLOCK; 5937 PPERFCOUNTERBLOCK = ^PERF_COUNTER_BLOCK; 5938 5939 PERF_COUNTER_DEFINITION = record 5940 ByteLength : DWORD; 5941 CounterNameTitleIndex : DWORD; 5942 CounterNameTitle : LPWSTR; 5943 CounterHelpTitleIndex : DWORD; 5944 CounterHelpTitle : LPWSTR; 5945 DefaultScale : DWORD; 5946 DetailLevel : DWORD; 5947 CounterType : DWORD; 5948 CounterSize : DWORD; 5949 CounterOffset : DWORD; 5950 end; 5951 _PERF_COUNTER_DEFINITION = PERF_COUNTER_DEFINITION; 5952 TPERFCOUNTERDEFINITION = PERF_COUNTER_DEFINITION; 5953 PPERFCOUNTERDEFINITION = ^PERF_COUNTER_DEFINITION; 5954 5955 PERF_DATA_BLOCK = record 5956 Signature : array[0..3] of WCHAR; 5957 LittleEndian : DWORD; 5958 Version : DWORD; 5959 Revision : DWORD; 5960 TotalByteLength : DWORD; 5961 HeaderLength : DWORD; 5962 NumObjectTypes : DWORD; 5963 DefaultObject : DWORD; 5964 SystemTime : SYSTEMTIME; 5965 PerfTime : LARGE_INTEGER; 5966 PerfFreq : LARGE_INTEGER; 5967 PerfTime100nSec : LARGE_INTEGER; 5968 SystemNameLength : DWORD; 5969 SystemNameOffset : DWORD; 5970 end; 5971 _PERF_DATA_BLOCK = PERF_DATA_BLOCK; 5972 TPERFDATABLOCK = PERF_DATA_BLOCK; 5973 PPERFDATABLOCK = ^PERF_DATA_BLOCK; 5974 5975 PERF_INSTANCE_DEFINITION = record 5976 ByteLength : DWORD; 5977 ParentObjectTitleIndex : DWORD; 5978 ParentObjectInstance : DWORD; 5979 UniqueID : DWORD; 5980 NameOffset : DWORD; 5981 NameLength : DWORD; 5982 end; 5983 _PERF_INSTANCE_DEFINITION = PERF_INSTANCE_DEFINITION; 5984 TPERFINSTANCEDEFINITION = PERF_INSTANCE_DEFINITION; 5985 PPERFINSTANCEDEFINITION = PERF_INSTANCE_DEFINITION; 5986 5987 PERF_OBJECT_TYPE = record 5988 TotalByteLength : DWORD; 5989 DefinitionLength : DWORD; 5990 HeaderLength : DWORD; 5991 ObjectNameTitleIndex : DWORD; 5992 ObjectNameTitle : LPWSTR; 5993 ObjectHelpTitleIndex : DWORD; 5994 ObjectHelpTitle : LPWSTR; 5995 DetailLevel : DWORD; 5996 NumCounters : DWORD; 5997 DefaultCounter : DWORD; 5998 NumInstances : DWORD; 5999 CodePage : DWORD; 6000 PerfTime : LARGE_INTEGER; 6001 PerfFreq : LARGE_INTEGER; 6002 end; 6003 _PERF_OBJECT_TYPE = PERF_OBJECT_TYPE; 6004 TPERFOBJECTTYPE = PERF_OBJECT_TYPE; 6005 PPERFOBJECTTYPE = ^PERF_OBJECT_TYPE; 6006 6007 POLYTEXTA = record 6008 x : longint; 6009 y : longint; 6010 n : UINT; 6011 lpstr : LPCSTR; 6012 uiFlags : UINT; 6013 rcl : RECT; 6014 pdx : ^longint; 6015 end; 6016 _POLYTEXTA = POLYTEXTA; 6017 TPOLYTEXTA = POLYTEXTA; 6018 PPOLYTEXTA = ^POLYTEXTA; 6019 6020 POLYTEXTW = record 6021 x : longint; 6022 y : longint; 6023 n : UINT; 6024 lpstr : LPCWSTR; 6025 uiFlags : UINT; 6026 rcl : RECT; 6027 pdx : ^longint; 6028 end; 6029 _POLYTEXTW = POLYTEXTW; 6030 TPOLYTEXTW = POLYTEXTW; 6031 PPOLYTEXTW = ^POLYTEXTW; 6032 6033 {$ifdef unicode} 6034 _POLYTEXT = POLYTEXTW; 6035 TPOLYTEXT = POLYTEXTW; 6036 POLYTEXT = POLYTEXTW; 6037 PPOLYTEXT = ^POLYTEXTW; 6038 {$else} 6039 _POLYTEXT = POLYTEXTA; 6040 TPOLYTEXT = POLYTEXTA; 6041 POLYTEXT = POLYTEXTA; 6042 PPOLYTEXT = ^POLYTEXTA; 6043 {$endif} 6044 6045 PORT_INFO_1 = record 6046 pName : LPTSTR; 6047 end; 6048 _PORT_INFO_1 = PORT_INFO_1; 6049 TPORTINFO1 = PORT_INFO_1; 6050 PPORTINFO1 = ^PORT_INFO_1; 6051 6052 PORT_INFO_2 = record 6053 pPortName : LPSTR; 6054 pMonitorName : LPSTR; 6055 pDescription : LPSTR; 6056 fPortType : DWORD; 6057 Reserved : DWORD; 6058 end; 6059 _PORT_INFO_2 = PORT_INFO_2; 6060 TPORTINFO2 = PORT_INFO_2; 6061 PPORTINFO2 = ^PORT_INFO_2; 6062 6063 PREVENT_MEDIA_REMOVAL = record 6064 PreventMediaRemoval : BOOLEAN; 6065 end; 6066 _PREVENT_MEDIA_REMOVAL = PREVENT_MEDIA_REMOVAL; 6067 TPREVENTMEDIAREMOVAL = PREVENT_MEDIA_REMOVAL; 6068 PPREVENTMEDIAREMOVAL = ^PREVENT_MEDIA_REMOVAL; 6069 6070 {PRINTDLG = record conflicts with PrintDlg function } 6071 TPRINTDLG = {$ifndef win64}packed {$endif}record 6072 lStructSize : DWORD; 6073 hwndOwner : HWND; 6074 hDevMode : HGLOBAL; 6075 hDevNames : HGLOBAL; 6076 hDC : HDC; 6077 Flags : DWORD; 6078 nFromPage : WORD; 6079 nToPage : WORD; 6080 nMinPage : WORD; 6081 nMaxPage : WORD; 6082 nCopies : WORD; 6083 hInstance : HINST; 6084 lCustData : LPARAM; 6085 lpfnPrintHook : LPPRINTHOOKPROC; 6086 lpfnSetupHook : LPSETUPHOOKPROC; 6087 lpPrintTemplateName : LPCTSTR; 6088 lpSetupTemplateName : LPCTSTR; 6089 hPrintTemplate : HGLOBAL; 6090 hSetupTemplate : HGLOBAL; 6091 end; 6092 LPPRINTDLG = ^TPRINTDLG; 6093 PPRINTDLG = ^TPRINTDLG; 6094 6095 tagPD = TPRINTDLG; 6096 TPD = TPRINTDLG; 6097 PPD = ^TPRINTDLG; 6098 6099 PRINTER_DEFAULTS = record 6100 pDatatype : LPTSTR; 6101 pDevMode : LPDEVMODE; 6102 DesiredAccess : ACCESS_MASK; 6103 end; 6104 _PRINTER_DEFAULTS = PRINTER_DEFAULTS; 6105 TPRINTERDEFAULTS = PRINTER_DEFAULTS; 6106 PPRINTERDEFAULTS = ^PRINTER_DEFAULTS; 6107 6108 PRINTER_INFO_1 = record 6109 Flags : DWORD; 6110 pDescription : LPTSTR; 6111 pName : LPTSTR; 6112 pComment : LPTSTR; 6113 end; 6114 LPPRINTER_INFO_1 = ^PRINTER_INFO_1; 6115 PPRINTER_INFO_1 = ^PRINTER_INFO_1; 6116 _PRINTER_INFO_1 = PRINTER_INFO_1; 6117 TPRINTERINFO1 = PRINTER_INFO_1; 6118 PPRINTERINFO1 = ^PRINTER_INFO_1; 6119 6120 PRINTER_INFO_2 = record 6121 pServerName : LPTSTR; 6122 pPrinterName : LPTSTR; 6123 pShareName : LPTSTR; 6124 pPortName : LPTSTR; 6125 pDriverName : LPTSTR; 6126 pComment : LPTSTR; 6127 pLocation : LPTSTR; 6128 pDevMode : LPDEVMODE; 6129 pSepFile : LPTSTR; 6130 pPrintProcessor : LPTSTR; 6131 pDatatype : LPTSTR; 6132 pParameters : LPTSTR; 6133 pSecurityDescriptor : PSECURITY_DESCRIPTOR; 6134 Attributes : DWORD; 6135 Priority : DWORD; 6136 DefaultPriority : DWORD; 6137 StartTime : DWORD; 6138 UntilTime : DWORD; 6139 Status : DWORD; 6140 cJobs : DWORD; 6141 AveragePPM : DWORD; 6142 end; 6143 _PRINTER_INFO_2 = PRINTER_INFO_2; 6144 TPRINTERINFO2 = PRINTER_INFO_2; 6145 PPRINTERINFO2 = ^PRINTER_INFO_2; 6146 6147 PRINTER_INFO_3 = record 6148 pSecurityDescriptor : PSECURITY_DESCRIPTOR; 6149 end; 6150 _PRINTER_INFO_3 = PRINTER_INFO_3; 6151 TPRINTERINFO3 = PRINTER_INFO_3; 6152 PPRINTERINFO3 = ^PRINTER_INFO_3; 6153 6154 PRINTER_INFO_4 = record 6155 pPrinterName : LPTSTR; 6156 pServerName : LPTSTR; 6157 Attributes : DWORD; 6158 end; 6159 _PRINTER_INFO_4 = PRINTER_INFO_4; 6160 TPRINTERINFO4 = PRINTER_INFO_4; 6161 PPRINTERINFO4 = ^PRINTER_INFO_4; 6162 6163 PRINTER_INFO_5 = record 6164 pPrinterName : LPTSTR; 6165 pPortName : LPTSTR; 6166 Attributes : DWORD; 6167 DeviceNotSelectedTimeout : DWORD; 6168 TransmissionRetryTimeout : DWORD; 6169 end; 6170 _PRINTER_INFO_5 = PRINTER_INFO_5; 6171 TPRINTERINFO5 = PRINTER_INFO_5; 6172 PPRINTERINFO5 = ^PRINTER_INFO_5; 6173 6174 PRINTER_NOTIFY_INFO_DATA = record 6175 _Type : WORD; 6176 Field : WORD; 6177 Reserved : DWORD; 6178 Id : DWORD; 6179 NotifyData : record 6180 case longint of 6181 0 : ( adwData : array[0..1] of DWORD ); 6182 1 : ( Data : record 6183 cbBuf : DWORD; 6184 pBuf : LPVOID; 6185 end ); 6186 end; 6187 end; 6188 _PRINTER_NOTIFY_INFO_DATA = PRINTER_NOTIFY_INFO_DATA; 6189 TPRINTERNOTIFYINFODATA = PRINTER_NOTIFY_INFO_DATA; 6190 PPRINTERNOTIFYINFODATA = ^PRINTER_NOTIFY_INFO_DATA; 6191 6192 PRINTER_NOTIFY_INFO = record 6193 Version : DWORD; 6194 Flags : DWORD; 6195 Count : DWORD; 6196 aData : array[0..0] of PRINTER_NOTIFY_INFO_DATA; 6197 end; 6198 _PRINTER_NOTIFY_INFO = PRINTER_NOTIFY_INFO; 6199 TPRINTERNOTIFYINFO = PRINTER_NOTIFY_INFO; 6200 PPRINTERNOTIFYINFO = ^PRINTER_NOTIFY_INFO; 6201 6202 PRINTER_NOTIFY_OPTIONS_TYPE = record 6203 _Type : WORD; 6204 Reserved0 : WORD; 6205 Reserved1 : DWORD; 6206 Reserved2 : DWORD; 6207 Count : DWORD; 6208 pFields : PWORD; 6209 end; 6210 PPRINTER_NOTIFY_OPTIONS_TYPE = ^PRINTER_NOTIFY_OPTIONS_TYPE; 6211 _PRINTER_NOTIFY_OPTIONS_TYPE = PRINTER_NOTIFY_OPTIONS_TYPE; 6212 TPRINTERNOTIFYOPTIONSTYPE = PRINTER_NOTIFY_OPTIONS_TYPE; 6213 PPRINTERNOTIFYOPTIONSTYPE = ^PRINTER_NOTIFY_OPTIONS_TYPE; 6214 6215 PRINTER_NOTIFY_OPTIONS = record 6216 Version : DWORD; 6217 Flags : DWORD; 6218 Count : DWORD; 6219 pTypes : PPRINTER_NOTIFY_OPTIONS_TYPE; 6220 end; 6221 _PRINTER_NOTIFY_OPTIONS = PRINTER_NOTIFY_OPTIONS; 6222 TPRINTERNOTIFYOPTIONS = PRINTER_NOTIFY_OPTIONS; 6223 PPRINTERNOTIFYOPTIONS = ^PRINTER_NOTIFY_OPTIONS; 6224 6225 PRINTPROCESSOR_INFO_1 = record 6226 pName : LPTSTR; 6227 end; 6228 _PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1; 6229 TPRINTPROCESSORINFO1 = PRINTPROCESSOR_INFO_1; 6230 PPRINTPROCESSORINFO1 = ^PRINTPROCESSOR_INFO_1; 6231 6232 PRIVILEGE_SET = record 6233 PrivilegeCount : DWORD; 6234 Control : DWORD; 6235 Privilege : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES; 6236 end; 6237 LPPRIVILEGE_SET = ^PRIVILEGE_SET; 6238 PPRIVILEGE_SET = ^PRIVILEGE_SET; 6239 _PRIVILEGE_SET = PRIVILEGE_SET; 6240 TPRIVILEGESET = PRIVILEGE_SET; 6241 PPRIVILEGESET = ^PRIVILEGE_SET; 6242 6243 PROCESS_HEAPENTRY = record 6244 lpData : PVOID; 6245 cbData : DWORD; 6246 cbOverhead : BYTE; 6247 iRegionIndex : BYTE; 6248 wFlags : WORD; 6249 case longint of 6250 0 : (hMem : HANDLE; 6251 dwReserved : array [0..2] of DWORD; 6252 ); 6253 1 : (dwCommittedSize : DWORD; 6254 dwUnCommittedSize : DWORD; 6255 lpFirstBlock : LPVOID; 6256 lpLastBlock : LPVOID; 6257 ); 6258 end; 6259 LPPROCESS_HEAP_ENTRY = ^PROCESS_HEAPENTRY; 6260 _PROCESS_HEAP_ENTRY = PROCESS_HEAPENTRY; 6261 TPROCESSHEAPENTRY = PROCESS_HEAPENTRY; 6262 PPROCESSHEAPENTRY = ^PROCESS_HEAPENTRY; 6263 6264 PROCESS_INFORMATION = record 6265 hProcess : HANDLE; 6266 hThread : HANDLE; 6267 dwProcessId : DWORD; 6268 dwThreadId : DWORD; 6269 end; 6270 LPPROCESS_INFORMATION = ^PROCESS_INFORMATION; 6271 _PROCESS_INFORMATION = PROCESS_INFORMATION; 6272 TPROCESSINFORMATION = PROCESS_INFORMATION; 6273 PPROCESSINFORMATION = ^PROCESS_INFORMATION; 6274 6275 LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT;stdcall; 6276 TFNPSPCALLBACK = LPFNPSPCALLBACK; 6277 6278 PROPSHEETPAGE = record 6279 dwSize : DWORD; 6280 dwFlags : DWORD; 6281 hInstance : HINST; 6282 case longint of 6283 0 : (pszTemplate : LPCTSTR); 6284 1 : (pResource : LPCDLGTEMPLATE; 6285 case longint of 6286 0 : (hIcon : HICON); 6287 1 : (pszIcon : LPCTSTR; 6288 pszTitle : LPCTSTR; 6289 pfnDlgProc : DLGPROC; 6290 lParam : LPARAM; 6291 pfnCallback : LPFNPSPCALLBACK; 6292 pcRefParent : ^UINT; 6293 ); 6294 ); 6295 end; 6296 LPPROPSHEETPAGE = ^PROPSHEETPAGE; 6297 LPCPROPSHEETPAGE = ^PROPSHEETPAGE; 6298 _PROPSHEETPAGE = PROPSHEETPAGE; 6299 TPROPSHEETPAGE = PROPSHEETPAGE; 6300 PPROPSHEETPAGE = ^PROPSHEETPAGE; 6301 6302 emptyrecord = record 6303 end; 6304 lpemptyrecord = ^emptyrecord; 6305 HPROPSHEETPAGE = ^emptyrecord; 6306 6307 PROPSHEETHEADERA = record 6308 dwSize : DWORD; 6309 dwFlags : DWORD; 6310 hwndParent : HWND; 6311 hInstance : HINST; 6312 case longint of 6313 0 : (hIcon : HICON); 6314 1 : (pszIcon : LPCSTR; 6315 pszCaption : LPCSTR; 6316 nPages : UINT; 6317 case longint of 6318 0 : (nStartPage : UINT); 6319 1 : (pStartPage : LPCSTR; 6320 case longint of 6321 0 : (ppsp : LPCPROPSHEETPAGE); 6322 1 : (phpage : ^HPROPSHEETPAGE; 6323 pfnCallback : PFNPROPSHEETCALLBACK; 6324 case longint of 6325 0 : (hbmWatermark : HBITMAP); 6326 1 : (pszbmWatermark : LPCSTR; 6327 hplWatermark : HPALETTE; 6328 case longint of 6329 0 : (hbmHeader : HBITMAP); 6330 1 : (pszbmHeader: LPCStr); 6331 ); 6332 ); 6333 ); 6334 ); 6335 end; 6336 LPPROPSHEETHEADERA = ^PROPSHEETHEADERA; 6337 LPCPROPSHEETHEADERA = ^PROPSHEETHEADERA; 6338 _PROPSHEETHEADERA = PROPSHEETHEADERA; 6339 TPROPSHEETHEADERA = PROPSHEETHEADERA; 6340 PPROPSHEETHEADERA = ^PROPSHEETHEADERA; 6341 6342 PROPSHEETHEADERW = record 6343 dwSize : DWORD; 6344 dwFlags : DWORD; 6345 hwndParent : HWND; 6346 hInstance : HINST; 6347 case longint of 6348 0 : (hIcon : HICON); 6349 1 : (pszIcon : LPCWSTR; 6350 pszCaption : LPCWSTR; 6351 nPages : UINT; 6352 case longint of 6353 0 : (nStartPage : UINT); 6354 1 : (pStartPage : LPCWSTR; 6355 case longint of 6356 0 : (ppsp : LPCPROPSHEETPAGE); 6357 1 : (phpage : ^HPROPSHEETPAGE; 6358 pfnCallback : PFNPROPSHEETCALLBACK; 6359 case longint of 6360 0 : (hbmWatermark : HBITMAP); 6361 1 : (pszbmWatermark : LPCWSTR; 6362 hplWatermark : HPALETTE; 6363 case longint of 6364 0 : (hbmHeader : HBITMAP); 6365 1 : (pszbmHeader: LPCWStr); 6366 ); 6367 ); 6368 ); 6369 ); 6370 end; 6371 LPPROPSHEETHEADERW = ^PROPSHEETHEADERW; 6372 LPCPROPSHEETHEADERW = ^PROPSHEETHEADERW; 6373 _PROPSHEETHEADERW = PROPSHEETHEADERW; 6374 TPROPSHEETHEADERW = PROPSHEETHEADERW; 6375 PPROPSHEETHEADERW = ^PROPSHEETHEADERW; 6376 6377 {$ifdef Unicode} 6378 PROPSHEETHEADER = PROPSHEETHEADERW; 6379 LPPROPSHEETHEADER = LPPROPSHEETHEADERW; 6380 LPCPROPSHEETHEADER = LPCPROPSHEETHEADERW; 6381 _PROPSHEETHEADER = _PROPSHEETHEADERW; 6382 TPROPSHEETHEADER = TPROPSHEETHEADERW; 6383 PPROPSHEETHEADER = PPROPSHEETHEADERW; 6384 {$else} 6385 PROPSHEETHEADER = PROPSHEETHEADERA; 6386 LPPROPSHEETHEADER = LPPROPSHEETHEADERA; 6387 LPCPROPSHEETHEADER = LPCPROPSHEETHEADERA; 6388 _PROPSHEETHEADER = _PROPSHEETHEADERA; 6389 TPROPSHEETHEADER = TPROPSHEETHEADERA; 6390 PPROPSHEETHEADER = PPROPSHEETHEADERA; 6391 {$endif} 6392 6393 { PropertySheet callbacks } 6394 LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL;stdcall; 6395 TFNADDPROPSHEETPAGE = LPFNADDPROPSHEETPAGE; 6396 6397 LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL;stdcall; 6398 TFNADDPROPSHEETPAGES = LPFNADDPROPSHEETPAGES; 6399 6400 PROTOCOL_INFO = record 6401 dwServiceFlags : DWORD; 6402 iAddressFamily : WINT; 6403 iMaxSockAddr : WINT; 6404 iMinSockAddr : WINT; 6405 iSocketType : WINT; 6406 iProtocol : WINT; 6407 dwMessageSize : DWORD; 6408 lpProtocol : LPTSTR; 6409 end; 6410 _PROTOCOL_INFO = PROTOCOL_INFO; 6411 TPROTOCOLINFO = PROTOCOL_INFO; 6412 PPROTOCOLINFO = ^PROTOCOL_INFO; 6413 6414 PROVIDOR_INFO_1 = record 6415 pName : LPTSTR; 6416 pEnvironment : LPTSTR; 6417 pDLLName : LPTSTR; 6418 end; 6419 _PROVIDOR_INFO_1 = PROVIDOR_INFO_1; 6420 TPROVIDORINFO1 = PROVIDOR_INFO_1; 6421 PPROVIDORINFO1 = ^PROVIDOR_INFO_1; 6422 6423 PSHNOTIFY = record 6424 hdr : NMHDR; 6425 lParam : LPARAM; 6426 end; 6427 LPPSHNOTIFY = ^PSHNOTIFY; 6428 _PSHNOTIFY = PSHNOTIFY; 6429 TPSHNOTIFY = PSHNOTIFY; 6430 PPSHNOTIFY = ^PSHNOTIFY; 6431 6432 PUNCTUATION = record 6433 iSize : UINT; 6434 szPunctuation : LPSTR; 6435 end; 6436 _punctuation = PUNCTUATION; 6437 Tpunctuation = PUNCTUATION; 6438 Ppunctuation = ^PUNCTUATION; 6439 6440 QUERY_SERVICE_CONFIG = record 6441 dwServiceType : DWORD; 6442 dwStartType : DWORD; 6443 dwErrorControl : DWORD; 6444 lpBinaryPathName : LPTSTR; 6445 lpLoadOrderGroup : LPTSTR; 6446 dwTagId : DWORD; 6447 lpDependencies : LPTSTR; 6448 lpServiceStartName : LPTSTR; 6449 lpDisplayName : LPTSTR; 6450 end; 6451 LPQUERY_SERVICE_CONFIG = ^QUERY_SERVICE_CONFIG; 6452 _QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIG; 6453 TQUERYSERVICECONFIG = QUERY_SERVICE_CONFIG; 6454 PQUERYSERVICECONFIG = ^QUERY_SERVICE_CONFIG; 6455 6456 QUERY_SERVICE_CONFIGA = record 6457 dwServiceType : DWORD; 6458 dwStartType : DWORD; 6459 dwErrorControl : DWORD; 6460 lpBinaryPathName : LPSTR; 6461 lpLoadOrderGroup : LPSTR; 6462 dwTagId : DWORD; 6463 lpDependencies : LPSTR; 6464 lpServiceStartName : LPSTR; 6465 lpDisplayName : LPSTR; 6466 end; 6467 LPQUERY_SERVICE_CONFIGA = ^QUERY_SERVICE_CONFIGA; 6468 _QUERY_SERVICE_CONFIGA = QUERY_SERVICE_CONFIGA; 6469 TQUERYSERVICECONFIGA = QUERY_SERVICE_CONFIGA; 6470 PQUERYSERVICECONFIGA = ^QUERY_SERVICE_CONFIGA; 6471 6472 QUERY_SERVICE_CONFIGW = record 6473 dwServiceType : DWORD; 6474 dwStartType : DWORD; 6475 dwErrorControl : DWORD; 6476 lpBinaryPathName : LPWSTR; 6477 lpLoadOrderGroup : LPWSTR; 6478 dwTagId : DWORD; 6479 lpDependencies : LPWSTR; 6480 lpServiceStartName : LPWSTR; 6481 lpDisplayName : LPWSTR; 6482 end; 6483 LPQUERY_SERVICE_CONFIGW = ^QUERY_SERVICE_CONFIGW; 6484 _QUERY_SERVICE_CONFIGW = QUERY_SERVICE_CONFIGW; 6485 TQUERYSERVICECONFIGW = QUERY_SERVICE_CONFIGW; 6486 PQUERYSERVICECONFIGW = ^QUERY_SERVICE_CONFIGW; 6487 6488 QUERY_SERVICE_LOCK_STATUSA = record 6489 fIsLocked : DWORD; 6490 lpLockOwner : LPSTR; 6491 dwLockDuration : DWORD; 6492 end; 6493 LPQUERY_SERVICE_LOCK_STATUSA = ^QUERY_SERVICE_LOCK_STATUSA; 6494 _QUERY_SERVICE_LOCK_STATUSA = QUERY_SERVICE_LOCK_STATUSA; 6495 TQUERYSERVICELOCKSTATUSA = QUERY_SERVICE_LOCK_STATUSA; 6496 PQUERYSERVICELOCKSTATUSA = ^QUERY_SERVICE_LOCK_STATUSA; 6497 6498 QUERY_SERVICE_LOCK_STATUSW = record 6499 fIsLocked : DWORD; 6500 lpLockOwner : LPWSTR; 6501 dwLockDuration : DWORD; 6502 end; 6503 LPQUERY_SERVICE_LOCK_STATUSW = ^QUERY_SERVICE_LOCK_STATUSW; 6504 _QUERY_SERVICE_LOCK_STATUSW = QUERY_SERVICE_LOCK_STATUSW; 6505 TQUERYSERVICELOCKSTATUSW = QUERY_SERVICE_LOCK_STATUSW; 6506 PQUERYSERVICELOCKSTATUSW = ^QUERY_SERVICE_LOCK_STATUSW; 6507 {$ifdef Unicode} 6508 LPQUERY_SERVICE_LOCK_STATUS = ^QUERY_SERVICE_LOCK_STATUSW; 6509 _QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSW; 6510 QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSW; 6511 TQUERYSERVICELOCKSTATUS = QUERY_SERVICE_LOCK_STATUSW; 6512 PQUERYSERVICELOCKSTATUS = ^QUERY_SERVICE_LOCK_STATUSW; 6513 {$else} 6514 LPQUERY_SERVICE_LOCK_STATUS = ^QUERY_SERVICE_LOCK_STATUSA; 6515 _QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSA; 6516 QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSA; 6517 TQUERYSERVICELOCKSTATUS = QUERY_SERVICE_LOCK_STATUSA; 6518 PQUERYSERVICELOCKSTATUS = ^QUERY_SERVICE_LOCK_STATUSA; 6519 {$endif} 6520 6521 RASAMBA = record 6522 dwSize : DWORD; 6523 dwError : DWORD; 6524 szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of AnsiCHAR; 6525 bLana : BYTE; 6526 end; 6527 _RASAMBA = RASAMBA; 6528 TRASAMBA = RASAMBA; 6529 PRASAMBA = ^RASAMBA; 6530 6531 RASAMBW = record 6532 dwSize : DWORD; 6533 dwError : DWORD; 6534 szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of WideCHAR; 6535 bLana : BYTE; 6536 end; 6537 _RASAMBW = RASAMBW; 6538 TRASAMBW = RASAMBW; 6539 PRASAMBW = ^RASAMBW; 6540 {$ifdef Unicode} 6541 _RASAMB = RASAMBW; 6542 TRASAMB = RASAMBW; 6543 PRASAMB = PRASAMBW; 6544 RASAMB = RASAMBW; 6545 {$else} 6546 _RASAMB = RASAMBA; 6547 TRASAMB = RASAMBA; 6548 RASAMB = RASAMBA; 6549 PRASAMB = PRASAMBA; 6550 {$endif} 6551 6552 RASCONNA = record 6553 dwSize : DWORD; 6554 hrasconn : HRASCONN; 6555 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of AnsiCHAR; 6556 szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of AnsiCHAR; 6557 szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of AnsiCHAR; 6558 end; 6559 _RASCONNA = RASCONNA; 6560 TRASCONNA = RASCONNA; 6561 PRASCONNA = ^RASCONNA; 6562 6563 RASCONNW = record 6564 dwSize : DWORD; 6565 hrasconn : HRASCONN; 6566 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of WideCHAR; 6567 szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of WideCHAR; 6568 szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of WideCHAR; 6569 end; 6570 _RASCONNW = RASCONNW; 6571 TRASCONNW = RASCONNW; 6572 PRASCONNW = ^RASCONNW; 6573 {$ifdef Unicode} 6574 _RASCONN = RASCONNW; 6575 TRASCONN = RASCONNW; 6576 PRASCONN = PRASCONNW; 6577 RASCONN = RASCONNW; 6578 {$else} 6579 _RASCONN = RASCONNA; 6580 TRASCONN = RASCONNA; 6581 PRASCONN = PRASCONNA; 6582 RASCONN = RASCONNA; 6583 {$endif} 6584 6585 { actually: in_addr } 6586 RASIPV4ADDR = record 6587 case longint of 6588 0 : (s_b1 : BYTE; 6589 s_b2 : BYTE; 6590 s_b3 : BYTE; 6591 s_b4 : BYTE; 6592 ); 6593 1 : (s_w1 : USHORT; 6594 s_w2 : USHORT; 6595 ); 6596 2 : (S_addr : ULONG;); 6597 end; 6598 6599 { actually: in6_addr } 6600 RASIPV6ADDR = record 6601 case longint of 6602 0 : (rbyte : array[0..15] of BYTE); 6603 1 : (rword : array[0..7] of USHORT); 6604 end; 6605 6606 RASTUNNELENDPOINT = record 6607 dwType : DWORD; 6608 case longint of 6609 0 : (ipv4 : RASIPV4ADDR); 6610 1 : (ipv6 : RASIPV6ADDR); 6611 end; 6612 6613 RASCONNSUBSTATE = longint; //enumerated type 6614 6615 RASCONNSTATUSA = record 6616 dwSize : DWORD; 6617 rasconnstate : RASCONNSTATE; 6618 dwError : DWORD; 6619 szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of AnsiCHAR; 6620 szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of AnsiCHAR; 6621 szPhoneNumber : array[0..(RAS_MaxPhoneNumber + 1)-1] of AnsiCHAR; // http://msdn.microsoft.com/en-us/library/windows/desktop/aa376728%28v=vs.85%29.aspx 6622 localEndPoint : RASTUNNELENDPOINT; 6623 remoteEndPoint : RASTUNNELENDPOINT; 6624 rasconnsubstate : RASCONNSUBSTATE; 6625 end; 6626 _RASCONNSTATUSA = RASCONNSTATUSA; 6627 TRASCONNSTATUSA = RASCONNSTATUSA; 6628 PRASCONNSTATUSA = ^RASCONNSTATUSA; 6629 6630 RASCONNSTATUSW = record 6631 dwSize : DWORD; 6632 rasconnstate : RASCONNSTATE; 6633 dwError : DWORD; 6634 szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of WideCHAR; 6635 szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of WideCHAR; 6636 szPhoneNumber : array[0..(RAS_MaxPhoneNumber + 1)-1] of WideCHAR; // http://msdn.microsoft.com/en-us/library/windows/desktop/aa376728%28v=vs.85%29.aspx 6637 localEndPoint : RASTUNNELENDPOINT; 6638 remoteEndPoint : RASTUNNELENDPOINT; 6639 rasconnsubstate : RASCONNSUBSTATE; 6640 end; 6641 _RASCONNSTATUSW = RASCONNSTATUSW; 6642 TRASCONNSTATUSW = RASCONNSTATUSW; 6643 PRASCONNSTATUSW = ^RASCONNSTATUSW; 6644 {$ifdef Unicode} 6645 _RASCONNSTATUS = RASCONNSTATUSW; 6646 TRASCONNSTATUS = RASCONNSTATUSW; 6647 PRASCONNSTATUS = PRASCONNSTATUSW; 6648 RASCONNSTATUS = RASCONNSTATUSW; 6649 {$else} 6650 _RASCONNSTATUS = RASCONNSTATUSA; 6651 TRASCONNSTATUS = RASCONNSTATUSA; 6652 PRASCONNSTATUS = PRASCONNSTATUSA; 6653 RASCONNSTATUS = RASCONNSTATUSA; 6654 {$endif} 6655 6656 RASDIALEXTENSIONS = record 6657 dwSize : DWORD; 6658 dwfOptions : DWORD; 6659 hwndParent : HWND; 6660 reserved : DWORD; 6661 end; 6662 _RASDIALEXTENSIONS = RASDIALEXTENSIONS; 6663 TRASDIALEXTENSIONS = RASDIALEXTENSIONS; 6664 PRASDIALEXTENSIONS = ^RASDIALEXTENSIONS; 6665 6666 RASDIALPARAMSA = record 6667 dwSize : DWORD; 6668 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of AnsiCHAR; 6669 szPhoneNumber : array[0..(RAS_MaxPhoneNumber + 1)-1] of AnsiCHAR; 6670 szCallbackNumber : array[0..(RAS_MaxCallbackNumber + 1)-1] of AnsiCHAR; 6671 szUserName : array[0..(UNLEN + 1)-1] of AnsiCHAR; 6672 szPassword : array[0..(PWLEN + 1)-1] of AnsiCHAR; 6673 szDomain : array[0..(DNLEN + 1)-1] of AnsiCHAR; 6674 dwSubEntry : DWORD; // http://msdn.microsoft.com/en-us/library/windows/desktop/aa377238%28v=vs.85%29.aspx 6675 dwCallbackId : ULONG_PTR; 6676 dwIfIndex : DWORD; 6677 end; 6678 _RASDIALPARAMSA = RASDIALPARAMSA; 6679 TRASDIALPARAMSA = RASDIALPARAMSA; 6680 PRASDIALPARAMSA = ^RASDIALPARAMSA; 6681 6682 RASDIALPARAMSW = record 6683 dwSize : DWORD; 6684 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of WCHAR; 6685 szPhoneNumber : array[0..(RAS_MaxPhoneNumber + 1)-1] of WCHAR; 6686 szCallbackNumber : array[0..(RAS_MaxCallbackNumber + 1)-1] of WCHAR; 6687 szUserName : array[0..(UNLEN + 1)-1] of WCHAR; 6688 szPassword : array[0..(PWLEN + 1)-1] of WCHAR; 6689 szDomain : array[0..(DNLEN + 1)-1] of WCHAR; 6690 dwSubEntry : DWORD; // http://msdn.microsoft.com/en-us/library/windows/desktop/aa377238%28v=vs.85%29.aspx 6691 dwCallbackId : ULONG_PTR; 6692 dwIfIndex : DWORD; 6693 end; 6694 _RASDIALPARAMSW = RASDIALPARAMSW; 6695 TRASDIALPARAMSW = RASDIALPARAMSW; 6696 PRASDIALPARAMSW = ^RASDIALPARAMSW; 6697 {$ifdef Unicode} 6698 _RASDIALPARAMS = RASDIALPARAMSW; 6699 TRASDIALPARAMS = RASDIALPARAMSW; 6700 PRASDIALPARAMS = PRASDIALPARAMSW; 6701 RASDIALPARAMS = RASDIALPARAMSW; 6702 {$else} 6703 _RASDIALPARAMS = RASDIALPARAMSA; 6704 TRASDIALPARAMS = RASDIALPARAMSA; 6705 PRASDIALPARAMS = PRASDIALPARAMSA; 6706 RASDIALPARAMS = RASDIALPARAMSA; 6707 {$endif} 6708 6709 RASENTRYNAMEA = record 6710 dwSize : DWORD; 6711 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of AnsiCHAR; 6712 { Winver>=0x500 members } 6713 dwFlags : DWORD; 6714 szPhonebookPath : array[0..(MAX_PATH + 1)-1] of AnsiCHAR; 6715 end; 6716 _RASENTRYNAMEA = RASENTRYNAMEA; 6717 TRASENTRYNAMEA = RASENTRYNAMEA; 6718 PRASENTRYNAMEA = ^RASENTRYNAMEA; 6719 6720 RASENTRYNAMEW = record 6721 dwSize : DWORD; 6722 szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of WCHAR; 6723 { Winver>=0x500 members } 6724 dwFlags : DWORD; 6725 szPhonebookPath : array[0..(MAX_PATH + 1)-1] of WCHAR; 6726 end; 6727 _RASENTRYNAMEW = RASENTRYNAMEW; 6728 TRASENTRYNAMEW = RASENTRYNAMEW; 6729 PRASENTRYNAMEW = ^RASENTRYNAMEW; 6730 {$ifdef Unicode} 6731 _RASENTRYNAME = RASENTRYNAMEW; 6732 TRASENTRYNAME = RASENTRYNAMEW; 6733 PRASENTRYNAME = ^RASENTRYNAMEW; 6734 RASENTRYNAME = RASENTRYNAMEW; 6735 {$else} 6736 _RASENTRYNAME = RASENTRYNAMEA; 6737 TRASENTRYNAME = RASENTRYNAMEA; 6738 PRASENTRYNAME = ^RASENTRYNAMEA; 6739 RASENTRYNAME = RASENTRYNAMEA; 6740 {$endif} 6741 6742 RASPPPIPA = record 6743 dwSize : DWORD; 6744 dwError : DWORD; 6745 szIpAddress : array[0..(RAS_MaxIpAddress + 1)-1] of AnsiCHAR; 6746 end; 6747 _RASPPPIPA = RASPPPIPA; 6748 TRASPPPIPA = RASPPPIPA; 6749 PRASPPPIPA = ^RASPPPIPA; 6750 6751 RASPPPIPW = record 6752 dwSize : DWORD; 6753 dwError : DWORD; 6754 szIpAddress : array[0..(RAS_MaxIpAddress + 1)-1] of WCHAR; 6755 end; 6756 _RASPPPIPW = RASPPPIPW; 6757 TRASPPPIPW = RASPPPIPW; 6758 PRASPPPIPW = ^RASPPPIPW; 6759 {$ifdef Unicode} 6760 _RASPPPIP = RASPPPIPW; 6761 TRASPPPIP = RASPPPIPW; 6762 PRASPPPIP = PRASPPPIPW; 6763 RASPPPIP = RASPPPIPW; 6764 {$else} 6765 _RASPPPIP = RASPPPIPA; 6766 TRASPPPIP = RASPPPIPA; 6767 PRASPPPIP = PRASPPPIPA; 6768 RASPPPIP = RASPPPIPA; 6769 {$endif} 6770 6771 RASPPPIPXA = record 6772 dwSize : DWORD; 6773 dwError : DWORD; 6774 szIpxAddress : array[0..(RAS_MaxIpxAddress + 1)-1] of AnsiCHAR; 6775 end; 6776 _RASPPPIPXA = RASPPPIPXA; 6777 TRASPPPIPXA = RASPPPIPXA; 6778 PRASPPPIPXA = ^RASPPPIPXA; 6779 6780 RASPPPIPXW = record 6781 dwSize : DWORD; 6782 dwError : DWORD; 6783 szIpxAddress : array[0..(RAS_MaxIpxAddress + 1)-1] of WCHAR; 6784 end; 6785 _RASPPPIPXW = RASPPPIPXW; 6786 TRASPPPIPXW = RASPPPIPXW; 6787 PRASPPPIPXW = ^RASPPPIPXW; 6788 6789 {$ifdef Unicode} 6790 _RASPPPIPX = RASPPPIPXW; 6791 TRASPPPIPX = RASPPPIPXW; 6792 PRASPPPIPX = PRASPPPIPXW; 6793 RASPPPIPX = RASPPPIPXW; 6794 {$else} 6795 _RASPPPIPX = RASPPPIPXA; 6796 TRASPPPIPX = RASPPPIPXA; 6797 PRASPPPIPX = PRASPPPIPXA; 6798 RASPPPIPX = RASPPPIPXA; 6799 {$endif} 6800 6801 RASPPPNBFA = record 6802 dwSize : DWORD; 6803 dwError : DWORD; 6804 dwNetBiosError : DWORD; 6805 szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of AnsiCHAR; 6806 szWorkstationName : array[0..(NETBIOS_NAME_LEN + 1)-1] of AnsiCHAR; 6807 bLana : BYTE; 6808 end; 6809 _RASPPPNBFA = RASPPPNBFA; 6810 TRASPPPNBFA = RASPPPNBFA; 6811 PRASPPPNBFA = ^RASPPPNBFA; 6812 6813 RASPPPNBFW = record 6814 dwSize : DWORD; 6815 dwError : DWORD; 6816 dwNetBiosError : DWORD; 6817 szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of WCHAR; 6818 szWorkstationName : array[0..(NETBIOS_NAME_LEN + 1)-1] of WCHAR; 6819 bLana : BYTE; 6820 end; 6821 _RASPPPNBFW = RASPPPNBFW; 6822 TRASPPPNBFW = RASPPPNBFW; 6823 PRASPPPNBFW = ^RASPPPNBFW; 6824 {$ifdef Unicode} 6825 _RASPPPNBF = RASPPPNBFW; 6826 TRASPPPNBF = RASPPPNBFW; 6827 PRASPPPNBF = PRASPPPNBFW; 6828 RASPPPNBF = RASPPPNBFW; 6829 {$else} 6830 _RASPPPNBF = RASPPPNBFA; 6831 TRASPPPNBF = RASPPPNBFA; 6832 PRASPPPNBF = PRASPPPNBFA; 6833 RASPPPNBF = RASPPPNBFA; 6834 {$endif} 6835 RASTERIZER_STATUS = record 6836 nSize : short; 6837 wFlags : short; 6838 nLanguageID : short; 6839 end; 6840 LPRASTERIZER_STATUS = ^RASTERIZER_STATUS; 6841 _RASTERIZER_STATUS = RASTERIZER_STATUS; 6842 TRASTERIZERSTATUS = RASTERIZER_STATUS; 6843 PRASTERIZERSTATUS = ^RASTERIZER_STATUS; 6844 6845 REASSIGN_BLOCKS = record 6846 Reserved : WORD; 6847 Count : WORD; 6848 BlockNumber : array[0..0] of DWORD; 6849 end; 6850 _REASSIGN_BLOCKS = REASSIGN_BLOCKS; 6851 TREASSIGNBLOCKS = REASSIGN_BLOCKS; 6852 PREASSIGNBLOCKS = ^REASSIGN_BLOCKS; 6853 6854 REMOTE_NAME_INFOA = record 6855 lpUniversalName : LPTSTR; 6856 lpConnectionName : LPTSTR; 6857 lpRemainingPath : LPTSTR; 6858 end; 6859 _REMOTE_NAME_INFOA = REMOTE_NAME_INFOA; 6860 TREMOTENAMEINFOA = REMOTE_NAME_INFOA; 6861 PREMOTENAMEINFOA = ^REMOTE_NAME_INFOA; 6862 6863 REMOTE_NAME_INFOW = record 6864 lpUniversalName : LPWSTR; 6865 lpConnectionName : LPWSTR; 6866 lpRemainingPath : LPWSTR; 6867 end; 6868 _REMOTE_NAME_INFOW = REMOTE_NAME_INFOW; 6869 TREMOTENAMEINFOW = REMOTE_NAME_INFOW; 6870 PREMOTENAMEINFOW = ^REMOTE_NAME_INFOW; 6871 6872{$IFNDEF UNICODE} 6873 REMOTE_NAME_INFO = REMOTE_NAME_INFOA; 6874 _REMOTE_NAME_INFO = REMOTE_NAME_INFOA; 6875 TREMOTENAMEINFO = REMOTE_NAME_INFOA; 6876 PREMOTENAMEINFO = ^REMOTE_NAME_INFOA; 6877{$ELSE UNICODE} 6878 REMOTE_NAME_INFO = REMOTE_NAME_INFOW; 6879 _REMOTE_NAME_INFO = REMOTE_NAME_INFOW; 6880 TREMOTENAMEINFO = REMOTE_NAME_INFOW; 6881 PREMOTENAMEINFO = ^REMOTE_NAME_INFOW; 6882{$ENDIF UNICODE} 6883 6884 (* 6885 TODO: OLE 6886 typedef struct _reobject { 6887 DWORD cbStruct; 6888 LONG cp; 6889 CLSID clsid; 6890 LPOLEOBJECT poleobj; 6891 LPSTORAGE pstg; 6892 LPOLECLIENTSITE polesite; 6893 SIZEL sizel; 6894 DWORD dvaspect; 6895 DWORD dwFlags; 6896 DWORD dwUser; 6897 } REOBJECT; 6898 *) 6899 6900 REPASTESPECIAL = record 6901 dwAspect : DWORD; 6902 dwParam : DWORD; 6903 end; 6904 _repastespecial = REPASTESPECIAL; 6905 Trepastespecial = REPASTESPECIAL; 6906 Prepastespecial = ^REPASTESPECIAL; 6907 6908 REQRESIZE = record 6909 nmhdr : NMHDR; 6910 rc : RECT; 6911 end; 6912 _reqresize = REQRESIZE; 6913 Treqresize = REQRESIZE; 6914 Preqresize = ^REQRESIZE; 6915 6916 RGNDATAHEADER = record 6917 dwSize : DWORD; 6918 iType : DWORD; 6919 nCount : DWORD; 6920 nRgnSize : DWORD; 6921 rcBound : RECT; 6922 end; 6923 _RGNDATAHEADER = RGNDATAHEADER; 6924 TRGNDATAHEADER = RGNDATAHEADER; 6925 PRGNDATAHEADER = ^RGNDATAHEADER; 6926 6927 RGNDATA = record 6928 rdh : RGNDATAHEADER; 6929 Buffer : array[0..0] of Ansichar; 6930 end; 6931 LPRGNDATA = ^RGNDATA; 6932 _RGNDATA = RGNDATA; 6933 TRGNDATA = RGNDATA; 6934 PRGNDATA = ^RGNDATA; 6935 6936 SCROLLINFO = record 6937 cbSize : UINT; 6938 fMask : UINT; 6939 nMin : longint; 6940 nMax : longint; 6941 nPage : UINT; 6942 nPos : longint; 6943 nTrackPos : longint; 6944 end; 6945 LPSCROLLINFO = ^SCROLLINFO; 6946 LPCSCROLLINFO = ^SCROLLINFO; 6947 tagSCROLLINFO = SCROLLINFO; 6948 TSCROLLINFO = SCROLLINFO; 6949 PSCROLLINFO = ^SCROLLINFO; 6950 6951 SECURITY_ATTRIBUTES = record 6952 nLength : DWORD; 6953 lpSecurityDescriptor : LPVOID; 6954 bInheritHandle : WINBOOL; 6955 end; 6956 LPSECURITY_ATTRIBUTES = ^SECURITY_ATTRIBUTES; 6957 _SECURITY_ATTRIBUTES = SECURITY_ATTRIBUTES; 6958 TSECURITYATTRIBUTES = SECURITY_ATTRIBUTES; 6959 PSECURITYATTRIBUTES = ^SECURITY_ATTRIBUTES; 6960 6961 SECURITY_INFORMATION = DWORD; 6962 PSECURITY_INFORMATION = ^SECURITY_INFORMATION; 6963 TSECURITYINFORMATION = SECURITY_INFORMATION; 6964 PSECURITYINFORMATION = ^SECURITY_INFORMATION; 6965 6966 SELCHANGE = record 6967 nmhdr : NMHDR; 6968 chrg : CHARRANGE; 6969 seltyp : WORD; 6970 end; 6971 _selchange = SELCHANGE; 6972 Tselchange = SELCHANGE; 6973 Pselchange = ^SELCHANGE; 6974 6975 SERIALKEYS = record 6976 cbSize : UINT; 6977 dwFlags : DWORD; 6978 lpszActivePort : LPSTR; 6979 lpszPort : LPSTR; 6980 iBaudRate : DWORD; 6981 iPortState : DWORD; 6982 end; 6983 LPSERIALKEYS = ^SERIALKEYS; 6984 tagSERIALKEYS = SERIALKEYS; 6985 TSERIALKEYS = SERIALKEYS; 6986 PSERIALKEYS = ^SERIALKEYS; 6987 6988 SERVICE_TABLE_ENTRY = record 6989 lpServiceName : LPTSTR; 6990 lpServiceProc : LPSERVICE_MAIN_FUNCTION; 6991 end; 6992 LPSERVICE_TABLE_ENTRY = ^SERVICE_TABLE_ENTRY; 6993 _SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRY; 6994 TSERVICETABLEENTRY = SERVICE_TABLE_ENTRY; 6995 PSERVICETABLEENTRY = ^SERVICE_TABLE_ENTRY; 6996 6997 SERVICE_TABLE_ENTRYA = record 6998 lpServiceName : LPSTR; 6999 lpServiceProc : LPSERVICE_MAIN_FUNCTIONA; 7000 end; 7001 LPSERVICE_TABLE_ENTRYA = ^SERVICE_TABLE_ENTRYA; 7002 _SERVICE_TABLE_ENTRYA = SERVICE_TABLE_ENTRYA; 7003 TSERVICETABLEENTRYA = SERVICE_TABLE_ENTRYA; 7004 PSERVICETABLEENTRYA = ^SERVICE_TABLE_ENTRYA; 7005 7006 SERVICE_TABLE_ENTRYW = record 7007 lpServiceName : LPWSTR; 7008 lpServiceProc : LPSERVICE_MAIN_FUNCTIONW; 7009 end; 7010 LPSERVICE_TABLE_ENTRYW = ^SERVICE_TABLE_ENTRYW; 7011 _SERVICE_TABLE_ENTRYW = SERVICE_TABLE_ENTRYW; 7012 TSERVICETABLEENTRYW = SERVICE_TABLE_ENTRYW; 7013 PSERVICETABLEENTRYW = ^SERVICE_TABLE_ENTRYW; 7014 7015 SERVICE_TYPE_VALUE_ABS = record 7016 dwNameSpace : DWORD; 7017 dwValueType : DWORD; 7018 dwValueSize : DWORD; 7019 lpValueName : LPTSTR; 7020 lpValue : PVOID; 7021 end; 7022 _SERVICE_TYPE_VALUE_ABS = SERVICE_TYPE_VALUE_ABS; 7023 TSERVICETYPEVALUEABS = SERVICE_TYPE_VALUE_ABS; 7024 PSERVICETYPEVALUEABS = ^SERVICE_TYPE_VALUE_ABS; 7025 7026 SERVICE_TYPE_INFO_ABS = record 7027 lpTypeName : LPTSTR; 7028 dwValueCount : DWORD; 7029 Values : array[0..0] of SERVICE_TYPE_VALUE_ABS; 7030 end; 7031 _SERVICE_TYPE_INFO_ABS = SERVICE_TYPE_INFO_ABS; 7032 TSERVICETYPEINFOABS = SERVICE_TYPE_INFO_ABS; 7033 PSERVICETYPEINFOABS = ^SERVICE_TYPE_INFO_ABS; 7034 7035 SESSION_BUFFER = record 7036 lsn : UCHAR; 7037 state : UCHAR; 7038 local_name : array[0..(NCBNAMSZ)-1] of UCHAR; 7039 remote_name : array[0..(NCBNAMSZ)-1] of UCHAR; 7040 rcvs_outstanding : UCHAR; 7041 sends_outstanding : UCHAR; 7042 end; 7043 _SESSION_BUFFER = SESSION_BUFFER; 7044 TSESSIONBUFFER = SESSION_BUFFER; 7045 PSESSIONBUFFER = ^SESSION_BUFFER; 7046 7047 SESSION_HEADER = record 7048 sess_name : UCHAR; 7049 num_sess : UCHAR; 7050 rcv_dg_outstanding : UCHAR; 7051 rcv_any_outstanding : UCHAR; 7052 end; 7053 _SESSION_HEADER = SESSION_HEADER; 7054 TSESSIONHEADER = SESSION_HEADER; 7055 PSESSIONHEADER = ^SESSION_HEADER; 7056 7057 7058 SHCONTF = (SHCONTF_FOLDERS := 32,SHCONTF_NONFOLDERS := 64, 7059 SHCONTF_INCLUDEHIDDEN := 128); 7060 tagSHCONTF = SHCONTF; 7061 TSHCONTF = SHCONTF; 7062 7063 SHFILEINFO = record 7064 hIcon : HICON; 7065 iIcon : longint; 7066 dwAttributes : DWORD; 7067 szDisplayName : array[0..(MAX_PATH)-1] of TCHAR; 7068 szTypeName : array[0..79] of TCHAR; 7069 end; 7070 _SHFILEINFO = SHFILEINFO; 7071 TSHFILEINFO = SHFILEINFO; 7072 PSHFILEINFO = ^SHFILEINFO; 7073 7074 FILEOP_FLAGS = WORD; 7075 TFILEOPFLAGS = FILEOP_FLAGS; 7076 PFILEOPFLAGS = ^FILEOP_FLAGS; 7077 7078 SHFILEOPSTRUCT = record 7079 hwnd : HWND; 7080 wFunc : UINT; 7081 pFrom : LPCSTR; // PCZZTSTR 7082 pTo : LPCSTR; // PCZZTSTR 7083 fFlags : FILEOP_FLAGS; 7084 fAnyOperationsAborted : WINBOOL; 7085 hNameMappings : LPVOID; 7086 lpszProgressTitle : LPCSTR; // PCTSTR 7087 end; 7088 LPSHFILEOPSTRUCT = ^SHFILEOPSTRUCT; 7089 _SHFILEOPSTRUCT = SHFILEOPSTRUCT; 7090 TSHFILEOPSTRUCT = SHFILEOPSTRUCT; 7091 PSHFILEOPSTRUCT = ^SHFILEOPSTRUCT; 7092 7093 SHGNO = (SHGDN_NORMAL := 0,SHGDN_INFOLDER := 1, 7094 SHGDN_FORPARSING := $8000); 7095 tagSHGDN = SHGNO; 7096 TSHGDN = SHGNO; 7097 7098 SHNAMEMAPPING = record 7099 pszOldPath : LPSTR; 7100 pszNewPath : LPSTR; 7101 cchOldPath : longint; 7102 cchNewPath : longint; 7103 end; 7104 LPSHNAMEMAPPING = ^SHNAMEMAPPING; 7105 _SHNAMEMAPPING = SHNAMEMAPPING; 7106 TSHNAMEMAPPING = SHNAMEMAPPING; 7107 PSHNAMEMAPPING = ^SHNAMEMAPPING; 7108 7109 SID_AND_ATTRIBUTES = record 7110 Sid : PSID; 7111 Attributes : DWORD; 7112 end; 7113 _SID_AND_ATTRIBUTES = SID_AND_ATTRIBUTES; 7114 TSIDANDATTRIBUTES = SID_AND_ATTRIBUTES; 7115 PSIDANDATTRIBUTES = ^SID_AND_ATTRIBUTES; 7116 7117 SID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES; 7118 PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY; 7119 TSIDANDATTRIBUTESARRAY = SID_AND_ATTRIBUTES_ARRAY; 7120 PSIDANDATTRIBUTESARRAY = ^SID_AND_ATTRIBUTES_ARRAY; 7121 7122 SINGLE_LIST_ENTRY = record 7123 Next : ^_SINGLE_LIST_ENTRY; 7124 end; 7125 _SINGLE_LIST_ENTRY = SINGLE_LIST_ENTRY; 7126 TSINGLELISTENTRY = SINGLE_LIST_ENTRY; 7127 PSINGLELISTENTRY = ^SINGLE_LIST_ENTRY; 7128 7129 SOUNDSENTRY = record 7130 cbSize : UINT; 7131 dwFlags : DWORD; 7132 iFSTextEffect : DWORD; 7133 iFSTextEffectMSec : DWORD; 7134 iFSTextEffectColorBits : DWORD; 7135 iFSGrafEffect : DWORD; 7136 iFSGrafEffectMSec : DWORD; 7137 iFSGrafEffectColor : DWORD; 7138 iWindowsEffect : DWORD; 7139 iWindowsEffectMSec : DWORD; 7140 lpszWindowsEffectDLL : LPTSTR; 7141 iWindowsEffectOrdinal : DWORD; 7142 end; 7143 LPSOUNDSENTRY = ^SOUNDSENTRY; 7144 tagSOUNDSENTRY = SOUNDSENTRY; 7145 TSOUNDSENTRY = SOUNDSENTRY; 7146 PSOUNDSENTRY = ^SOUNDSENTRY; 7147 STARTUPINFOA = record 7148 cb : DWORD; 7149 lpReserved : LPSTR; 7150 lpDesktop : LPSTR; 7151 lpTitle : LPSTR; 7152 dwX : DWORD; 7153 dwY : DWORD; 7154 dwXSize : DWORD; 7155 dwYSize : DWORD; 7156 dwXCountChars : DWORD; 7157 dwYCountChars : DWORD; 7158 dwFillAttribute : DWORD; 7159 dwFlags : DWORD; 7160 wShowWindow : WORD; 7161 cbReserved2 : WORD; 7162 lpReserved2 : LPBYTE; 7163 hStdInput : HANDLE; 7164 hStdOutput : HANDLE; 7165 hStdError : HANDLE; 7166 end; 7167 LPSTARTUPINFOA = ^STARTUPINFOA; 7168 _STARTUPINFOA = STARTUPINFOA; 7169 TSTARTUPINFOA = STARTUPINFOA; 7170 PSTARTUPINFOA = ^STARTUPINFOA; 7171 STARTUPINFOW = record 7172 cb : DWORD; 7173 lpReserved : LPWSTR; 7174 lpDesktop : LPWSTR; 7175 lpTitle : LPWSTR; 7176 dwX : DWORD; 7177 dwY : DWORD; 7178 dwXSize : DWORD; 7179 dwYSize : DWORD; 7180 dwXCountChars : DWORD; 7181 dwYCountChars : DWORD; 7182 dwFillAttribute : DWORD; 7183 dwFlags : DWORD; 7184 wShowWindow : WORD; 7185 cbReserved2 : WORD; 7186 lpReserved2 : LPBYTE; 7187 hStdInput : HANDLE; 7188 hStdOutput : HANDLE; 7189 hStdError : HANDLE; 7190 end; 7191 LPSTARTUPINFOW = ^STARTUPINFOW; 7192 _STARTUPINFOW = STARTUPINFOW; 7193 TSTARTUPINFOW = STARTUPINFOW; 7194 PSTARTUPINFOW = ^STARTUPINFOW; 7195 7196 STARTUPINFO = record 7197 cb : DWORD; 7198 lpReserved : LPTSTR; 7199 lpDesktop : LPTSTR; 7200 lpTitle : LPTSTR; 7201 dwX : DWORD; 7202 dwY : DWORD; 7203 dwXSize : DWORD; 7204 dwYSize : DWORD; 7205 dwXCountChars : DWORD; 7206 dwYCountChars : DWORD; 7207 dwFillAttribute : DWORD; 7208 dwFlags : DWORD; 7209 wShowWindow : WORD; 7210 cbReserved2 : WORD; 7211 lpReserved2 : LPBYTE; 7212 hStdInput : HANDLE; 7213 hStdOutput : HANDLE; 7214 hStdError : HANDLE; 7215 end; 7216 {$ifdef Unicode} 7217 LPSTARTUPINFO = LPSTARTUPINFOW; 7218 _STARTUPINFO = _STARTUPINFOW; 7219 TSTARTUPINFO = TSTARTUPINFOW; 7220 PSTARTUPINFO = PSTARTUPINFOW; 7221 {$else} 7222 LPSTARTUPINFO = LPSTARTUPINFOA; 7223 _STARTUPINFO = _STARTUPINFOA; 7224 TSTARTUPINFO = TSTARTUPINFOA; 7225 PSTARTUPINFO = PSTARTUPINFOA; 7226 {$endif} 7227 STICKYKEYS = record 7228 cbSize : DWORD; 7229 dwFlags : DWORD; 7230 end; 7231 LPSTICKYKEYS = ^STICKYKEYS; 7232 tagSTICKYKEYS = STICKYKEYS; 7233 TSTICKYKEYS = STICKYKEYS; 7234 PSTICKYKEYS = ^STICKYKEYS; 7235 7236 STRRET = record 7237 utype : UINT; 7238 case longint of 7239 0: ( polestr:LPWSTR); 7240 1: ( uOffset : UINT); 7241 2: ( cStr : array[0..(MAX_PATH)-1] of char ); 7242 end; 7243 LPSTRRET = ^STRRET; 7244 _STRRET = STRRET; 7245 TSTRRET = STRRET; 7246 PSTRRET = ^STRRET; 7247 7248 STYLEBUF = record 7249 dwStyle : DWORD; 7250 szDescription : array[0..31] of TCHAR; 7251 end; 7252 LPSTYLEBUF = ^STYLEBUF; 7253 _tagSTYLEBUF = STYLEBUF; 7254 TSTYLEBUF = STYLEBUF; 7255 PSTYLEBUF = ^STYLEBUF; 7256 7257 STYLESTRUCT = record 7258 styleOld : DWORD; 7259 styleNew : DWORD; 7260 end; 7261 LPSTYLESTRUCT = ^STYLESTRUCT; 7262 tagSTYLESTRUCT = STYLESTRUCT; 7263 TSTYLESTRUCT = STYLESTRUCT; 7264 PSTYLESTRUCT = ^STYLESTRUCT; 7265 7266 SYSTEM_AUDIT_ACE = record 7267 Header : ACE_HEADER; 7268 Mask : ACCESS_MASK; 7269 SidStart : DWORD; 7270 end; 7271 _SYSTEM_AUDIT_ACE = SYSTEM_AUDIT_ACE; 7272 TSYSTEMAUDITACE = SYSTEM_AUDIT_ACE; 7273 PSYSTEMAUDITACE = ^SYSTEM_AUDIT_ACE; 7274 7275 SYSTEM_INFO = record 7276 case longint of 7277 0 : ( dwOemId : DWORD; 7278 dwPageSize : DWORD; 7279 lpMinimumApplicationAddress : LPVOID; 7280 lpMaximumApplicationAddress : LPVOID; 7281 dwActiveProcessorMask : DWORD_PTR; 7282 dwNumberOfProcessors : DWORD; 7283 dwProcessorType : DWORD; 7284 dwAllocationGranularity : DWORD; 7285 wProcessorLevel : WORD; 7286 wProcessorRevision : WORD; 7287 ); 7288 1 : ( 7289 wProcessorArchitecture : WORD; 7290 wReserved : WORD; 7291 ); 7292 end; 7293 LPSYSTEM_INFO = ^SYSTEM_INFO; 7294 _SYSTEM_INFO = SYSTEM_INFO; 7295 TSYSTEMINFO = SYSTEM_INFO; 7296 PSYSTEMINFO = ^SYSTEM_INFO; 7297 7298 SYSTEM_POWER_STATUS = record 7299 ACLineStatus : BYTE; 7300 BatteryFlag : BYTE; 7301 BatteryLifePercent : BYTE; 7302 Reserved1 : BYTE; 7303 BatteryLifeTime : DWORD; 7304 BatteryFullLifeTime : DWORD; 7305 end; 7306 _SYSTEM_POWER_STATUS = SYSTEM_POWER_STATUS; 7307 TSYSTEMPOWERSTATUS = SYSTEM_POWER_STATUS; 7308 PSYSTEMPOWERSTATUS = ^SYSTEM_POWER_STATUS; 7309 7310 LPSYSTEM_POWER_STATUS = ^emptyrecord; 7311 7312 TAPE_ERASE = record 7313 _Type : ULONG; 7314 Immediate : BOOLEAN; 7315 end; 7316 _TAPE_ERASE = TAPE_ERASE; 7317 TTAPEERASE = TAPE_ERASE; 7318 PTAPEERASE = ^TAPE_ERASE; 7319 7320 TAPE_GET_DRIVE_PARAMETERS = record 7321 ECC : BOOLEAN; 7322 Compression : BOOLEAN; 7323 DataPadding : BOOLEAN; 7324 ReportSetmarks : BOOLEAN; 7325 DefaultBlockSize : ULONG; 7326 MaximumBlockSize : ULONG; 7327 MinimumBlockSize : ULONG; 7328 MaximumPartitionCount : ULONG; 7329 FeaturesLow : ULONG; 7330 FeaturesHigh : ULONG; 7331 EOTWarningZoneSize : ULONG; 7332 end; 7333 _TAPE_GET_DRIVE_PARAMETERS = TAPE_GET_DRIVE_PARAMETERS; 7334 TTAPEGETDRIVEPARAMETERS = TAPE_GET_DRIVE_PARAMETERS; 7335 PTAPEGETDRIVEPARAMETERS = ^TAPE_GET_DRIVE_PARAMETERS; 7336 7337 TAPE_GET_MEDIA_PARAMETERS = record 7338 Capacity : LARGE_INTEGER; 7339 Remaining : LARGE_INTEGER; 7340 BlockSize : ULONG; 7341 PartitionCount : ULONG; 7342 WriteProtected : BOOLEAN; 7343 end; 7344 _TAPE_GET_MEDIA_PARAMETERS = TAPE_GET_MEDIA_PARAMETERS; 7345 TTAPEGETMEDIAPARAMETERS = TAPE_GET_MEDIA_PARAMETERS; 7346 PTAPEGETMEDIAPARAMETERS = ^TAPE_GET_MEDIA_PARAMETERS; 7347 7348 TAPE_GET_POSITION = record 7349 _Type : ULONG; 7350 Partition : ULONG; 7351 OffsetLow : ULONG; 7352 OffsetHigh : ULONG; 7353 end; 7354 _TAPE_GET_POSITION = TAPE_GET_POSITION; 7355 TTAPEGETPOSITION = TAPE_GET_POSITION; 7356 PTAPEGETPOSITION = ^TAPE_GET_POSITION; 7357 7358 TAPE_PREPARE = record 7359 Operation : ULONG; 7360 Immediate : BOOLEAN; 7361 end; 7362 _TAPE_PREPARE = TAPE_PREPARE; 7363 TTAPEPREPARE = TAPE_PREPARE; 7364 PTAPEPREPARE = ^TAPE_PREPARE; 7365 7366 TAPE_SET_DRIVE_PARAMETERS = record 7367 ECC : BOOLEAN; 7368 Compression : BOOLEAN; 7369 DataPadding : BOOLEAN; 7370 ReportSetmarks : BOOLEAN; 7371 EOTWarningZoneSize : ULONG; 7372 end; 7373 _TAPE_SET_DRIVE_PARAMETERS = TAPE_SET_DRIVE_PARAMETERS; 7374 TTAPESETDRIVEPARAMETERS = TAPE_SET_DRIVE_PARAMETERS; 7375 PTAPESETDRIVEPARAMETERS = ^TAPE_SET_DRIVE_PARAMETERS; 7376 7377 TAPE_SET_MEDIA_PARAMETERS = record 7378 BlockSize : ULONG; 7379 end; 7380 _TAPE_SET_MEDIA_PARAMETERS = TAPE_SET_MEDIA_PARAMETERS; 7381 TTAPESETMEDIAPARAMETERS = TAPE_SET_MEDIA_PARAMETERS; 7382 PTAPESETMEDIAPARAMETERS = ^TAPE_SET_MEDIA_PARAMETERS; 7383 7384 TAPE_SET_POSITION = record 7385 Method : ULONG; 7386 Partition : ULONG; 7387 OffsetLow : ULONG; 7388 OffsetHigh : ULONG; 7389 Immediate : BOOLEAN; 7390 end; 7391 _TAPE_SET_POSITION = TAPE_SET_POSITION; 7392 TTAPESETPOSITION = TAPE_SET_POSITION; 7393 PTAPESETPOSITION = ^TAPE_SET_POSITION; 7394 7395 TAPE_WRITE_MARKS = record 7396 _Type : ULONG; 7397 Count : ULONG; 7398 Immediate : BOOLEAN; 7399 end; 7400 _TAPE_WRITE_MARKS = TAPE_WRITE_MARKS; 7401 TTAPEWRITEMARKS = TAPE_WRITE_MARKS; 7402 PTAPEWRITEMARKS = ^TAPE_WRITE_MARKS; 7403 7404 TBADDBITMAP = record 7405 hInst : HINST; 7406 nID : UINT_PTR; 7407 end; 7408 LPTBADDBITMAP = ^TBADDBITMAP; 7409 TTBADDBITMAP = TBADDBITMAP; 7410 PTBADDBITMAP = ^TBADDBITMAP; 7411 7412 TBBUTTON = record 7413 iBitmap : longint; 7414 idCommand : longint; 7415 fsState : BYTE; 7416 fsStyle : BYTE; 7417{$ifdef WIN64} 7418 bReserved : array[0..5] of BYTE; 7419{$else} 7420 bReserved : array[0..1] of BYTE; 7421{$endif} 7422 dwData : DWORD_PTR; 7423 iString : INT_PTR; 7424 end; 7425 LPTBBUTTON = ^TBBUTTON; 7426 LPCTBBUTTON = ^TBBUTTON; 7427 _TBBUTTON = TBBUTTON; 7428 TTBBUTTON = TBBUTTON; 7429 PTBBUTTON = ^TBBUTTON; 7430 7431 TBNOTIFY = record 7432 hdr : NMHDR; 7433 iItem : longint; 7434 tbButton : TBBUTTON; 7435 cchText : longint; 7436 pszText : LPTSTR; 7437 end; 7438 LPTBNOTIFY = ^TBNOTIFY; 7439 TTBNOTIFY = TBNOTIFY; 7440 PTBNOTIFY = ^TBNOTIFY; 7441 7442 TBSAVEPARAMS = record 7443 hkr : HKEY; 7444 pszSubKey : LPCTSTR; 7445 pszValueName : LPCTSTR; 7446 end; 7447 TTBSAVEPARAMS = TBSAVEPARAMS; 7448 PTBSAVEPARAMS = ^TBSAVEPARAMS; 7449 7450 TC_HITTESTINFO = record 7451 pt : POINT; 7452 flags : UINT; 7453 end; 7454 _TC_HITTESTINFO = TC_HITTESTINFO; 7455 TTCHITTESTINFO = TC_HITTESTINFO; 7456 PTCHITTESTINFO = ^TC_HITTESTINFO; 7457 7458 TC_ITEM = record 7459 mask : UINT; 7460 lpReserved1 : UINT; 7461 lpReserved2 : UINT; 7462 pszText : LPTSTR; 7463 cchTextMax : longint; 7464 iImage : longint; 7465 lParam : LPARAM; 7466 end; 7467 _TC_ITEM = TC_ITEM; 7468 TTCITEM = TC_ITEM; 7469 PTCITEM = ^TC_ITEM; 7470 7471 TC_ITEMHEADER = record 7472 mask : UINT; 7473 lpReserved1 : UINT; 7474 lpReserved2 : UINT; 7475 pszText : LPTSTR; 7476 cchTextMax : longint; 7477 iImage : longint; 7478 end; 7479 _TC_ITEMHEADER = TC_ITEMHEADER; 7480 TTCITEMHEADER = TC_ITEMHEADER; 7481 PTCITEMHEADER = ^TC_ITEMHEADER; 7482 7483 TC_KEYDOWN = record 7484 hdr : NMHDR; 7485 wVKey : WORD; 7486 flags : UINT; 7487 end; 7488 _TC_KEYDOWN = TC_KEYDOWN; 7489 TTCKEYDOWN = TC_KEYDOWN; 7490 PTCKEYDOWN = ^TC_KEYDOWN; 7491 7492 TEXTRANGE = record 7493 chrg : CHARRANGE; 7494 lpstrText : LPSTR; 7495 end; 7496 _textrange = TEXTRANGE; 7497 Ttextrange = TEXTRANGE; 7498 Ptextrange = ^TEXTRANGE; 7499 7500 TIME_ZONE_INFORMATION = record 7501 Bias : LONG; 7502 StandardName : array[0..31] of WCHAR; 7503 StandardDate : SYSTEMTIME; 7504 StandardBias : LONG; 7505 DaylightName : array[0..31] of WCHAR; 7506 DaylightDate : SYSTEMTIME; 7507 DaylightBias : LONG; 7508 end; 7509 LPTIME_ZONE_INFORMATION = ^TIME_ZONE_INFORMATION; 7510 _TIME_ZONE_INFORMATION = TIME_ZONE_INFORMATION; 7511 TTIMEZONEINFORMATION = TIME_ZONE_INFORMATION; 7512 PTIMEZONEINFORMATION = ^TIME_ZONE_INFORMATION; 7513 7514 TOGGLEKEYS = record 7515 cbSize : DWORD; 7516 dwFlags : DWORD; 7517 end; 7518 tagTOGGLEKEYS = TOGGLEKEYS; 7519 TTOGGLEKEYS = TOGGLEKEYS; 7520 PTOGGLEKEYS = ^TOGGLEKEYS; 7521 7522 TOKEN_SOURCE = record 7523 SourceName : array[0..7] of CHAR; // 0..(TOKEN_SOURCE_LENGTH-1) 7524 SourceIdentifier : LUID; 7525 end; 7526 _TOKEN_SOURCE = TOKEN_SOURCE; 7527 TTOKENSOURCE = TOKEN_SOURCE; 7528 PTOKENSOURCE = ^TOKEN_SOURCE; 7529 7530 TOKEN_CONTROL = record 7531 TokenId : LUID; 7532 AuthenticationId : LUID; 7533 ModifiedId : LUID; 7534 TokenSource : TOKEN_SOURCE; 7535 end; 7536 _TOKEN_CONTROL = TOKEN_CONTROL; 7537 TTOKENCONTROL = TOKEN_CONTROL; 7538 PTOKENCONTROL = ^TOKEN_CONTROL; 7539 7540 TOKEN_DEFAULT_DACL = record 7541 DefaultDacl : PACL; 7542 end; 7543 _TOKEN_DEFAULT_DACL = TOKEN_DEFAULT_DACL; 7544 TTOKENDEFAULTDACL = TOKEN_DEFAULT_DACL; 7545 PTOKENDEFAULTDACL = ^TOKEN_DEFAULT_DACL; 7546 7547 TOKEN_GROUPS = record 7548 GroupCount : DWORD; 7549 Groups : array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES; 7550 end; 7551 PTOKEN_GROUPS = ^TOKEN_GROUPS; 7552 LPTOKEN_GROUPS = ^TOKEN_GROUPS; 7553 _TOKEN_GROUPS = TOKEN_GROUPS; 7554 TTOKENGROUPS = TOKEN_GROUPS; 7555 PTOKENGROUPS = ^TOKEN_GROUPS; 7556 7557 TOKEN_OWNER = record 7558 Owner : PSID; 7559 end; 7560 _TOKEN_OWNER = TOKEN_OWNER; 7561 TTOKENOWNER = TOKEN_OWNER; 7562 PTOKENOWNER = ^TOKEN_OWNER; 7563 7564 TOKEN_PRIMARY_GROUP = record 7565 PrimaryGroup : PSID; 7566 end; 7567 _TOKEN_PRIMARY_GROUP = TOKEN_PRIMARY_GROUP; 7568 TTOKENPRIMARYGROUP = TOKEN_PRIMARY_GROUP; 7569 PTOKENPRIMARYGROUP = ^TOKEN_PRIMARY_GROUP; 7570 7571 TOKEN_PRIVILEGES = packed record 7572 PrivilegeCount : DWORD; 7573 Privileges : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES; 7574 end; 7575 7576 PTOKEN_PRIVILEGES = ^TOKEN_PRIVILEGES; 7577 LPTOKEN_PRIVILEGES = ^TOKEN_PRIVILEGES; 7578 _TOKEN_PRIVILEGES = TOKEN_PRIVILEGES; 7579 TTOKENPRIVILEGES = TOKEN_PRIVILEGES; 7580 PTOKENPRIVILEGES = ^TOKEN_PRIVILEGES; 7581 7582 TOKEN_STATISTICS = record 7583 TokenId : LUID; 7584 AuthenticationId : LUID; 7585 ExpirationTime : LARGE_INTEGER; 7586 TokenType : TOKEN_TYPE; 7587 ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL; 7588 DynamicCharged : DWORD; 7589 DynamicAvailable : DWORD; 7590 GroupCount : DWORD; 7591 PrivilegeCount : DWORD; 7592 ModifiedId : LUID; 7593 end; 7594 _TOKEN_STATISTICS = TOKEN_STATISTICS; 7595 TTOKENSTATISTICS = TOKEN_STATISTICS; 7596 PTOKENSTATISTICS = ^TOKEN_STATISTICS; 7597 7598 TOKEN_USER = record 7599 User : SID_AND_ATTRIBUTES; 7600 end; 7601 _TOKEN_USER = TOKEN_USER; 7602 TTOKENUSER = TOKEN_USER; 7603 PTOKENUSER = ^TOKEN_USER; 7604 7605 TOOLINFO = record 7606 cbSize : UINT; 7607 uFlags : UINT; 7608 hwnd : HWND; 7609 uId : UINT; 7610 rect : RECT; 7611 hinst : HINST; 7612 lpszText : LPTSTR; 7613 lParam : LPARAM; 7614 lpReserved : LPVOID; 7615 end; 7616 LPTOOLINFO = ^TOOLINFO; 7617 TTOOLINFO = TOOLINFO; 7618 PTOOLINFO = ^TOOLINFO; 7619 7620 TOOLTIPTEXTA = record 7621 hdr : NMHDR; 7622 lpszText : LPSTR; 7623 szText : array[0..79] of AnsiCHAR; 7624 hinst : HINST; 7625 uFlags : UINT; 7626 lParam : LPARAM; 7627 end; 7628 LPTOOLTIPTEXTA = ^TOOLTIPTEXTA; 7629 TTOOLTIPTEXTA = TOOLTIPTEXTA; 7630 PTOOLTIPTEXTA = ^TOOLTIPTEXTA; 7631 7632 TOOLTIPTEXTW = record 7633 hdr : NMHDR; 7634 lpszText : LPWSTR; 7635 szText : array[0..79] of WideCHAR; 7636 hinst : HINST; 7637 uFlags : UINT; 7638 lParam : LPARAM; 7639 end; 7640 LPTOOLTIPTEXTW = ^TOOLTIPTEXTW; 7641 TTOOLTIPTEXTW = TOOLTIPTEXTW; 7642 PTOOLTIPTEXTW = ^TOOLTIPTEXTW; 7643 7644 {$ifdef Unicode} 7645 LPTOOLTIPTEXT = ^TOOLTIPTEXTW; 7646 TOOLTIPTEXT = TOOLTIPTEXTW; 7647 TTOOLTIPTEXT = TOOLTIPTEXTW; 7648 PTOOLTIPTEXT = ^TOOLTIPTEXTW; 7649 {$else} 7650 LPTOOLTIPTEXT = ^TOOLTIPTEXTA; 7651 TOOLTIPTEXT = TOOLTIPTEXTA; 7652 TTOOLTIPTEXT = TOOLTIPTEXTA; 7653 PTOOLTIPTEXT = ^TOOLTIPTEXTA; 7654 {$endif} 7655 7656 TPMPARAMS = record 7657 cbSize : UINT; 7658 rcExclude : RECT; 7659 end; 7660 LPTPMPARAMS = ^TPMPARAMS; 7661 tagTPMPARAMS = TPMPARAMS; 7662 TTPMPARAMS = TPMPARAMS; 7663 PTPMPARAMS = ^TPMPARAMS; 7664 7665 TRANSMIT_FILE_BUFFERS = record 7666 Head : PVOID; 7667 HeadLength : DWORD; 7668 Tail : PVOID; 7669 TailLength : DWORD; 7670 end; 7671 _TRANSMIT_FILE_BUFFERS = TRANSMIT_FILE_BUFFERS; 7672 TTRANSMITFILEBUFFERS = TRANSMIT_FILE_BUFFERS; 7673 PTRANSMITFILEBUFFERS = ^TRANSMIT_FILE_BUFFERS; 7674 7675 TTHITTESTINFO = record 7676 hwnd : HWND; 7677 pt : POINT; 7678 ti : TOOLINFO; 7679 end; 7680 LPHITTESTINFO = ^TTHITTESTINFO; 7681 _TT_HITTESTINFO = TTHITTESTINFO; 7682 TTTHITTESTINFO = TTHITTESTINFO; 7683 PTTHITTESTINFO = ^TTHITTESTINFO; 7684 7685 TTPOLYCURVE = record 7686 wType : WORD; 7687 cpfx : WORD; 7688 apfx : array[0..0] of POINTFX; 7689 end; 7690 LPTTPOLYCURVE = ^TTPOLYCURVE; 7691 tagTTPOLYCURVE = TTPOLYCURVE; 7692 TTTPOLYCURVE = TTPOLYCURVE; 7693 PTTPOLYCURVE = ^TTPOLYCURVE; 7694 7695 TTPOLYGONHEADER = record 7696 cb : DWORD; 7697 dwType : DWORD; 7698 pfxStart : POINTFX; 7699 end; 7700 LPTTPOLYGONHEADER = ^TTPOLYGONHEADER; 7701 _TTPOLYGONHEADER = TTPOLYGONHEADER; 7702 TTTPOLYGONHEADER = TTPOLYGONHEADER; 7703 PTTPOLYGONHEADER = ^TTPOLYGONHEADER; 7704 7705 TV_DISPINFO = record 7706 hdr : NMHDR; 7707 item : TV_ITEM; 7708 end; 7709 _TV_DISPINFO = TV_DISPINFO; 7710 TTVDISPINFO = TV_DISPINFO; 7711 PTVDISPINFO = ^TV_DISPINFO; 7712 7713 TV_HITTESTINFO = record 7714 pt : POINT; 7715 flags : UINT; 7716 hItem : HTREEITEM; 7717 end; 7718 LPTV_HITTESTINFO = ^TV_HITTESTINFO; 7719 _TVHITTESTINFO = TV_HITTESTINFO; 7720 TTVHITTESTINFO = TV_HITTESTINFO; 7721 PTVHITTESTINFO = ^TV_HITTESTINFO; 7722 7723 TVITEMEX = record 7724 mask : UINT; 7725 hItem : HTREEITEM; 7726 state : UINT; 7727 stateMask : UINT; 7728 pszText : LPTSTR; 7729 cchTextMax : longint; 7730 iImage : longint; 7731 iSelectedImage : longint; 7732 cChildren : longint; 7733 lParam : LPARAM; 7734 iIntegral : longint; 7735 end; 7736 7737 TV_INSERTSTRUCT = record 7738 hParent : HTREEITEM; 7739 hInsertAfter : HTREEITEM; 7740 case longint of 7741 0 : (item : TV_ITEM;); 7742 1 : (itemex : TVITEMEX;); 7743 end; 7744 LPTV_INSERTSTRUCT = ^TV_INSERTSTRUCT; 7745 _TV_INSERTSTRUCT = TV_INSERTSTRUCT; 7746 TTVINSERTSTRUCT = TV_INSERTSTRUCT; 7747 PTVINSERTSTRUCT = ^TV_INSERTSTRUCT; 7748 7749 TV_KEYDOWN = record 7750 hdr : NMHDR; 7751 wVKey : WORD; 7752 flags : UINT; 7753 end; 7754 _TV_KEYDOWN = TV_KEYDOWN; 7755 TTVKEYDOWN = TV_KEYDOWN; 7756 PTVKEYDOWN = ^TV_KEYDOWN; 7757 7758 TV_SORTCB = record 7759 hParent : HTREEITEM; 7760 lpfnCompare : PFNTVCOMPARE; 7761 lParam : LPARAM; 7762 end; 7763 LPTV_SORTCB = ^TV_SORTCB; 7764 _TV_SORTCB = TV_SORTCB; 7765 TTVSORTCB = TV_SORTCB; 7766 PTVSORTCB = ^TV_SORTCB; 7767 7768 UDACCEL = record 7769 nSec : UINT; 7770 nInc : UINT; 7771 end; 7772 TUDACCEL = UDACCEL; 7773 PUDACCEL = ^UDACCEL; 7774 7775 7776 UNIVERSAL_NAME_INFO = record 7777 lpUniversalName : LPTSTR; 7778 end; 7779 _UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFO; 7780 TUNIVERSALNAMEINFO = UNIVERSAL_NAME_INFO; 7781 PUNIVERSALNAMEINFO = ^UNIVERSAL_NAME_INFO; 7782 7783 USEROBJECTFLAGS = record 7784 fInherit : WINBOOL; 7785 fReserved : WINBOOL; 7786 dwFlags : DWORD; 7787 end; 7788 tagUSEROBJECTFLAGS = USEROBJECTFLAGS; 7789 TUSEROBJECTFLAGS = USEROBJECTFLAGS; 7790 PUSEROBJECTFLAGS = ^USEROBJECTFLAGS; 7791 7792 VALENTA = record 7793 ve_valuename : LPSTR; 7794 ve_valuelen : DWORD; 7795 ve_valueptr : DWORD_PTR; 7796 ve_type : DWORD; 7797 end; 7798 TVALENTA = VALENTA; 7799 PVALENTA = ^VALENTA; 7800 7801 VALENTW = record 7802 ve_valuename : LPWSTR; 7803 ve_valuelen : DWORD; 7804 ve_valueptr : DWORD_PTR; 7805 ve_type : DWORD; 7806 end; 7807 TVALENTW = VALENTW; 7808 PVALENTW = ^VALENTW; 7809 7810 {$ifdef Unicode} 7811 VALENT = VALENTW; 7812 TVALENT = VALENTW; 7813 PVALENT = ^VALENTW; 7814 {$else} 7815 VALENT = VALENTA; 7816 TVALENT = VALENTA; 7817 PVALENT = ^VALENTA; 7818 {$endif} 7819 7820 value_ent = VALENT; 7821 Tvalue_ent = VALENT; 7822 Pvalue_ent = ^VALENT; 7823 7824 VERIFY_INFORMATION = record 7825 StartingOffset : LARGE_INTEGER; 7826 Length : DWORD; 7827 end; 7828 _VERIFY_INFORMATION = VERIFY_INFORMATION; 7829 TVERIFYINFORMATION = VERIFY_INFORMATION; 7830 PVERIFYINFORMATION = ^VERIFY_INFORMATION; 7831 7832 VS_FIXEDFILEINFO = record 7833 dwSignature : DWORD; 7834 dwStrucVersion : DWORD; 7835 dwFileVersionMS : DWORD; 7836 dwFileVersionLS : DWORD; 7837 dwProductVersionMS : DWORD; 7838 dwProductVersionLS : DWORD; 7839 dwFileFlagsMask : DWORD; 7840 dwFileFlags : DWORD; 7841 dwFileOS : DWORD; 7842 dwFileType : DWORD; 7843 dwFileSubtype : DWORD; 7844 dwFileDateMS : DWORD; 7845 dwFileDateLS : DWORD; 7846 end; 7847 _VS_FIXEDFILEINFO = VS_FIXEDFILEINFO; 7848 TVSFIXEDFILEINFO = VS_FIXEDFILEINFO; 7849 PVSFIXEDFILEINFO = ^VS_FIXEDFILEINFO; 7850 7851 WIN32_FIND_DATAA = record 7852 dwFileAttributes : DWORD; 7853 ftCreationTime : FILETIME; 7854 ftLastAccessTime : FILETIME; 7855 ftLastWriteTime : FILETIME; 7856 nFileSizeHigh : DWORD; 7857 nFileSizeLow : DWORD; 7858 dwReserved0 : DWORD; 7859 dwReserved1 : DWORD; 7860 cFileName : array[0..(MAX_PATH)-1] of AnsiCHAR; 7861 cAlternateFileName : array[0..13] of AnsiCHAR; 7862 end; 7863 LPWIN32_FIND_DATAA = ^WIN32_FIND_DATAA; 7864 PWIN32_FIND_DATAA = ^WIN32_FIND_DATAA; 7865 _WIN32_FIND_DATAA = WIN32_FIND_DATAA; 7866 TWIN32FINDDATAA = WIN32_FIND_DATAA; 7867 WIN32FINDDATAA = WIN32_FIND_DATAA; 7868 PWIN32FINDDATAA = ^WIN32_FIND_DATAA; 7869 7870 WIN32_FIND_DATAW = record 7871 dwFileAttributes : DWORD; 7872 ftCreationTime : FILETIME; 7873 ftLastAccessTime : FILETIME; 7874 ftLastWriteTime : FILETIME; 7875 nFileSizeHigh : DWORD; 7876 nFileSizeLow : DWORD; 7877 dwReserved0 : DWORD; 7878 dwReserved1 : DWORD; 7879 cFileName : array[0..(MAX_PATH)-1] of WCHAR; 7880 cAlternateFileName : array[0..13] of WCHAR; 7881 end; 7882 LPWIN32_FIND_DATAW = ^WIN32_FIND_DATAW; 7883 PWIN32_FIND_DATAW = ^WIN32_FIND_DATAW; 7884 _WIN32_FIND_DATAW = WIN32_FIND_DATAW; 7885 TWIN32FINDDATAW = WIN32_FIND_DATAW; 7886 PWIN32FINDDATAW = ^WIN32_FIND_DATAW; 7887 7888 {$ifdef Unicode} 7889 LPWIN32_FIND_DATA = PWIN32_FIND_DATAW; 7890 PWIN32_FIND_DATA = PWIN32_FIND_DATAW; 7891 _WIN32_FIND_DATA = WIN32_FIND_DATAW; 7892 WIN32_FIND_DATA = WIN32_FIND_DATAW; 7893 TWIN32FINDDATA = WIN32_FIND_DATAW; 7894 WIN32FINDDATA = WIN32_FIND_DATAW; 7895 PWIN32FINDDATA = PWIN32_FIND_DATAW; 7896 {$else} 7897 LPWIN32_FIND_DATA = PWIN32_FIND_DATAA; 7898 PWIN32_FIND_DATA = PWIN32_FIND_DATAA; 7899 _WIN32_FIND_DATA = WIN32_FIND_DATAA; 7900 WIN32_FIND_DATA = WIN32_FIND_DATAA; 7901 TWIN32FINDDATA = WIN32_FIND_DATAA; 7902 WIN32FINDDATA = WIN32_FIND_DATAA; 7903 PWIN32FINDDATA = PWIN32_FIND_DATAA; 7904 {$endif} 7905 WIN32_STREAM_ID = record 7906 dwStreamId : DWORD; 7907 dwStreamAttributes : DWORD; 7908 Size : LARGE_INTEGER; 7909 dwStreamNameSize : DWORD; 7910 cStreamName : array[0..0] of WCHAR; // really array[0..(dwStreamNameSize)] of WCHAR 7911 end; 7912 _WIN32_STREAM_ID = WIN32_STREAM_ID; 7913 TWIN32STREAMID = WIN32_STREAM_ID; 7914 PWIN32STREAMID = ^WIN32_STREAM_ID; 7915 7916 WINDOWPLACEMENT = record 7917 length : UINT; 7918 flags : UINT; 7919 showCmd : UINT; 7920 ptMinPosition : POINT; 7921 ptMaxPosition : POINT; 7922 rcNormalPosition : RECT; 7923 end; 7924 _WINDOWPLACEMENT = WINDOWPLACEMENT; 7925 TWINDOWPLACEMENT = WINDOWPLACEMENT; 7926 PWINDOWPLACEMENT = ^WINDOWPLACEMENT; 7927 7928 WNDCLASSA = record 7929 style : UINT; 7930 lpfnWndProc : WNDPROC; 7931 cbClsExtra : longint; 7932 cbWndExtra : longint; 7933 hInstance : HINST; 7934 hIcon : HICON; 7935 hCursor : HCURSOR; 7936 hbrBackground : HBRUSH; 7937 lpszMenuName : LPCSTR; 7938 lpszClassName : LPCSTR; 7939 end; 7940 LPWNDCLASSA = ^WNDCLASSA; 7941 _WNDCLASSA = WNDCLASSA; 7942 TWNDCLASSA = WNDCLASSA; 7943 PWNDCLASSA = ^WNDCLASSA; 7944 7945 WNDCLASSW = record 7946 style : UINT; 7947 lpfnWndProc : WNDPROC; 7948 cbClsExtra : longint; 7949 cbWndExtra : longint; 7950 hInstance : HINST; 7951 hIcon : HICON; 7952 hCursor : HCURSOR; 7953 hbrBackground : HBRUSH; 7954 lpszMenuName : LPCWSTR; 7955 lpszClassName : LPCWSTR; 7956 end; 7957 LPWNDCLASSW = ^WNDCLASSW; 7958 _WNDCLASSW = WNDCLASSW; 7959 TWNDCLASSW = WNDCLASSW; 7960 PWNDCLASSW = ^WNDCLASSW; 7961 {$ifdef UNICODE} 7962 LPWNDCLASS = LPWNDCLASSW; 7963 _WNDCLASS = _WNDCLASSW; 7964 TWNDCLASS = TWNDCLASSW; 7965 PWNDCLASS = PWNDCLASSW; 7966 WNDCLASS = WNDCLASSW; 7967 {$else} 7968 LPWNDCLASS = LPWNDCLASSA; 7969 _WNDCLASS = _WNDCLASSA; 7970 TWNDCLASS = TWNDCLASSA; 7971 PWNDCLASS = PWNDCLASSA; 7972 WNDCLASS = WNDCLASSA; 7973 {$endif} 7974 7975 WNDCLASSEXA = record 7976 cbSize : UINT; 7977 style : UINT; 7978 lpfnWndProc : WNDPROC; 7979 cbClsExtra : longint; 7980 cbWndExtra : longint; 7981 hInstance : HINST; 7982 hIcon : HICON; 7983 hCursor : HCURSOR; 7984 hbrBackground : HBRUSH; 7985 lpszMenuName : LPCSTR; 7986 lpszClassName : LPCSTR; 7987 hIconSm : HANDLE; 7988 end; 7989 LPWNDCLASSEXA = ^WNDCLASSEXA; 7990 _WNDCLASSEXA = WNDCLASSEXA; 7991 TWNDCLASSEXA = WNDCLASSEXA; 7992 PWNDCLASSEXA = ^WNDCLASSEXA; 7993 7994 WNDCLASSEXW = record 7995 cbSize : UINT; 7996 style : UINT; 7997 lpfnWndProc : WNDPROC; 7998 cbClsExtra : longint; 7999 cbWndExtra : longint; 8000 hInstance : HINST; 8001 hIcon : HICON; 8002 hCursor : HCURSOR; 8003 hbrBackground : HBRUSH; 8004 lpszMenuName : LPCWSTR; 8005 lpszClassName : LPCWSTR; 8006 hIconSm : HANDLE; 8007 end; 8008 LPWNDCLASSEXW = ^WNDCLASSEXW; 8009 _WNDCLASSEXW = WNDCLASSEXW; 8010 TWNDCLASSEXW = WNDCLASSEXW; 8011 PWNDCLASSEXW = ^WNDCLASSEXW; 8012 8013 {$ifdef UNICODE} 8014 LPWNDClassEx = LPWNDClassExW; 8015 _WNDClassEx = _WNDClassExW; 8016 TWNDClassEx = TWNDClassExW; 8017 PWNDClassEx = PWNDClassExW; 8018 WNDClassEx = WNDClassExW; 8019 {$ELSE} 8020 LPWNDClassEx = LPWNDClassExA; 8021 _WNDClassEx = _WNDClassExA; 8022 TWNDClassEx = TWNDClassExA; 8023 PWNDClassEx = PWNDClassExA; 8024 WNDClassEx = WNDClassExA; 8025 {$endif} 8026 8027 CONNECTDLGSTRUCTA = record 8028 cbStructure : DWORD; 8029 hwndOwner : HWND; 8030 lpConnRes : LPNETRESOURCEA; 8031 dwFlags : DWORD; 8032 dwDevNum : DWORD; 8033 end; 8034 LPCONNECTDLGSTRUCTA = ^CONNECTDLGSTRUCTA; 8035 _CONNECTDLGSTRUCTA = CONNECTDLGSTRUCTA; 8036 TCONNECTDLGSTRUCTA = CONNECTDLGSTRUCTA; 8037 PCONNECTDLGSTRUCTA = ^CONNECTDLGSTRUCTA; 8038 8039 CONNECTDLGSTRUCTW = record 8040 cbStructure : DWORD; 8041 hwndOwner : HWND; 8042 lpConnRes : LPNETRESOURCEW; 8043 dwFlags : DWORD; 8044 dwDevNum : DWORD; 8045 end; 8046 LPCONNECTDLGSTRUCTW = ^CONNECTDLGSTRUCTW; 8047 _CONNECTDLGSTRUCTW = CONNECTDLGSTRUCTW; 8048 TCONNECTDLGSTRUCTW = CONNECTDLGSTRUCTW; 8049 PCONNECTDLGSTRUCTW = ^CONNECTDLGSTRUCTW; 8050 8051 {$ifdef Unicode} 8052 LPCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCTW; 8053 _CONNECTDLGSTRUCT = CONNECTDLGSTRUCTW; 8054 CONNECTDLGSTRUCT = CONNECTDLGSTRUCTW; 8055 TCONNECTDLGSTRUCT = CONNECTDLGSTRUCTW; 8056 PCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCTW; 8057 {$else} 8058 LPCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCTA; 8059 _CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA; 8060 CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA; 8061 TCONNECTDLGSTRUCT = CONNECTDLGSTRUCTA; 8062 PCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCTA; 8063 {$endif} 8064 8065 DISCDLGSTRUCTA = record 8066 cbStructure : DWORD; 8067 hwndOwner : HWND; 8068 lpLocalName : LPSTR; 8069 lpRemoteName : LPSTR; 8070 dwFlags : DWORD; 8071 end; 8072 LPDISCDLGSTRUCTA = ^DISCDLGSTRUCTA; 8073 _DISCDLGSTRUCTA = DISCDLGSTRUCTA; 8074 TDISCDLGSTRUCTA = DISCDLGSTRUCTA; 8075 PDISCDLGSTRUCTA = ^DISCDLGSTRUCTA; 8076 8077 DISCDLGSTRUCTW = record 8078 cbStructure : DWORD; 8079 hwndOwner : HWND; 8080 lpLocalName : LPWSTR; 8081 lpRemoteName : LPWSTR; 8082 dwFlags : DWORD; 8083 end; 8084 LPDISCDLGSTRUCTW = ^DISCDLGSTRUCTW; 8085 _DISCDLGSTRUCTW = DISCDLGSTRUCTW; 8086 TDISCDLGSTRUCTW = DISCDLGSTRUCTW; 8087 PDISCDLGSTRUCTW = ^DISCDLGSTRUCTW; 8088 {$ifdef Unicode} 8089 LPDISCDLGSTRUCT = ^DISCDLGSTRUCTW; 8090 _DISCDLGSTRUCT = DISCDLGSTRUCTW; 8091 TDISCDLGSTRUCT = DISCDLGSTRUCTW; 8092 DISCDLGSTRUCT = DISCDLGSTRUCTW; 8093 PDISCDLGSTRUCT = ^DISCDLGSTRUCTW; 8094 {$else} 8095 LPDISCDLGSTRUCT = ^DISCDLGSTRUCTA; 8096 _DISCDLGSTRUCT = DISCDLGSTRUCTA; 8097 TDISCDLGSTRUCT = DISCDLGSTRUCTA; 8098 DISCDLGSTRUCT = DISCDLGSTRUCTA; 8099 PDISCDLGSTRUCT = ^DISCDLGSTRUCTA; 8100 {$endif} 8101 8102 NETINFOSTRUCT = record 8103 cbStructure : DWORD; 8104 dwProviderVersion : DWORD; 8105 dwStatus : DWORD; 8106 dwCharacteristics : DWORD; 8107 dwHandle : ULONG_PTR; 8108 wNetType : WORD; 8109 dwPrinters : DWORD; 8110 dwDrives : DWORD; 8111 end; 8112 LPNETINFOSTRUCT = ^NETINFOSTRUCT; 8113 _NETINFOSTRUCT = NETINFOSTRUCT; 8114 TNETINFOSTRUCT = NETINFOSTRUCT; 8115 PNETINFOSTRUCT = ^NETINFOSTRUCT; 8116 8117 NETCONNECTINFOSTRUCT = record 8118 cbStructure : DWORD; 8119 dwFlags : DWORD; 8120 dwSpeed : DWORD; 8121 dwDelay : DWORD; 8122 dwOptDataSize : DWORD; 8123 end; 8124 LPNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT; 8125 _NETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT; 8126 TNETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT; 8127 PNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT; 8128 8129 ENUMMETAFILEPROC = function (_para1:HDC; _para2:LPHANDLETABLE; _para3:LPMETARECORD; _para4:longint; _para5:LPARAM):longint;stdcall; 8130 8131 ENHMETAFILEPROC = function (_para1:HDC; _para2:LPHANDLETABLE; _para3:LPENHMETARECORD; _para4:longint; _para5:LPARAM):longint;stdcall; 8132 8133 ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint;stdcall; 8134 ENUMFONTSPROCA= function (_para1:LPLOGFONTA; _para2:LPTEXTMETRICA; _para3:DWORD; _para4:LPARAM):longint;stdcall; 8135 ENUMFONTSPROCW= function (_para1:LPLOGFONTW; _para2:LPTEXTMETRICW; _para3:DWORD; _para4:LPARAM):longint;stdcall; 8136 ENUMFONTSEXPROC = function (_para1:PENUMLOGFONTEX; _para2:LPNEWTEXTMETRICEX; _para3:DWORD; _para4:LPARAM):longint;stdcall; 8137 ENUMFONTSEXPROCA= function (_para1:PENUMLOGFONTEXA; _para2:LPNEWTEXTMETRICEXA; _para3:DWORD; _para4:LPARAM):longint;stdcall; 8138 ENUMFONTSEXPROCW= function (_para1:PENUMLOGFONTEXW; _para2:LPNEWTEXTMETRICEXW; _para3:DWORD; _para4:LPARAM):longint;stdcall; 8139 8140 FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint;stdcall; 8141 FONTENUMPROCA = function (var _para1:ENUMLOGFONTA; var _para2:NEWTEXTMETRICA; _para3:longint; _para4:LPARAM):longint;stdcall; 8142 FONTENUMPROCW = function (var _para1:ENUMLOGFONTW; var _para2:NEWTEXTMETRICW; _para3:longint; _para4:LPARAM):longint;stdcall; 8143 FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint;stdcall; 8144 FONTENUMEXPROCA= function (var _para1:ENUMLOGFONTEXA;var _para2:NEWTEXTMETRICEXA; _para3:longint; _para4:LPARAM):longint;stdcall; 8145 FONTENUMEXPROCW= function (var _para1:ENUMLOGFONTEXW;var _para2:NEWTEXTMETRICEXW; _para3:longint; _para4:LPARAM):longint;stdcall; 8146 8147 LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED);stdcall; 8148 8149 { Structures for the extensions to OpenGL } 8150 8151 POINTFLOAT = record 8152 x : Single; 8153 y : Single; 8154 end; 8155 _POINTFLOAT = POINTFLOAT; 8156 TPOINTFLOAT = POINTFLOAT; 8157 PPOINTFLOAT = ^POINTFLOAT; 8158 8159 GLYPHMETRICSFLOAT = record 8160 gmfBlackBoxX : Single; 8161 gmfBlackBoxY : Single; 8162 gmfptGlyphOrigin : POINTFLOAT; 8163 gmfCellIncX : Single; 8164 gmfCellIncY : Single; 8165 end; 8166 LPGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT; 8167 _GLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT; 8168 TGLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT; 8169 PGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT; 8170 8171 LAYERPLANEDESCRIPTOR = record 8172 nSize : WORD; 8173 nVersion : WORD; 8174 dwFlags : DWORD; 8175 iPixelType : BYTE; 8176 cColorBits : BYTE; 8177 cRedBits : BYTE; 8178 cRedShift : BYTE; 8179 cGreenBits : BYTE; 8180 cGreenShift : BYTE; 8181 cBlueBits : BYTE; 8182 cBlueShift : BYTE; 8183 cAlphaBits : BYTE; 8184 cAlphaShift : BYTE; 8185 cAccumBits : BYTE; 8186 cAccumRedBits : BYTE; 8187 cAccumGreenBits : BYTE; 8188 cAccumBlueBits : BYTE; 8189 cAccumAlphaBits : BYTE; 8190 cDepthBits : BYTE; 8191 cStencilBits : BYTE; 8192 cAuxBuffers : BYTE; 8193 iLayerPlane : BYTE; 8194 bReserved : BYTE; 8195 crTransparent : COLORREF; 8196 end; 8197 LPLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR; 8198 tagLAYERPLANEDESCRIPTOR = LAYERPLANEDESCRIPTOR; 8199 TLAYERPLANEDESCRIPTOR = LAYERPLANEDESCRIPTOR; 8200 PLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR; 8201 8202 PIXELFORMATDESCRIPTOR = record 8203 nSize : WORD; 8204 nVersion : WORD; 8205 dwFlags : DWORD; 8206 iPixelType : BYTE; 8207 cColorBits : BYTE; 8208 cRedBits : BYTE; 8209 cRedShift : BYTE; 8210 cGreenBits : BYTE; 8211 cGreenShift : BYTE; 8212 cBlueBits : BYTE; 8213 cBlueShift : BYTE; 8214 cAlphaBits : BYTE; 8215 cAlphaShift : BYTE; 8216 cAccumBits : BYTE; 8217 cAccumRedBits : BYTE; 8218 cAccumGreenBits : BYTE; 8219 cAccumBlueBits : BYTE; 8220 cAccumAlphaBits : BYTE; 8221 cDepthBits : BYTE; 8222 cStencilBits : BYTE; 8223 cAuxBuffers : BYTE; 8224 iLayerType : BYTE; 8225 bReserved : BYTE; 8226 dwLayerMask : DWORD; 8227 dwVisibleMask : DWORD; 8228 dwDamageMask : DWORD; 8229 end; 8230 LPPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR; 8231 tagPIXELFORMATDESCRIPTOR = PIXELFORMATDESCRIPTOR; 8232 TPIXELFORMATDESCRIPTOR = PIXELFORMATDESCRIPTOR; 8233 PPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR; 8234 8235 USER_INFO_2 = record 8236 usri2_name : LPWSTR; 8237 usri2_password : LPWSTR; 8238 usri2_password_age : DWORD; 8239 usri2_priv : DWORD; 8240 usri2_home_dir : LPWSTR; 8241 usri2_comment : LPWSTR; 8242 usri2_flags : DWORD; 8243 usri2_script_path : LPWSTR; 8244 usri2_auth_flags : DWORD; 8245 usri2_full_name : LPWSTR; 8246 usri2_usr_comment : LPWSTR; 8247 usri2_parms : LPWSTR; 8248 usri2_workstations : LPWSTR; 8249 usri2_last_logon : DWORD; 8250 usri2_last_logoff : DWORD; 8251 usri2_acct_expires : DWORD; 8252 usri2_max_storage : DWORD; 8253 usri2_units_per_week : DWORD; 8254 usri2_logon_hours : PBYTE; 8255 usri2_bad_pw_count : DWORD; 8256 usri2_num_logons : DWORD; 8257 usri2_logon_server : LPWSTR; 8258 usri2_country_code : DWORD; 8259 usri2_code_page : DWORD; 8260 end; 8261 PUSER_INFO_2 = ^USER_INFO_2; 8262 LPUSER_INFO_2 = ^USER_INFO_2; 8263 TUSERINFO2 = USER_INFO_2; 8264 PUSERINFO2 = ^USER_INFO_2; 8265 8266 USER_INFO_0 = record 8267 usri0_name : LPWSTR; 8268 end; 8269 PUSER_INFO_0 = ^USER_INFO_0; 8270 LPUSER_INFO_0 = ^USER_INFO_0; 8271 TUSERINFO0 = USER_INFO_0; 8272 PUSERINFO0 = ^USER_INFO_0; 8273 8274 USER_INFO_3 = record 8275 usri3_name : LPWSTR; 8276 usri3_password : LPWSTR; 8277 usri3_password_age : DWORD; 8278 usri3_priv : DWORD; 8279 usri3_home_dir : LPWSTR; 8280 usri3_comment : LPWSTR; 8281 usri3_flags : DWORD; 8282 usri3_script_path : LPWSTR; 8283 usri3_auth_flags : DWORD; 8284 usri3_full_name : LPWSTR; 8285 usri3_usr_comment : LPWSTR; 8286 usri3_parms : LPWSTR; 8287 usri3_workstations : LPWSTR; 8288 usri3_last_logon : DWORD; 8289 usri3_last_logoff : DWORD; 8290 usri3_acct_expires : DWORD; 8291 usri3_max_storage : DWORD; 8292 usri3_units_per_week : DWORD; 8293 usri3_logon_hours : PBYTE; 8294 usri3_bad_pw_count : DWORD; 8295 usri3_num_logons : DWORD; 8296 usri3_logon_server : LPWSTR; 8297 usri3_country_code : DWORD; 8298 usri3_code_page : DWORD; 8299 usri3_user_id : DWORD; 8300 usri3_primary_group_id : DWORD; 8301 usri3_profile : LPWSTR; 8302 usri3_home_dir_drive : LPWSTR; 8303 usri3_password_expired : DWORD; 8304 end; 8305 PUSER_INFO_3 = ^USER_INFO_3; 8306 LPUSER_INFO_3 = ^USER_INFO_3; 8307 TUSERINFO3 = USER_INFO_3; 8308 PUSERINFO3 = ^USER_INFO_3; 8309 8310 GROUP_INFO_2 = record 8311 grpi2_name : LPWSTR; 8312 grpi2_comment : LPWSTR; 8313 grpi2_group_id : DWORD; 8314 grpi2_attributes : DWORD; 8315 end; 8316 PGROUP_INFO_2 = ^GROUP_INFO_2; 8317 TGROUPINFO2 = GROUP_INFO_2; 8318 PGROUPINFO2 = ^GROUP_INFO_2; 8319 8320 LOCALGROUP_INFO_0 = record 8321 lgrpi0_name : LPWSTR; 8322 end; 8323 PLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0; 8324 LPLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0; 8325 TLOCALGROUPINFO0 = LOCALGROUP_INFO_0; 8326 PLOCALGROUPINFO0 = ^LOCALGROUP_INFO_0; 8327 8328 { PE executable header. } 8329 { Magic number, 0x5a4d } 8330 { Bytes on last page of file, 0x90 } 8331 { Pages in file, 0x3 } 8332 { Relocations, 0x0 } 8333 { Size of header in paragraphs, 0x4 } 8334 { Minimum extra paragraphs needed, 0x0 } 8335 { Maximum extra paragraphs needed, 0xFFFF } 8336 { Initial (relative) SS value, 0x0 } 8337 { Initial SP value, 0xb8 } 8338 { Checksum, 0x0 } 8339 { Initial IP value, 0x0 } 8340 { Initial (relative) CS value, 0x0 } 8341 { File address of relocation table, 0x40 } 8342 { Overlay number, 0x0 } 8343 { Reserved words, all 0x0 } 8344 { OEM identifier (for e_oeminfo), 0x0 } 8345 { OEM information; e_oemid specific, 0x0 } 8346 { Reserved words, all 0x0 } 8347 { File address of new exe header, 0x80 } 8348 { We leave out the next two fields, since they aren't in the header file } 8349 { DWORD dos_message[16]; text which always follows dos header } 8350 { DWORD nt_signature; required NT signature, 0x4550 } 8351 8352 IMAGE_DOS_HEADER = record 8353 e_magic : WORD; 8354 e_cblp : WORD; 8355 e_cp : WORD; 8356 e_crlc : WORD; 8357 e_cparhdr : WORD; 8358 e_minalloc : WORD; 8359 e_maxalloc : WORD; 8360 e_ss : WORD; 8361 e_sp : WORD; 8362 e_csum : WORD; 8363 e_ip : WORD; 8364 e_cs : WORD; 8365 e_lfarlc : WORD; 8366 e_ovno : WORD; 8367 e_res : array[0..3] of WORD; 8368 e_oemid : WORD; 8369 e_oeminfo : WORD; 8370 e_res2 : array[0..9] of WORD; 8371 case boolean of 8372 true : (e_lfanew : LONG); 8373 false: (_lfanew : LONG); // delphi naming 8374 end; 8375 PIMAGE_DOS_HEADER = ^IMAGE_DOS_HEADER; 8376 TIMAGE_DOS_HEADER = IMAGE_DOS_HEADER; 8377 TIMAGEDOSHEADER = IMAGE_DOS_HEADER; 8378 PIMAGEDOSHEADER = ^IMAGE_DOS_HEADER; 8379 8380 _NOTIFYICONDATAA = record 8381 cbSize: DWORD; 8382 Wnd: HWND; 8383 uID: UINT; 8384 uFlags: UINT; 8385 uCallbackMessage: UINT; 8386 hIcon: HICON; 8387 szTip: array [0..127] of AnsiChar; 8388 dwState : DWORD; 8389 dwStateMask : DWORD; 8390 szInfo : array[0..255] of AnsiChar; 8391 case longint of 8392 0 : (uTimeout : UINT;); 8393 1 : (uVersion : UINT; 8394 szInfoTitle : array[0..63] of AnsiChar; 8395 dwInfoFlags : DWORD; 8396 //guidItem : TGUID; // #if (_WIN32_IE >= 0x600)} 8397 ); 8398 end; 8399 TNotifyIconDataA = _NOTIFYICONDATAA; 8400 NOTIFYICONDATAA = _NOTIFYICONDATAA; 8401 PNotifyIconDataA = ^TNotifyIconDataA; 8402 8403 _NOTIFYICONDATAW = record 8404 cbSize: DWORD; 8405 Wnd: HWND; 8406 uID: UINT; 8407 uFlags: UINT; 8408 uCallbackMessage: UINT; 8409 hIcon: HICON; 8410 szTip: array [0..127] of WCHAR; 8411 dwState : DWORD; 8412 dwStateMask : DWORD; 8413 szInfo : array[0..255] of WCHAR; 8414 case longint of 8415 0 : (uTimeout : UINT;); 8416 1 : (uVersion : UINT; 8417 szInfoTitle : array[0..63] of WCHAR; 8418 dwInfoFlags : DWORD; 8419 //guidItem : TGUID; // #if (_WIN32_IE >= 0x600)} 8420 ); 8421 end; 8422 TNotifyIconDataW = _NOTIFYICONDATAW; 8423 NOTIFYICONDATAW = _NOTIFYICONDATAW; 8424 PNotifyIconDataW = ^TNotifyIconDataW; 8425 8426 {$ifdef Unicode} 8427 _NOTIFYICONDATA = _NOTIFYICONDATAW; 8428 TNotifyIconData = TNotifyIconDataW; 8429 NOTIFYICONDATA = NOTIFYICONDATAW; 8430 PNotifyIconData = PNotifyIconDataW; 8431 {$else} 8432 _NOTIFYICONDATA = _NOTIFYICONDATAA; 8433 TNotifyIconData = TNotifyIconDataA; 8434 NOTIFYICONDATA = NOTIFYICONDATAA; 8435 PNotifyIconData = PNotifyIconDataA; 8436 {$endif} 8437 8438 TWOHandleArray = array[0..MAXIMUM_WAIT_OBJECTS-1] of HANDLE; 8439 PWOHandleArray = ^TWOHandleArray; 8440 MMRESULT = Longint; 8441 8442type 8443 PWaveFormatEx = ^TWaveFormatEx; 8444 TWaveFormatEx = packed record 8445 wFormatTag: Word; { format type } 8446 nChannels: Word; { number of channels (i.e. mono, stereo, etc.) } 8447 nSamplesPerSec: DWORD; { sample rate } 8448 nAvgBytesPerSec: DWORD; { for buffer estimation } 8449 nBlockAlign: Word; { block size of data } 8450 wBitsPerSample: Word; { number of bits per sample of mono data } 8451 cbSize: Word; { the count in bytes of the size of } 8452 end; 8453 8454 _WIN32_FILE_ATTRIBUTE_DATA = packed record 8455 dwFileAttributes: DWORD; 8456 ftCreationTime: FILETIME; 8457 ftLastAccessTime: FILETIME; 8458 ftLastWriteTime: FILETIME; 8459 nFileSizeHigh: DWORD; 8460 nFileSizeLow: DWORD; 8461 end; 8462 WIN32_FILE_ATTRIBUTE_DATA = _WIN32_FILE_ATTRIBUTE_DATA ; 8463 LPWIN32_FILE_ATTRIBUTE_DATA = ^_WIN32_FILE_ATTRIBUTE_DATA; 8464 TWIN32FILEATTRIBUTEDATA = _WIN32_FILE_ATTRIBUTE_DATA ; 8465 PWIN32FILEATTRIBUTEDATA = ^_WIN32_FILE_ATTRIBUTE_DATA; 8466 8467 // TrackMouseEvent. NT or higher only. 8468 TTrackMouseEvent = Record 8469 cbSize : DWORD; 8470 dwFlags : DWORD; 8471 hwndTrack : HWND; 8472 dwHoverTime : DWORD; 8473 end; 8474 PTrackMouseEvent = ^TTrackMouseEvent; 8475 8476 8477// File header format. 8478// 8479 8480 PIMAGE_FILE_HEADER = ^IMAGE_FILE_HEADER; 8481 _IMAGE_FILE_HEADER = record 8482 Machine: WORD; 8483 NumberOfSections: WORD; 8484 TimeDateStamp: DWORD; 8485 PointerToSymbolTable: DWORD; 8486 NumberOfSymbols: DWORD; 8487 SizeOfOptionalHeader: WORD; 8488 Characteristics: WORD; 8489 end; 8490 IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER; 8491 TImageFileHeader = IMAGE_FILE_HEADER; 8492 PImageFileHeader = PIMAGE_FILE_HEADER; 8493 8494 8495// 8496// Debug Format 8497// 8498 8499 PIMAGE_DEBUG_DIRECTORY = ^IMAGE_DEBUG_DIRECTORY; 8500 _IMAGE_DEBUG_DIRECTORY = record 8501 Characteristics: DWORD; 8502 TimeDateStamp: DWORD; 8503 MajorVersion: Word; 8504 MinorVersion: Word; 8505 Type_: DWORD; 8506 SizeOfData: DWORD; 8507 AddressOfRawData: DWORD; 8508 PointerToRawData: DWORD; 8509 end; 8510 IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY; 8511 TImageDebugDirectory = IMAGE_DEBUG_DIRECTORY; 8512 PImageDebugDirectory = PIMAGE_DEBUG_DIRECTORY; 8513 8514// 8515// Optional header format. 8516// 8517 8518 8519 PIMAGE_DATA_DIRECTORY = ^IMAGE_DATA_DIRECTORY; 8520 _IMAGE_DATA_DIRECTORY = record 8521 VirtualAddress: DWORD; 8522 Size: DWORD; 8523 end; 8524 IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY; 8525 TIMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY; 8526 TImageDataDirectory = IMAGE_DATA_DIRECTORY; 8527 PImageDataDirectory = PIMAGE_DATA_DIRECTORY; 8528 8529const 8530 IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16; 8531 8532type 8533 PIMAGE_OPTIONAL_HEADER32 = ^IMAGE_OPTIONAL_HEADER32; 8534 _IMAGE_OPTIONAL_HEADER = record 8535 // 8536 // Standard fields. 8537 // 8538 Magic: Word; 8539 MajorLinkerVersion: Byte; 8540 MinorLinkerVersion: Byte; 8541 SizeOfCode: DWORD; 8542 SizeOfInitializedData: DWORD; 8543 SizeOfUninitializedData: DWORD; 8544 AddressOfEntryPoint: DWORD; 8545 BaseOfCode: DWORD; 8546 BaseOfData: DWORD; 8547 // 8548 // NT additional fields. 8549 // 8550 ImageBase: DWORD; 8551 SectionAlignment: DWORD; 8552 FileAlignment: DWORD; 8553 MajorOperatingSystemVersion: Word; 8554 MinorOperatingSystemVersion: Word; 8555 MajorImageVersion: Word; 8556 MinorImageVersion: Word; 8557 MajorSubsystemVersion: Word; 8558 MinorSubsystemVersion: Word; 8559 Win32VersionValue: DWORD; 8560 SizeOfImage: DWORD; 8561 SizeOfHeaders: DWORD; 8562 CheckSum: DWORD; 8563 Subsystem: Word; 8564 DllCharacteristics: Word; 8565 SizeOfStackReserve: DWORD; 8566 SizeOfStackCommit: DWORD; 8567 SizeOfHeapReserve: DWORD; 8568 SizeOfHeapCommit: DWORD; 8569 LoaderFlags: DWORD; 8570 NumberOfRvaAndSizes: DWORD; 8571 DataDirectory: array [0..IMAGE_NUMBEROF_DIRECTORY_ENTRIES - 1] of IMAGE_DATA_DIRECTORY; 8572 end; 8573 IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER; 8574 TImageOptionalHeader32 = IMAGE_OPTIONAL_HEADER32; 8575 PImageOptionalHeader32 = PIMAGE_OPTIONAL_HEADER32; 8576 8577 PIMAGE_ROM_OPTIONAL_HEADER = ^IMAGE_ROM_OPTIONAL_HEADER; 8578 _IMAGE_ROM_OPTIONAL_HEADER = record 8579 Magic: Word; 8580 MajorLinkerVersion: Byte; 8581 MinorLinkerVersion: Byte; 8582 SizeOfCode: DWORD; 8583 SizeOfInitializedData: DWORD; 8584 SizeOfUninitializedData: DWORD; 8585 AddressOfEntryPoint: DWORD; 8586 BaseOfCode: DWORD; 8587 BaseOfData: DWORD; 8588 BaseOfBss: DWORD; 8589 GprMask: DWORD; 8590 CprMask: array [0..3] of DWORD; 8591 GpValue: DWORD; 8592 end; 8593 IMAGE_ROM_OPTIONAL_HEADER = _IMAGE_ROM_OPTIONAL_HEADER; 8594 TIMAGE_ROM_OPTIONAL_HEADER = _IMAGE_ROM_OPTIONAL_HEADER; 8595 TImageRomOptionalHeader = IMAGE_ROM_OPTIONAL_HEADER; 8596 PImageRomOptionalHeader = PIMAGE_ROM_OPTIONAL_HEADER; 8597 8598 PIMAGE_OPTIONAL_HEADER64 = ^IMAGE_OPTIONAL_HEADER64; 8599 _IMAGE_OPTIONAL_HEADER64 = record 8600 Magic: Word; 8601 MajorLinkerVersion: Byte; 8602 MinorLinkerVersion: Byte; 8603 SizeOfCode: DWORD; 8604 SizeOfInitializedData: DWORD; 8605 SizeOfUninitializedData: DWORD; 8606 AddressOfEntryPoint: DWORD; 8607 BaseOfCode: DWORD; 8608 ImageBase: Int64; 8609 SectionAlignment: DWORD; 8610 FileAlignment: DWORD; 8611 MajorOperatingSystemVersion: Word; 8612 MinorOperatingSystemVersion: Word; 8613 MajorImageVersion: Word; 8614 MinorImageVersion: Word; 8615 MajorSubsystemVersion: Word; 8616 MinorSubsystemVersion: Word; 8617 Win32VersionValue: DWORD; 8618 SizeOfImage: DWORD; 8619 SizeOfHeaders: DWORD; 8620 CheckSum: DWORD; 8621 Subsystem: Word; 8622 DllCharacteristics: Word; 8623 SizeOfStackReserve: Int64; 8624 SizeOfStackCommit: Int64; 8625 SizeOfHeapReserve: Int64; 8626 SizeOfHeapCommit: Int64; 8627 LoaderFlags: DWORD; 8628 NumberOfRvaAndSizes: DWORD; 8629 DataDirectory: array [0..IMAGE_NUMBEROF_DIRECTORY_ENTRIES - 1] of IMAGE_DATA_DIRECTORY; 8630 end; 8631 IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64; 8632 TImageOptionalHeader64 = IMAGE_OPTIONAL_HEADER64; 8633 PImageOptionalHeader64 = PIMAGE_OPTIONAL_HEADER64; 8634 8635const 8636 IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56; 8637 IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28; 8638 IMAGE_SIZEOF_NT_OPTIONAL32_HEADER = 224; 8639 IMAGE_SIZEOF_NT_OPTIONAL64_HEADER = 240; 8640 8641 IMAGE_NT_OPTIONAL_HDR32_MAGIC = $10b; 8642 IMAGE_NT_OPTIONAL_HDR64_MAGIC = $20b; 8643 IMAGE_ROM_OPTIONAL_HDR_MAGIC = $107; 8644 8645type 8646{$ifdef WIN64} 8647 IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64; 8648 PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64; 8649{$else} 8650 IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER32; 8651 PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER32; 8652{$endif} 8653 TImageOptionalHeader = IMAGE_OPTIONAL_HEADER; 8654 PImageOptionalHeader = PIMAGE_OPTIONAL_HEADER; 8655 8656const 8657 IMAGE_SIZEOF_NT_OPTIONAL_HEADER = IMAGE_SIZEOF_NT_OPTIONAL32_HEADER; 8658 IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC; 8659 8660type 8661 PIMAGE_NT_HEADERS64 = ^IMAGE_NT_HEADERS64; 8662 _IMAGE_NT_HEADERS64 = record 8663 Signature: DWORD; 8664 FileHeader: IMAGE_FILE_HEADER; 8665 OptionalHeader: IMAGE_OPTIONAL_HEADER64; 8666 end; 8667 IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64; 8668 TImageNtHeaders64 = IMAGE_NT_HEADERS64; 8669 PImageNtHeaders64 = PIMAGE_NT_HEADERS64; 8670 8671 PIMAGE_NT_HEADERS32 = ^IMAGE_NT_HEADERS32; 8672 _IMAGE_NT_HEADERS = record 8673 Signature: DWORD; 8674 FileHeader: IMAGE_FILE_HEADER; 8675 OptionalHeader: IMAGE_OPTIONAL_HEADER32; 8676 end; 8677 IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS; 8678 TImageNtHeaders32 = IMAGE_NT_HEADERS32; 8679 PImageNtHeaders32 = PIMAGE_NT_HEADERS32; 8680 8681 PIMAGE_ROM_HEADERS = ^IMAGE_ROM_HEADERS; 8682 _IMAGE_ROM_HEADERS = record 8683 FileHeader: IMAGE_FILE_HEADER; 8684 OptionalHeader: IMAGE_ROM_OPTIONAL_HEADER; 8685 end; 8686 IMAGE_ROM_HEADERS = _IMAGE_ROM_HEADERS; 8687 TImageRomHeaders = IMAGE_ROM_HEADERS; 8688 PImageRomHeaders = PIMAGE_ROM_HEADERS; 8689 8690{$ifdef WIN64} 8691 IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64; 8692 PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64; 8693{$else} 8694 IMAGE_NT_HEADERS = IMAGE_NT_HEADERS32; 8695 PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS32; 8696{$endif} 8697 8698 TImageNtHeaders = IMAGE_NT_HEADERS; 8699 PImageNtHeaders = PIMAGE_NT_HEADERS; 8700 8701 _GET_FILEEX_INFO_LEVELS = (GetFileExInfoStandard, GetFileExMaxInfoLevel); 8702 GET_FILEEX_INFO_LEVELS = _GET_FILEEX_INFO_LEVELS; 8703 TGetFileExInfoLevels = GET_FILEEX_INFO_LEVELS; 8704 TGet_FileEx_Info_Levels = GET_FILEEX_INFO_LEVELS; 8705 8706 tagBSTRBLOB = record 8707 cbsize : ULONG; 8708 pdata : pbyte; 8709 end; 8710 BSTRBLOB=TagBSTRBlob; 8711 TBSTRBLOB=BSTRBLOB; 8712 PBSTRBLOB=^BSTRBLOB; 8713 8714 tagCLIPDATA = record 8715 cbsize : ULONG; 8716 ulClipFmt : long; 8717 pclipdata : pbyte; 8718 end; 8719 CLIPDATA=TagCLIPDATA; 8720 TCLIPDATA=CLIPDATA; 8721 PCLIPDATA=^CLIPDATA; 8722 8723 TImage_Section_SubHeader= record 8724 case longint of 8725 0 : ( PhysicalAddress : DWORD ); 8726 1 : ( VirtualSize : DWORD ); 8727 end; 8728 8729 _IMAGE_SECTION_HEADER = record 8730 Name : array[0..(IMAGE_SIZEOF_SHORT_NAME)-1] of BYTE; 8731 Misc : TImage_Section_SubHeader; 8732 VirtualAddress : DWORD; 8733 SizeOfRawData : DWORD; 8734 PointerToRawData : DWORD; 8735 PointerToRelocations : DWORD; 8736 PointerToLinenumbers : DWORD; 8737 NumberOfRelocations : WORD; 8738 NumberOfLinenumbers : WORD; 8739 Characteristics : DWORD; 8740 end; 8741 IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER; 8742 TIMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER; 8743 PIMAGE_SECTION_HEADER = ^_IMAGE_SECTION_HEADER; 8744 PPIMAGE_SECTION_HEADER = ^PIMAGE_SECTION_HEADER; 8745 IMAGESECTIONHEADER = _IMAGE_SECTION_HEADER; 8746 TIMAGESECTIONHEADER = _IMAGE_SECTION_HEADER; 8747 PIMAGESECTIONHEADER = ^_IMAGE_SECTION_HEADER; 8748 8749 8750 _IMAGE_FUNCTION_ENTRY = record 8751 StartingAddress, 8752 EndingAddress, 8753 EndOfPrologue : DWord; 8754 end; 8755 IMAGE_FUNCTION_ENTRY = _IMAGE_FUNCTION_ENTRY; 8756 TIMAGE_FUNCTION_ENTRY= IMAGE_FUNCTION_ENTRY; 8757 PIMAGE_FUNCTION_ENTRY= ^IMAGE_FUNCTION_ENTRY; 8758 LPIMAGE_FUNCTION_ENTRY= PIMAGE_FUNCTION_ENTRY; 8759 8760 8761 _IMAGE_FUNCTION_ENTRY64 = record 8762 StartingAddress, 8763 EndingAddress : ULONGLONG ; 8764 case boolean of 8765 false : (EndOfPrologue : ULONGLONG); 8766 true : (UnwindInfoAddress : ULONGLONG); 8767 end; 8768 IMAGE_FUNCTION_ENTRY64 = _IMAGE_FUNCTION_ENTRY64; 8769 TIMAGE_FUNCTION_ENTRY64 = _IMAGE_FUNCTION_ENTRY64; 8770 PIMAGE_FUNCTION_ENTRY64 = ^_IMAGE_FUNCTION_ENTRY64; 8771 LPIMAGE_FUNCTION_ENTRY64= ^_IMAGE_FUNCTION_ENTRY64; 8772 8773 _IMAGE_COFF_SYMBOLS_HEADER = record 8774 NumberOfSymbols, 8775 LvaToFirstSymbol, 8776 NumberOfLinenumbers, 8777 LvaToFirstLinenumber, 8778 RvaToFirstByteOfCode, 8779 RvaToLastByteOfCode, 8780 RvaToFirstByteOfData, 8781 RvaToLastByteOfData : DWORD; 8782 end; 8783 TIMAGE_COFF_SYMBOLS_HEADER = _IMAGE_COFF_SYMBOLS_HEADER; 8784 IMAGE_COFF_SYMBOLS_HEADER = _IMAGE_COFF_SYMBOLS_HEADER; 8785 PIMAGE_COFF_SYMBOLS_HEADER = ^IMAGE_COFF_SYMBOLS_HEADER; 8786 LPIMAGE_COFF_SYMBOLS_HEADER= PIMAGE_COFF_SYMBOLS_HEADER; 8787 8788 8789 _FPO_DATA = record 8790 ulOffStart: DWORD; // offset 1st byte of function code 8791 cbProcSize: DWORD; // # bytes in function 8792 cdwLocals : DWORD; // # bytes in locals/4 8793 bitvalues : word; // 8794{ 8795 WORD cdwParams; // # bytes in params/4 8796 WORD cbProlog : 8; // # bytes in prolog 8797 WORD cbRegs : 3; // # regs saved 8798 WORD fHasSEH : 1; // TRUE if SEH in func 8799 WORD fUseBP : 1; // TRUE if EBP has been allocated 8800 WORD reserved : 1; // reserved for future use 8801 WORD cbFrame : 2; // frame type 8802} 8803 end; 8804 FPO_DATA = _FPO_DATA; 8805 TFPO_DATA = _FPO_DATA; 8806 PFPO_DATA = ^_FPO_DATA; 8807 LPFPO_DATA = PFPO_DATA; 8808 8809 8810 IMAGE_LOAD_CONFIG_DIRECTORY32 = record 8811 Size : DWORD; 8812 TimeDateStamp : DWORD; 8813 MajorVersion : WORD; 8814 MinorVersion : WORD; 8815 GlobalFlagsClear : DWORD; 8816 GlobalFlagsSet : DWORD; 8817 CriticalSectionDefaultTimeout : DWORD; 8818 DeCommitFreeBlockThreshold : DWORD; 8819 DeCommitTotalFreeThreshold : DWORD; 8820 LockPrefixTable : DWORD; 8821 MaximumAllocationSize : DWORD; 8822 VirtualMemoryThreshold : DWORD; 8823 ProcessHeapFlags : DWORD; 8824 ProcessAffinityMask : DWORD; 8825 CSDVersion : WORD; 8826 Reserved1 : WORD; 8827 EditList : DWORD; 8828 SecurityCookie : DWORD; 8829 SEHandlerTable : DWORD; 8830 SEHandlerCount : DWORD; 8831 end; 8832 PIMAGE_LOAD_CONFIG_DIRECTORY32 = ^IMAGE_LOAD_CONFIG_DIRECTORY32; 8833 TIMAGE_LOAD_CONFIG_DIRECTORY32 = IMAGE_LOAD_CONFIG_DIRECTORY32; 8834 IMAGE_LOAD_CONFIG_DIRECTORY64 = record 8835 Size : DWORD; 8836 TimeDateStamp : DWORD; 8837 MajorVersion : WORD; 8838 MinorVersion : WORD; 8839 GlobalFlagsClear : DWORD; 8840 GlobalFlagsSet : DWORD; 8841 CriticalSectionDefaultTimeout : DWORD; 8842 DeCommitFreeBlockThreshold : ULONGLONG; 8843 DeCommitTotalFreeThreshold : ULONGLONG; 8844 LockPrefixTable : ULONGLONG; 8845 MaximumAllocationSize : ULONGLONG; 8846 VirtualMemoryThreshold : ULONGLONG; 8847 ProcessAffinityMask : ULONGLONG; 8848 ProcessHeapFlags : DWORD; 8849 CSDVersion : WORD; 8850 Reserved1 : WORD; 8851 EditList : ULONGLONG; 8852 SecurityCookie : ULONGLONG; 8853 SEHandlerTable : ULONGLONG; 8854 SEHandlerCount : ULONGLONG; 8855 end; 8856 PIMAGE_LOAD_CONFIG_DIRECTORY64 = ^IMAGE_LOAD_CONFIG_DIRECTORY64; 8857 TIMAGE_LOAD_CONFIG_DIRECTORY64 = IMAGE_LOAD_CONFIG_DIRECTORY64; 8858{$ifdef WIN64} 8859 IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY64; 8860 TIMAGE_LOAD_CONFIG_DIRECTORY = TIMAGE_LOAD_CONFIG_DIRECTORY64; 8861 PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY64; 8862{$else} 8863 IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY32; 8864 TIMAGE_LOAD_CONFIG_DIRECTORY = TIMAGE_LOAD_CONFIG_DIRECTORY32; 8865 PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY32; 8866{$endif} 8867 8868 MOUSEINPUT = record 8869 dx : LONG; 8870 dy : LONG; 8871 MouseData : DWORD; 8872 dwFlags : DWORD; 8873 Time : DWORD; 8874 ExtraInfo : ULONG_PTR; 8875 end; 8876 TMOUSEINPUT = MOUSEINPUT; 8877 PMOUSEINPUT = ^MOUSEINPUT; 8878 LPMOUSEINPUT = PMOUSEINPUT; 8879 8880 KEYBDINPUT = record 8881 wVk : WORD; 8882 wScan : WORD; 8883 dwFlags : DWORD; 8884 Time : DWORD; 8885 ExtraInfo : ULONG_PTR; 8886 end; 8887 TKEYBDINPUT = KEYBDINPUT; 8888 PKEYBDINPUT = ^KEYBDINPUT; 8889 LPKEYBDINPUT = PKEYBDINPUT; 8890 8891 HARDWAREINPUT = record 8892 uMsg : DWORD; 8893 wParamL : WORD; 8894 wParamH : WORD; 8895 end; 8896 THARDWAREINPUT = HARDWAREINPUT; 8897 PHARDWAREINPUT = ^HARDWAREINPUT; 8898 LPHARDWAREINPUT = PHARDWAREINPUT; 8899 8900 TINPUT = record 8901 _Type : DWORD; 8902 case integer of 8903 1 : (mi : MOUSEINPUT); 8904 2 : (ki : KEYBDINPUT); 8905 3 : (hi : HARDWAREINPUT); 8906 end; 8907 PINPUT = ^TINPUT; 8908 LPINPUT = PINPUT; 8909 8910{$push} 8911{$packrecords 4} 8912 8913 PIMAGE_EXPORT_DIRECTORY = ^TIMAGE_EXPORT_DIRECTORY; 8914 IMAGE_EXPORT_DIRECTORY = record 8915 Characteristics : DWORD; 8916 TimeDateStamp : DWORD; 8917 MajorVersion : WORD; 8918 MinorVersion : WORD; 8919 Name : DWORD; 8920 Base : DWORD; 8921 NumberOfFunctions : DWORD; 8922 NumberOfNames : DWORD; 8923 AddressOfFunctions : DWORD; { RVA from base of image } 8924 AddressOfNames : DWORD; { RVA from base of image } 8925 AddressOfNameOrdinals : DWORD; { RVA from base of image } 8926 end; 8927 TIMAGE_EXPORT_DIRECTORY = IMAGE_EXPORT_DIRECTORY; 8928 _IMAGE_EXPORT_DIRECTORY = IMAGE_EXPORT_DIRECTORY; 8929 LPIMAGE_EXPORT_DIRECTORY= PIMAGE_EXPORT_DIRECTORY; 8930 8931 P_IMAGE_IMPORT_BY_NAME = ^_IMAGE_IMPORT_BY_NAME; 8932 _IMAGE_IMPORT_BY_NAME = record 8933 Hint : WORD; 8934 Name : array[0..0] of AnsiCHAR; 8935 end; 8936 IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME; 8937 PIMAGE_IMPORT_BY_NAME = ^IMAGE_IMPORT_BY_NAME; 8938 LPIMAGE_IMPORT_BY_NAME = P_IMAGE_IMPORT_BY_NAME; 8939 PPIMAGE_IMPORT_BY_NAME = ^PIMAGE_IMPORT_BY_NAME; 8940 8941 {$push}{$packrecords 8} // Use align 8 for the 64-bit IAT.} 8942 P_IMAGE_THUNK_DATA64 = ^_IMAGE_THUNK_DATA64; 8943 _IMAGE_THUNK_DATA64 = record 8944 u1 : record 8945 case longint of 8946 0 : ( ForwarderString : ULONGLONG ); { PBYTE } 8947 1 : ( _Function : ULONGLONG ); { PDWORD } 8948 2 : ( Ordinal : ULONGLONG ); 8949 3 : ( AddressOfData : ULONGLONG ); { PIMAGE_IMPORT_BY_NAME } 8950 end; 8951 end; 8952 IMAGE_THUNK_DATA64 = _IMAGE_THUNK_DATA64; 8953 PIMAGE_THUNK_DATA64 = ^IMAGE_THUNK_DATA64; 8954 8955 PPIMAGE_THUNK_DATA64 = ^PIMAGE_THUNK_DATA64; 8956 LPIMAGE_THUNK_DATA64 = PIMAGE_THUNK_DATA64; 8957 {$pop} // Back to 4 byte packing} 8958 8959 P_IMAGE_THUNK_DATA32 = ^_IMAGE_THUNK_DATA32; 8960 _IMAGE_THUNK_DATA32 = record 8961 u1 : record 8962 case longint of 8963 0 : ( ForwarderString : DWORD ); { PBYTE } 8964 1 : ( _Function : DWORD ); { PDWORD } 8965 2 : ( Ordinal : DWORD ); 8966 3 : ( AddressOfData : DWORD ); { PIMAGE_IMPORT_BY_NAME } 8967 end; 8968 end; 8969 IMAGE_THUNK_DATA32 = _IMAGE_THUNK_DATA32; 8970 PIMAGE_THUNK_DATA32 = ^IMAGE_THUNK_DATA32; 8971 8972 PPIMAGE_THUNK_DATA32 = ^PIMAGE_THUNK_DATA32; 8973 LPIMAGE_THUNK_DATA32 = PIMAGE_THUNK_DATA32; 8974 8975 { } 8976 { Thread Local Storage } 8977 { } 8978 8979 PIMAGE_TLS_CALLBACK = procedure (DllHandle:PVOID; Reason:DWORD; Reserved:PVOID);stdcall; {NTAPI} 8980 8981 P_IMAGE_TLS_DIRECTORY64 = ^_IMAGE_TLS_DIRECTORY64; 8982 _IMAGE_TLS_DIRECTORY64 = record 8983 StartAddressOfRawData : ULONGLONG; 8984 EndAddressOfRawData : ULONGLONG; 8985 AddressOfIndex : ULONGLONG; { PDWORD } 8986 AddressOfCallBacks : ULONGLONG; { PIMAGE_TLS_CALLBACK *; } 8987 SizeOfZeroFill : DWORD; 8988 case longint of 8989 0 : ( Characteristics : DWORD ); 8990 1 : ( CharacteristicsFields: bitpacked record 8991 Reserved0 : 0..$FFFFF; // 5 nibbles=20 bits 8992 Alignment : 0..$F; // 4 bits 8993 Reserved1 : 0..$FF; // 8 bits 8994 end ); 8995 end; 8996 IMAGE_TLS_DIRECTORY64 = _IMAGE_TLS_DIRECTORY64; 8997 PIMAGE_TLS_DIRECTORY64 = ^IMAGE_TLS_DIRECTORY64; 8998 8999 PPIMAGE_TLS_DIRECTORY64 = ^PIMAGE_TLS_DIRECTORY64; 9000 LPIMAGE_TLS_DIRECTORY64 = PIMAGE_TLS_DIRECTORY64; 9001 P_IMAGE_TLS_DIRECTORY32 = ^_IMAGE_TLS_DIRECTORY32; 9002 _IMAGE_TLS_DIRECTORY32 = record 9003 StartAddressOfRawData : DWORD; 9004 EndAddressOfRawData : DWORD; 9005 AddressOfIndex : DWORD; { PDWORD } 9006 AddressOfCallBacks : DWORD; { PIMAGE_TLS_CALLBACK * } 9007 SizeOfZeroFill : DWORD; 9008 case longint of 9009 0 : ( Characteristics : DWORD ); 9010 1 : ( CharacteristicsFields : bitpacked record 9011 Reserved0 : 0..$FFFFF; // 5 nibbles=20 bits 9012 Alignment : 0..$F; // 4 bits 9013 Reserved1 : 0..$FF; // 8 bits 9014 end ); 9015 9016 end; 9017 IMAGE_TLS_DIRECTORY32 = _IMAGE_TLS_DIRECTORY32; 9018 PIMAGE_TLS_DIRECTORY32 = ^IMAGE_TLS_DIRECTORY32; 9019 9020 9021 9022 PPIMAGE_TLS_DIRECTORY32 = ^PIMAGE_TLS_DIRECTORY32; 9023 LPIMAGE_TLS_DIRECTORY32 = PIMAGE_TLS_DIRECTORY32; 9024 9025 {$ifdef WIN64} 9026 9027 PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64; 9028 IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64; 9029 9030 PPIMAGE_THUNK_DATA = ^PIMAGE_THUNK_DATA64; 9031 LPIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64; 9032 9033 PIMAGE_TLS_DIRECTORY = ^IMAGE_TLS_DIRECTORY; 9034 IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY64; 9035 9036 PPIMAGE_TLS_DIRECTORY = ^PIMAGE_TLS_DIRECTORY; 9037 LPIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY64; 9038 {$else} 9039 9040 PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA32; 9041 IMAGE_THUNK_DATA = IMAGE_THUNK_DATA32; 9042 9043 PPIMAGE_THUNK_DATA = ^PIMAGE_THUNK_DATA; 9044 LPIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA32; 9045 PIMAGE_TLS_DIRECTORY = ^IMAGE_TLS_DIRECTORY; 9046 IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY32; 9047 9048 PPIMAGE_TLS_DIRECTORY = ^PIMAGE_TLS_DIRECTORY; 9049 LPIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY32; 9050 {$endif} 9051 9052 P_IMAGE_IMPORT_DESCRIPTOR = ^_IMAGE_IMPORT_DESCRIPTOR; 9053 _IMAGE_IMPORT_DESCRIPTOR = record 9054 case longint of 9055 0 : ( Characteristics : DWORD ); { 0 for terminating null import descriptor } 9056 1 : ( OriginalFirstThunk : DWORD; { RVA to original unbound IAT (PIMAGE_THUNK_DATA) } 9057 TimeDateStamp : DWORD; { 0 if not bound, } 9058 // -1 if bound, and real date\time stamp 9059 // in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND) 9060 // O.W. date/time stamp of DLL bound to (Old BIND) 9061 ForwarderChain : DWORD; // -1 if no forwarders 9062 Name : DWORD; 9063 FirstThunk : DWORD; // RVA to IAT (if bound this IAT has actual addresses) 9064 ); 9065 end; 9066 IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR; 9067 PIMAGE_IMPORT_DESCRIPTOR = ^IMAGE_IMPORT_DESCRIPTOR {UNALIGNED } ; 9068 9069 9070 PPIMAGE_IMPORT_DESCRIPTOR = ^PIMAGE_IMPORT_DESCRIPTOR; 9071 LPIMAGE_IMPORT_DESCRIPTOR = PIMAGE_IMPORT_DESCRIPTOR; 9072 { } 9073 { New format import descriptors pointed to by DataDirectory[ IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT ] } 9074 { } 9075 9076 9077 P_IMAGE_BOUND_IMPORT_DESCRIPTOR = ^_IMAGE_BOUND_IMPORT_DESCRIPTOR; 9078 _IMAGE_BOUND_IMPORT_DESCRIPTOR = record 9079 TimeDateStamp : DWORD; 9080 OffsetModuleName : WORD; 9081 NumberOfModuleForwarderRefs : WORD; 9082 { Array of zero or more IMAGE_BOUND_FORWARDER_REF follows } 9083 end; 9084 9085 IMAGE_BOUND_IMPORT_DESCRIPTOR = _IMAGE_BOUND_IMPORT_DESCRIPTOR; 9086 PIMAGE_BOUND_IMPORT_DESCRIPTOR = ^IMAGE_BOUND_IMPORT_DESCRIPTOR; 9087 LPIMAGE_BOUND_IMPORT_DESCRIPTOR = P_IMAGE_BOUND_IMPORT_DESCRIPTOR; 9088 PPIMAGE_BOUND_IMPORT_DESCRIPTOR = ^PIMAGE_BOUND_IMPORT_DESCRIPTOR; 9089 9090 P_IMAGE_BOUND_FORWARDER_REF = ^_IMAGE_BOUND_FORWARDER_REF; 9091 _IMAGE_BOUND_FORWARDER_REF = record 9092 TimeDateStamp : DWORD; 9093 OffsetModuleName : WORD; 9094 Reserved : WORD; 9095 end; 9096 IMAGE_BOUND_FORWARDER_REF = _IMAGE_BOUND_FORWARDER_REF; 9097 PIMAGE_BOUND_FORWARDER_REF = ^IMAGE_BOUND_FORWARDER_REF; 9098 LPIMAGE_BOUND_FORWARDER_REF = P_IMAGE_BOUND_FORWARDER_REF; 9099 PPIMAGE_BOUND_FORWARDER_REF = ^PIMAGE_BOUND_FORWARDER_REF; 9100 { Delay load version 2 } 9101 9102 _IMAGE_DELAYLOAD_DESCRIPTOR = record 9103 case longint of 9104 0: (AllAttributes :Dword; 9105 DllNameRVA, // RVA to the name of the target library (NULL-terminate ASCII string) 9106 ModuleHandleRVA, // RVA to the HMODULE caching location (PHMODULE) 9107 ImportAddressTableRVA, // RVA to the start of the IAT (PIMAGE_THUNK_DATA) 9108 ImportNameTableRVA, // RVA to the start of the name table (PIMAGE_THUNK_DATA::AddressOfData) 9109 BoundImportAddressTableRVA, // RVA to an optional bound IAT 9110 UnloadInformationTableRVA, // RVA to an optional unload info table 9111 TimeDateStamp : DWORD; // 0 if not bound, 9112 // Otherwise, date/time of the target DLL 9113 ); 9114 1: (Attributes:bitpacked record 9115 rvabased:0..1; {1 bits} // Delay load version 2 9116 ReservedAttributes: 0..$7FFFFFF; {31 bits} 9117 end;) 9118 end; 9119 9120 IMAGE_DELAYLOAD_DESCRIPTOR= _IMAGE_DELAYLOAD_DESCRIPTOR; 9121 PIMAGE_DELAYLOAD_DESCRIPTOR= ^_IMAGE_DELAYLOAD_DESCRIPTOR; 9122 PCIMAGE_DELAYLOAD_DESCRIPTOR= PIMAGE_DELAYLOAD_DESCRIPTOR; 9123{$pop} 9124 9125 tagCOMBOBOXINFO = record 9126 cbSize: DWORD; 9127 rcItem: TRect; 9128 rcButton: TRect; 9129 stateButton: DWORD; 9130 hwndCombo: HWND; 9131 hwndItem: HWND; 9132 hwndList: HWND; 9133 end; 9134 TComboboxInfo = tagCOMBOBOXINFO; 9135 PComboboxInfo = ^TComboboxInfo; 9136 LPComboboxInfo = PComboboxInfo; 9137 9138 _TRIVERTEX = record 9139 x : LONG; 9140 y : LONG; 9141 Red : COLOR16; 9142 Green : COLOR16; 9143 Blue : COLOR16; 9144 Alpha : COLOR16; 9145 end; 9146 TRIVERTEX = _TRIVERTEX; 9147 PTRIVERTEX = ^_TRIVERTEX; 9148 LPTRIVERTEX = PTRIVERTEX; 9149 9150 _GRADIENT_TRIANGLE = record 9151 Vertex1 : ULONG; 9152 Vertex2 : ULONG; 9153 Vertex3 : ULONG; 9154 end; 9155 GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE; 9156 TGRADIENT_TRIANGLE = _GRADIENT_TRIANGLE; 9157 PGRADIENT_TRIANGLE = ^_GRADIENT_TRIANGLE; 9158 LPGRADIENT_TRIANGLE = PGRADIENT_TRIANGLE; 9159 9160 _GRADIENT_RECT = record 9161 UpperLeft : ULONG; 9162 LowerRight : ULONG; 9163 end; 9164 GRADIENT_RECT = _GRADIENT_RECT; 9165 TGRADIENT_RECT = _GRADIENT_RECT; 9166 PGRADIENT_RECT = ^_GRADIENT_RECT; 9167 LPGRADIENT_RECT = PGRADIENT_RECT; 9168 9169 CURSORINFO = record 9170 cbSize : DWORD; 9171 flags : DWORD; 9172 hCursor : HCURSOR; 9173 ptScreenPos : POINT; 9174 end; 9175 PCURSORINFO = ^CURSORINFO; 9176 TCURSORINFO = CURSORINFO; 9177 9178const 9179 SECURITY_DESCRIPTOR_MIN_LENGTH = SIZEOF(SECURITY_DESCRIPTOR); 9180 9181 9182// #if(WINVER >= 0x0500) 9183type 9184 tagMENUGETOBJECTINFO = packed record 9185 dwFlags:DWORD; 9186 uPos:UINT; 9187 _hmenu:HMENU; 9188 riid:PVOID; 9189 pvObj:PVOID; 9190 end; 9191 MENUGETOBJECTINFO = tagMENUGETOBJECTINFO; 9192 PMENUGETOBJECTINFO = ^tagMENUGETOBJECTINFO; 9193 LPMENUGETOBJECTINFO = ^tagMENUGETOBJECTINFO; 9194//#endif /* WINVER >= 0x0500 */ 9195 9196 9197// Menubar information 9198type 9199 tagMENUBARINFO = record 9200 cbSize:DWORD; 9201 rcBar:Windows.RECT; // rect of bar, popup, item 9202 _hmenu:HMENU; // real menu handle of bar, popup 9203 hwndMenu:HWND; // hwnd of item submenu if one 9204// fBarFocused:1:BOOL; // bar, popup has the focus 9205// fFocused:1:BOOL; // item has the focus 9206 FocusedBits:DWORD; 9207 end; 9208 MENUBARINFO = tagMENUBARINFO; 9209 PMENUBARINFO = ^tagMENUBARINFO; 9210 LPMENUBARINFO = ^tagMENUBARINFO; 9211 9212 9213 // defined here because large_integer is defined in struct.inc 9214 LPPROGRESS_ROUTINE = function(TotalFileSize,TotalBytesTransferred,StreamSize,StreamBytesTransferred:LARGE_INTEGER;dwStreamNumber,dwCallbackReason:DWord;hSourceFile,hDestinationFile :THandle;lpdata:pointer):Dword; Stdcall; 9215 TPROGRESS_ROUTINE = LPPROGRESS_ROUTINE; 9216 9217// Raw Input Messages 9218//#if(_WIN32_WINNT >= 0x0501) 9219{$push}{$packrecords 4} 9220 tagRAWINPUTHEADER = record 9221 dwType: DWORD; 9222 dwSize: DWORD; 9223 hDevice: HANDLE; 9224 wParam: WPARAM; 9225 end; 9226 RAWINPUTHEADER = tagRAWINPUTHEADER; 9227 TRAWINPUTHEADER = tagRAWINPUTHEADER; 9228 PRAWINPUTHEADER = ^tagRAWINPUTHEADER; 9229 LPRAWINPUTHEADER = ^tagRAWINPUTHEADER; 9230 9231(* 9232 * Raw format of the mouse input 9233 *) 9234 tagRAWMOUSE = record 9235 (* 9236 * Indicator flags. 9237 *) 9238 usFlags: USHORT; 9239 9240 case longint of 9241 0: ( 9242 (* 9243 * The transition state of the mouse buttons. 9244 *) 9245 ulButtons: ULONG; 9246 9247 (* 9248 * The raw state of the mouse buttons. 9249 *) 9250 ulRawButtons: ULONG; 9251 9252 (* 9253 * The signed relative or absolute motion in the X direction. 9254 *) 9255 lLastX: LONG; 9256 9257 (* 9258 * The signed relative or absolute motion in the Y direction. 9259 *) 9260 lLastY: LONG; 9261 9262 (* 9263 * Device-specific additional information for the event. 9264 *) 9265 ulExtraInformation: ULONG 9266 ); 9267 1: ( 9268 (* 9269 * The transition state of the mouse buttons. 9270 *) 9271 usButtonFlags: USHORT; 9272 usButtonData: USHORT 9273 ); 9274 end; 9275 RAWMOUSE = tagRAWMOUSE; 9276 TRAWMOUSE = tagRAWMOUSE; 9277 PRAWMOUSE = ^tagRAWMOUSE; 9278 LPRAWMOUSE = ^tagRAWMOUSE; 9279 9280(* 9281 * Raw format of the keyboard input 9282 *) 9283 tagRAWKEYBOARD = record 9284 (* 9285 * The "make" scan code (key depression). 9286 *) 9287 MakeCode: USHORT; 9288 9289 (* 9290 * The flags field indicates a "break" (key release) and other 9291 * miscellaneous scan code information defined in ntddkbd.h. 9292 *) 9293 Flags: USHORT; 9294 9295 Reserved: USHORT; 9296 9297 (* 9298 * Windows message compatible information 9299 *) 9300 VKey: USHORT; 9301 Message: UINT; 9302 9303 (* 9304 * Device-specific additional information for the event. 9305 *) 9306 ExtraInformation: ULONG; 9307 end; 9308 RAWKEYBOARD = tagRAWKEYBOARD; 9309 TRAWKEYBOARD = tagRAWKEYBOARD; 9310 PRAWKEYBOARD = ^tagRAWKEYBOARD; 9311 LPRAWKEYBOARD = ^tagRAWKEYBOARD; 9312 9313 (* 9314 * Raw format of the input from Human Input Devices 9315 *) 9316 tagRAWHID = record 9317 dwSizeHid: DWORD; // byte size of each report 9318 dwCount: DWORD; // number of input packed 9319 bRawData: array [0..0] of BYTE; 9320 end; 9321 RAWHID = tagRAWHID; 9322 TRAWHID = tagRAWHID; 9323 PRAWHID = ^tagRAWHID; 9324 LPRAWHID = ^tagRAWHID; 9325 9326(* 9327 * RAWINPUT data structure. 9328 *) 9329 tagRAWINPUT = record 9330 header: RAWINPUTHEADER; 9331 data: record 9332 case longint of 9333 0: (mouse: RAWMOUSE); 9334 1: (keyboard: RAWKEYBOARD); 9335 2: (hid: RAWHID); 9336 end; 9337 end; 9338 RAWINPUT = tagRAWINPUT; 9339 TRAWINPUT = tagRAWINPUT; 9340 PRAWINPUT = ^tagRAWINPUT; 9341 LPRAWINPUT = ^tagRAWINPUT; 9342 PPRAWINPUT = ^PRAWINPUT; 9343 LPLPRAWINPUT = ^LPRAWINPUT; 9344 9345 tagRID_DEVICE_INFO_MOUSE = record 9346 dwId: DWORD; 9347 dwNumberOfButtons: DWORD; 9348 dwSampleRate: DWORD; 9349 fHasHorizontalWheel: BOOL; 9350 end; 9351 RID_DEVICE_INFO_MOUSE = tagRID_DEVICE_INFO_MOUSE; 9352 TRID_DEVICE_INFO_MOUSE = tagRID_DEVICE_INFO_MOUSE; 9353 PRID_DEVICE_INFO_MOUSE = ^tagRID_DEVICE_INFO_MOUSE; 9354 9355 tagRID_DEVICE_INFO_KEYBOARD = record 9356 dwType: DWORD; 9357 dwSubType: DWORD; 9358 dwKeyboardMode: DWORD; 9359 dwNumberOfFunctionKeys: DWORD; 9360 dwNumberOfIndicators: DWORD; 9361 dwNumberOfKeysTotal: DWORD; 9362 end; 9363 RID_DEVICE_INFO_KEYBOARD = tagRID_DEVICE_INFO_KEYBOARD; 9364 TRID_DEVICE_INFO_KEYBOARD = tagRID_DEVICE_INFO_KEYBOARD; 9365 PRID_DEVICE_INFO_KEYBOARD = ^tagRID_DEVICE_INFO_KEYBOARD; 9366 9367 tagRID_DEVICE_INFO_HID = record 9368 dwVendorId: DWORD; 9369 dwProductId: DWORD; 9370 dwVersionNumber: DWORD; 9371 9372 (* 9373 * Top level collection UsagePage and Usage 9374 *) 9375 usUsagePage: USHORT; 9376 usUsage: USHORT; 9377 end; 9378 RID_DEVICE_INFO_HID = tagRID_DEVICE_INFO_HID; 9379 TRID_DEVICE_INFO_HID = tagRID_DEVICE_INFO_HID; 9380 PRID_DEVICE_INFO_HID = ^tagRID_DEVICE_INFO_HID; 9381 9382 tagRID_DEVICE_INFO = record 9383 cbSize: DWORD; 9384 dwType: DWORD; 9385 case longint of 9386 0: (mouse: RID_DEVICE_INFO_MOUSE); 9387 1: (keyboard: RID_DEVICE_INFO_KEYBOARD); 9388 2: (hid: RID_DEVICE_INFO_HID); 9389 end; 9390 RID_DEVICE_INFO = tagRID_DEVICE_INFO; 9391 PRID_DEVICE_INFO = ^tagRID_DEVICE_INFO; 9392 LPRID_DEVICE_INFO = ^tagRID_DEVICE_INFO; 9393 9394(* 9395 * Raw Input request APIs 9396 *) 9397 tagRAWINPUTDEVICE = record 9398 usUsagePage: USHORT; // Toplevel collection UsagePage 9399 usUsage: USHORT; // Toplevel collection Usage 9400 dwFlags: DWORD; 9401 hwndTarget: HWND; // Target hwnd. NULL = follows keyboard focus 9402 end; 9403 RAWINPUTDEVICE = tagRAWINPUTDEVICE; 9404 TRAWINPUTDEVICE = tagRAWINPUTDEVICE; 9405 PRAWINPUTDEVICE = ^tagRAWINPUTDEVICE; 9406 LPRAWINPUTDEVICE = ^tagRAWINPUTDEVICE; 9407 PCRAWINPUTDEVICE = ^tagRAWINPUTDEVICE; 9408 9409{$packrecords C} 9410 tagRAWINPUTDEVICELIST = record 9411 hDevice: HANDLE; 9412 dwType: DWORD; 9413 end; 9414 RAWINPUTDEVICELIST = tagRAWINPUTDEVICELIST; 9415 PRAWINPUTDEVICELIST = ^tagRAWINPUTDEVICELIST; 9416//#endif /* _WIN32_WINNT >= 0x0501 */ 9417 9418// Wincon.h 9419 9420 _CONSOLE_SCREEN_BUFFER_INFOEX = record 9421 cbSize : ULONG; 9422 dwSize : COORD; 9423 dwCursorPosition : COORD; 9424 wAttributes : WORD; 9425 srWindow : SMALL_RECT; 9426 dwMaximumWindowSize : COORD; 9427 wPopupAttributes : WORD; 9428 bFullscreenSupported : BOOL; 9429 ColorTable : array[0..15] of COLORREF; 9430 end; 9431 CONSOLE_SCREEN_BUFFER_INFOEX = _CONSOLE_SCREEN_BUFFER_INFOEX; 9432 PCONSOLE_SCREEN_BUFFER_INFOEX = ^_CONSOLE_SCREEN_BUFFER_INFOEX; 9433 9434 9435 _CONSOLE_FONT_INFO = record 9436 nFont : DWORD; 9437 dwFontSize : COORD; 9438 end; 9439 CONSOLE_FONT_INFO = _CONSOLE_FONT_INFO; 9440 PCONSOLE_FONT_INFO = ^_CONSOLE_FONT_INFO; 9441 9442 _CONSOLE_FONT_INFOEX = record 9443 cbSize : ULONG; 9444 nFont : DWORD; 9445 dwFontSize : COORD; 9446 FontFamily : UINT; 9447 FontWeight : UINT; 9448 FaceName : array[0..(LF_FACESIZE)-1] of WCHAR; 9449 end; 9450 CONSOLE_FONT_INFOEX = _CONSOLE_FONT_INFOEX; 9451 PCONSOLE_FONT_INFOEX = ^_CONSOLE_FONT_INFOEX; 9452 9453 9454 9455 _CONSOLE_HISTORY_INFO = record 9456 cbSize : UINT; 9457 HistoryBufferSize : UINT; 9458 NumberOfHistoryBuffers : UINT; 9459 dwFlags : DWORD; 9460 end; 9461 CONSOLE_HISTORY_INFO = _CONSOLE_HISTORY_INFO; 9462 PCONSOLE_HISTORY_INFO = ^_CONSOLE_HISTORY_INFO; 9463 9464 _CONSOLE_SELECTION_INFO = record 9465 dwFlags : DWORD; 9466 dwSelectionAnchor : COORD; 9467 srSelection : SMALL_RECT; 9468 end; 9469 CONSOLE_SELECTION_INFO = _CONSOLE_SELECTION_INFO; 9470 PCONSOLE_SELECTION_INFO = ^_CONSOLE_SELECTION_INFO; 9471 9472 _CONSOLE_READCONSOLE_CONTROL = record 9473 nLength : ULONG; 9474 nInitialChars : ULONG; 9475 dwCtrlWakeupMask : ULONG; 9476 dwControlKeyState : ULONG; 9477 end; 9478 CONSOLE_READCONSOLE_CONTROL = _CONSOLE_READCONSOLE_CONTROL; 9479 PCONSOLE_READCONSOLE_CONTROL = ^_CONSOLE_READCONSOLE_CONTROL; 9480 9481 9482 COMPUTER_NAME_FORMAT = ( 9483 ComputerNameNetBIOS=0, 9484 ComputerNameDnsHostname, 9485 ComputerNameDnsDomain, 9486 ComputerNameDnsFullyQualified, 9487 ComputerNamePhysicalNetBIOS, 9488 ComputerNamePhysicalDnsHostname, 9489 ComputerNamePhysicalDnsDomain, 9490 ComputerNamePhysicalDnsFullyQualified, 9491 ComputerNameMax=31); 9492 TCOMPUTER_NAME_FORMAT = COMPUTER_NAME_FORMAT; 9493{$pop} 9494{$endif read_interface} 9495 9496 9497{$ifdef read_implementation} 9498 9499 function fBinary(var a : DCB) : DWORD; 9500 begin 9501 fBinary:=(a.flags and bm_DCB_fBinary) shr bp_DCB_fBinary; 9502 end; 9503 9504 procedure set_fBinary(var a : DCB; __fBinary : DWORD); 9505 begin 9506 a.flags:=a.flags or ((__fBinary shl bp_DCB_fBinary) and bm_DCB_fBinary); 9507 end; 9508 9509 function fParity(var a : DCB) : DWORD; 9510 begin 9511 fParity:=(a.flags and bm_DCB_fParity) shr bp_DCB_fParity; 9512 end; 9513 9514 procedure set_fParity(var a : DCB; __fParity : DWORD); 9515 begin 9516 a.flags:=a.flags or ((__fParity shl bp_DCB_fParity) and bm_DCB_fParity); 9517 end; 9518 9519 function fOutxCtsFlow(var a : DCB) : DWORD; 9520 begin 9521 fOutxCtsFlow:=(a.flags and bm_DCB_fOutxCtsFlow) shr bp_DCB_fOutxCtsFlow; 9522 end; 9523 9524 procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD); 9525 begin 9526 a.flags:=a.flags or ((__fOutxCtsFlow shl bp_DCB_fOutxCtsFlow) and bm_DCB_fOutxCtsFlow); 9527 end; 9528 9529 function fOutxDsrFlow(var a : DCB) : DWORD; 9530 begin 9531 fOutxDsrFlow:=(a.flags and bm_DCB_fOutxDsrFlow) shr bp_DCB_fOutxDsrFlow; 9532 end; 9533 9534 procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD); 9535 begin 9536 a.flags:=a.flags or ((__fOutxDsrFlow shl bp_DCB_fOutxDsrFlow) and bm_DCB_fOutxDsrFlow); 9537 end; 9538 9539 function fDtrControl(var a : DCB) : DWORD; 9540 begin 9541 fDtrControl:=(a.flags and bm_DCB_fDtrControl) shr bp_DCB_fDtrControl; 9542 end; 9543 9544 procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD); 9545 begin 9546 a.flags:=a.flags or ((__fDtrControl shl bp_DCB_fDtrControl) and bm_DCB_fDtrControl); 9547 end; 9548 9549 function fDsrSensitivity(var a : DCB) : DWORD; 9550 begin 9551 fDsrSensitivity:=(a.flags and bm_DCB_fDsrSensitivity) shr bp_DCB_fDsrSensitivity; 9552 end; 9553 9554 procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD); 9555 begin 9556 a.flags:=a.flags or ((__fDsrSensitivity shl bp_DCB_fDsrSensitivity) and bm_DCB_fDsrSensitivity); 9557 end; 9558 9559 function fTXContinueOnXoff(var a : DCB) : DWORD; 9560 begin 9561 fTXContinueOnXoff:=(a.flags and bm_DCB_fTXContinueOnXoff) shr bp_DCB_fTXContinueOnXoff; 9562 end; 9563 9564 procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD); 9565 begin 9566 a.flags:=a.flags or ((__fTXContinueOnXoff shl bp_DCB_fTXContinueOnXoff) and bm_DCB_fTXContinueOnXoff); 9567 end; 9568 9569 function fOutX(var a : DCB) : DWORD; 9570 begin 9571 fOutX:=(a.flags and bm_DCB_fOutX) shr bp_DCB_fOutX; 9572 end; 9573 9574 procedure set_fOutX(var a : DCB; __fOutX : DWORD); 9575 begin 9576 a.flags:=a.flags or ((__fOutX shl bp_DCB_fOutX) and bm_DCB_fOutX); 9577 end; 9578 9579 function fInX(var a : DCB) : DWORD; 9580 begin 9581 fInX:=(a.flags and bm_DCB_fInX) shr bp_DCB_fInX; 9582 end; 9583 9584 procedure set_fInX(var a : DCB; __fInX : DWORD); 9585 begin 9586 a.flags:=a.flags or ((__fInX shl bp_DCB_fInX) and bm_DCB_fInX); 9587 end; 9588 9589 function fErrorChar(var a : DCB) : DWORD; 9590 begin 9591 fErrorChar:=(a.flags and bm_DCB_fErrorChar) shr bp_DCB_fErrorChar; 9592 end; 9593 9594 procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD); 9595 begin 9596 a.flags:=a.flags or ((__fErrorChar shl bp_DCB_fErrorChar) and bm_DCB_fErrorChar); 9597 end; 9598 9599 function fNull(var a : DCB) : DWORD; 9600 begin 9601 fNull:=(a.flags and bm_DCB_fNull) shr bp_DCB_fNull; 9602 end; 9603 9604 procedure set_fNull(var a : DCB; __fNull : DWORD); 9605 begin 9606 a.flags:=a.flags or ((__fNull shl bp_DCB_fNull) and bm_DCB_fNull); 9607 end; 9608 9609 function fRtsControl(var a : DCB) : DWORD; 9610 begin 9611 fRtsControl:=(a.flags and bm_DCB_fRtsControl) shr bp_DCB_fRtsControl; 9612 end; 9613 9614 procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD); 9615 begin 9616 a.flags:=a.flags or ((__fRtsControl shl bp_DCB_fRtsControl) and bm_DCB_fRtsControl); 9617 end; 9618 9619 function fAbortOnError(var a : DCB) : DWORD; 9620 begin 9621 fAbortOnError:=(a.flags and bm_DCB_fAbortOnError) shr bp_DCB_fAbortOnError; 9622 end; 9623 9624 procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD); 9625 begin 9626 a.flags:=a.flags or ((__fAbortOnError shl bp_DCB_fAbortOnError) and bm_DCB_fAbortOnError); 9627 end; 9628 9629 function fDummy2(var a : DCB) : DWORD; 9630 begin 9631 fDummy2:=(a.flags and bm_DCB_fDummy2) shr bp_DCB_fDummy2; 9632 end; 9633 9634 procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD); 9635 begin 9636 a.flags:=a.flags or ((__fDummy2 shl bp_DCB_fDummy2) and bm_DCB_fDummy2); 9637 end; 9638 9639 function fCtsHold(var a : COMSTAT) : DWORD; 9640 begin 9641 fCtsHold:=(a.flag0 and bm_COMSTAT_fCtsHold) shr bp_COMSTAT_fCtsHold; 9642 end; 9643 9644 procedure set_fCtsHold(var a : COMSTAT; __fCtsHold : DWORD); 9645 begin 9646 a.flag0:=a.flag0 or ((__fCtsHold shl bp_COMSTAT_fCtsHold) and bm_COMSTAT_fCtsHold); 9647 end; 9648 9649 function fDsrHold(var a : COMSTAT) : DWORD; 9650 begin 9651 fDsrHold:=(a.flag0 and bm_COMSTAT_fDsrHold) shr bp_COMSTAT_fDsrHold; 9652 end; 9653 9654 procedure set_fDsrHold(var a : COMSTAT; __fDsrHold : DWORD); 9655 begin 9656 a.flag0:=a.flag0 or ((__fDsrHold shl bp_COMSTAT_fDsrHold) and bm_COMSTAT_fDsrHold); 9657 end; 9658 9659 function fRlsdHold(var a : COMSTAT) : DWORD; 9660 begin 9661 fRlsdHold:=(a.flag0 and bm_COMSTAT_fRlsdHold) shr bp_COMSTAT_fRlsdHold; 9662 end; 9663 9664 procedure set_fRlsdHold(var a : COMSTAT; __fRlsdHold : DWORD); 9665 begin 9666 a.flag0:=a.flag0 or ((__fRlsdHold shl bp_COMSTAT_fRlsdHold) and bm_COMSTAT_fRlsdHold); 9667 end; 9668 9669 function fXoffHold(var a : COMSTAT) : DWORD; 9670 begin 9671 fXoffHold:=(a.flag0 and bm_COMSTAT_fXoffHold) shr bp_COMSTAT_fXoffHold; 9672 end; 9673 9674 procedure set_fXoffHold(var a : COMSTAT; __fXoffHold : DWORD); 9675 begin 9676 a.flag0:=a.flag0 or ((__fXoffHold shl bp_COMSTAT_fXoffHold) and bm_COMSTAT_fXoffHold); 9677 end; 9678 9679 function fXoffSent(var a : COMSTAT) : DWORD; 9680 begin 9681 fXoffSent:=(a.flag0 and bm_COMSTAT_fXoffSent) shr bp_COMSTAT_fXoffSent; 9682 end; 9683 9684 procedure set_fXoffSent(var a : COMSTAT; __fXoffSent : DWORD); 9685 begin 9686 a.flag0:=a.flag0 or ((__fXoffSent shl bp_COMSTAT_fXoffSent) and bm_COMSTAT_fXoffSent); 9687 end; 9688 9689 function fEof(var a : COMSTAT) : DWORD; 9690 begin 9691 fEof:=(a.flag0 and bm_COMSTAT_fEof) shr bp_COMSTAT_fEof; 9692 end; 9693 9694 procedure set_fEof(var a : COMSTAT; __fEof : DWORD); 9695 begin 9696 a.flag0:=a.flag0 or ((__fEof shl bp_COMSTAT_fEof) and bm_COMSTAT_fEof); 9697 end; 9698 9699 function fTxim(var a : COMSTAT) : DWORD; 9700 begin 9701 fTxim:=(a.flag0 and bm_COMSTAT_fTxim) shr bp_COMSTAT_fTxim; 9702 end; 9703 9704 procedure set_fTxim(var a : COMSTAT; __fTxim : DWORD); 9705 begin 9706 a.flag0:=a.flag0 or ((__fTxim shl bp_COMSTAT_fTxim) and bm_COMSTAT_fTxim); 9707 end; 9708 9709 function fReserved(var a : COMSTAT) : DWORD; 9710 begin 9711 fReserved:=(a.flag0 and bm_COMSTAT_fReserved) shr bp_COMSTAT_fReserved; 9712 end; 9713 9714 procedure set_fReserved(var a : COMSTAT; __fReserved : DWORD); 9715 begin 9716 a.flag0:=a.flag0 or ((__fReserved shl bp_COMSTAT_fReserved) and bm_COMSTAT_fReserved); 9717 end; 9718 9719 function bAppReturnCode(var a : DDEACK) : word; 9720 begin 9721 bAppReturnCode:=(a.flag0 and bm_DDEACK_bAppReturnCode) shr bp_DDEACK_bAppReturnCode; 9722 end; 9723 9724 procedure set_bAppReturnCode(var a : DDEACK; __bAppReturnCode : word); 9725 begin 9726 a.flag0:=a.flag0 or ((__bAppReturnCode shl bp_DDEACK_bAppReturnCode) and bm_DDEACK_bAppReturnCode); 9727 end; 9728 9729 function reserved(var a : DDEACK) : word; 9730 begin 9731 reserved:=(a.flag0 and bm_DDEACK_reserved) shr bp_DDEACK_reserved; 9732 end; 9733 9734 procedure set_reserved(var a : DDEACK; __reserved : word); 9735 begin 9736 a.flag0:=a.flag0 or ((__reserved shl bp_DDEACK_reserved) and bm_DDEACK_reserved); 9737 end; 9738 9739 function fBusy(var a : DDEACK) : word; 9740 begin 9741 fBusy:=(a.flag0 and bm_DDEACK_fBusy) shr bp_DDEACK_fBusy; 9742 end; 9743 9744 procedure set_fBusy(var a : DDEACK; __fBusy : word); 9745 begin 9746 a.flag0:=a.flag0 or ((__fBusy shl bp_DDEACK_fBusy) and bm_DDEACK_fBusy); 9747 end; 9748 9749 function fAck(var a : DDEACK) : word; 9750 begin 9751 fAck:=(a.flag0 and bm_DDEACK_fAck) shr bp_DDEACK_fAck; 9752 end; 9753 9754 procedure set_fAck(var a : DDEACK; __fAck : word); 9755 begin 9756 a.flag0:=a.flag0 or ((__fAck shl bp_DDEACK_fAck) and bm_DDEACK_fAck); 9757 end; 9758 9759 function reserved(var a : DDEADVISE) : word; 9760 begin 9761 reserved:=(a.flag0 and bm_DDEADVISE_reserved) shr bp_DDEADVISE_reserved; 9762 end; 9763 9764 procedure set_reserved(var a : DDEADVISE; __reserved : word); 9765 begin 9766 a.flag0:=a.flag0 or ((__reserved shl bp_DDEADVISE_reserved) and bm_DDEADVISE_reserved); 9767 end; 9768 9769 function fDeferUpd(var a : DDEADVISE) : word; 9770 begin 9771 fDeferUpd:=(a.flag0 and bm_DDEADVISE_fDeferUpd) shr bp_DDEADVISE_fDeferUpd; 9772 end; 9773 9774 procedure set_fDeferUpd(var a : DDEADVISE; __fDeferUpd : word); 9775 begin 9776 a.flag0:=a.flag0 or ((__fDeferUpd shl bp_DDEADVISE_fDeferUpd) and bm_DDEADVISE_fDeferUpd); 9777 end; 9778 9779 function fAckReq(var a : DDEADVISE) : word; 9780 begin 9781 fAckReq:=(a.flag0 and bm_DDEADVISE_fAckReq) shr bp_DDEADVISE_fAckReq; 9782 end; 9783 9784 procedure set_fAckReq(var a : DDEADVISE; __fAckReq : word); 9785 begin 9786 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEADVISE_fAckReq) and bm_DDEADVISE_fAckReq); 9787 end; 9788 9789 function unused(var a : DDEDATA) : word; 9790 begin 9791 unused:=(a.flag0 and bm_DDEDATA_unused) shr bp_DDEDATA_unused; 9792 end; 9793 9794 procedure set_unused(var a : DDEDATA; __unused : word); 9795 begin 9796 a.flag0:=a.flag0 or ((__unused shl bp_DDEDATA_unused) and bm_DDEDATA_unused); 9797 end; 9798 9799 function fResponse(var a : DDEDATA) : word; 9800 begin 9801 fResponse:=(a.flag0 and bm_DDEDATA_fResponse) shr bp_DDEDATA_fResponse; 9802 end; 9803 9804 procedure set_fResponse(var a : DDEDATA; __fResponse : word); 9805 begin 9806 a.flag0:=a.flag0 or ((__fResponse shl bp_DDEDATA_fResponse) and bm_DDEDATA_fResponse); 9807 end; 9808 9809 function fRelease(var a : DDEDATA) : word; 9810 begin 9811 fRelease:=(a.flag0 and bm_DDEDATA_fRelease) shr bp_DDEDATA_fRelease; 9812 end; 9813 9814 procedure set_fRelease(var a : DDEDATA; __fRelease : word); 9815 begin 9816 a.flag0:=a.flag0 or ((__fRelease shl bp_DDEDATA_fRelease) and bm_DDEDATA_fRelease); 9817 end; 9818 9819 function reserved(var a : DDEDATA) : word; 9820 begin 9821 reserved:=(a.flag0 and bm_DDEDATA_reserved) shr bp_DDEDATA_reserved; 9822 end; 9823 9824 procedure set_reserved(var a : DDEDATA; __reserved : word); 9825 begin 9826 a.flag0:=a.flag0 or ((__reserved shl bp_DDEDATA_reserved) and bm_DDEDATA_reserved); 9827 end; 9828 9829 function fAckReq(var a : DDEDATA) : word; 9830 begin 9831 fAckReq:=(a.flag0 and bm_DDEDATA_fAckReq) shr bp_DDEDATA_fAckReq; 9832 end; 9833 9834 procedure set_fAckReq(var a : DDEDATA; __fAckReq : word); 9835 begin 9836 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEDATA_fAckReq) and bm_DDEDATA_fAckReq); 9837 end; 9838 9839 function unused(var a : DDELN) : word; 9840 begin 9841 unused:=(a.flag0 and bm_DDELN_unused) shr bp_DDELN_unused; 9842 end; 9843 9844 procedure set_unused(var a : DDELN; __unused : word); 9845 begin 9846 a.flag0:=a.flag0 or ((__unused shl bp_DDELN_unused) and bm_DDELN_unused); 9847 end; 9848 9849 function fRelease(var a : DDELN) : word; 9850 begin 9851 fRelease:=(a.flag0 and bm_DDELN_fRelease) shr bp_DDELN_fRelease; 9852 end; 9853 9854 procedure set_fRelease(var a : DDELN; __fRelease : word); 9855 begin 9856 a.flag0:=a.flag0 or ((__fRelease shl bp_DDELN_fRelease) and bm_DDELN_fRelease); 9857 end; 9858 9859 function fDeferUpd(var a : DDELN) : word; 9860 begin 9861 fDeferUpd:=(a.flag0 and bm_DDELN_fDeferUpd) shr bp_DDELN_fDeferUpd; 9862 end; 9863 9864 procedure set_fDeferUpd(var a : DDELN; __fDeferUpd : word); 9865 begin 9866 a.flag0:=a.flag0 or ((__fDeferUpd shl bp_DDELN_fDeferUpd) and bm_DDELN_fDeferUpd); 9867 end; 9868 9869 function fAckReq(var a : DDELN) : word; 9870 begin 9871 fAckReq:=(a.flag0 and bm_DDELN_fAckReq) shr bp_DDELN_fAckReq; 9872 end; 9873 9874 procedure set_fAckReq(var a : DDELN; __fAckReq : word); 9875 begin 9876 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDELN_fAckReq) and bm_DDELN_fAckReq); 9877 end; 9878 9879 function unused(var a : DDEPOKE) : word; 9880 begin 9881 unused:=(a.flag0 and bm_DDEPOKE_unused) shr bp_DDEPOKE_unused; 9882 end; 9883 9884 procedure set_unused(var a : DDEPOKE; __unused : word); 9885 begin 9886 a.flag0:=a.flag0 or ((__unused shl bp_DDEPOKE_unused) and bm_DDEPOKE_unused); 9887 end; 9888 9889 function fRelease(var a : DDEPOKE) : word; 9890 begin 9891 fRelease:=(a.flag0 and bm_DDEPOKE_fRelease) shr bp_DDEPOKE_fRelease; 9892 end; 9893 9894 procedure set_fRelease(var a : DDEPOKE; __fRelease : word); 9895 begin 9896 a.flag0:=a.flag0 or ((__fRelease shl bp_DDEPOKE_fRelease) and bm_DDEPOKE_fRelease); 9897 end; 9898 9899 function fReserved(var a : DDEPOKE) : word; 9900 begin 9901 fReserved:=(a.flag0 and bm_DDEPOKE_fReserved) shr bp_DDEPOKE_fReserved; 9902 end; 9903 9904 procedure set_fReserved(var a : DDEPOKE; __fReserved : word); 9905 begin 9906 a.flag0:=a.flag0 or ((__fReserved shl bp_DDEPOKE_fReserved) and bm_DDEPOKE_fReserved); 9907 end; 9908 9909 function unused(var a : DDEUP) : word; 9910 begin 9911 unused:=(a.flag0 and bm_DDEUP_unused) shr bp_DDEUP_unused; 9912 end; 9913 9914 procedure set_unused(var a : DDEUP; __unused : word); 9915 begin 9916 a.flag0:=a.flag0 or ((__unused shl bp_DDEUP_unused) and bm_DDEUP_unused); 9917 end; 9918 9919 function fAck(var a : DDEUP) : word; 9920 begin 9921 fAck:=(a.flag0 and bm_DDEUP_fAck) shr bp_DDEUP_fAck; 9922 end; 9923 9924 procedure set_fAck(var a : DDEUP; __fAck : word); 9925 begin 9926 a.flag0:=a.flag0 or ((__fAck shl bp_DDEUP_fAck) and bm_DDEUP_fAck); 9927 end; 9928 9929 function fRelease(var a : DDEUP) : word; 9930 begin 9931 fRelease:=(a.flag0 and bm_DDEUP_fRelease) shr bp_DDEUP_fRelease; 9932 end; 9933 9934 procedure set_fRelease(var a : DDEUP; __fRelease : word); 9935 begin 9936 a.flag0:=a.flag0 or ((__fRelease shl bp_DDEUP_fRelease) and bm_DDEUP_fRelease); 9937 end; 9938 9939 function fReserved(var a : DDEUP) : word; 9940 begin 9941 fReserved:=(a.flag0 and bm_DDEUP_fReserved) shr bp_DDEUP_fReserved; 9942 end; 9943 9944 procedure set_fReserved(var a : DDEUP; __fReserved : word); 9945 begin 9946 a.flag0:=a.flag0 or ((__fReserved shl bp_DDEUP_fReserved) and bm_DDEUP_fReserved); 9947 end; 9948 9949 function fAckReq(var a : DDEUP) : word; 9950 begin 9951 fAckReq:=(a.flag0 and bm_DDEUP_fAckReq) shr bp_DDEUP_fAckReq; 9952 end; 9953 9954 procedure set_fAckReq(var a : DDEUP; __fAckReq : word); 9955 begin 9956 a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEUP_fAckReq) and bm_DDEUP_fAckReq); 9957 end; 9958 9959 {$i typshrd.inc} 9960{$endif read_implementation} 9961 9962