home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 July & August / Pcwk78a98.iso / Micrsoft / VJ / VJ98 / WIZARDS / WIN32 / STRUCTS.JAV < prev    next >
Text File  |  1998-02-12  |  51KB  |  1,947 lines

  1. // Copyright (C) 1997 Microsoft Corporation  All Rights Reserved
  2.  
  3. // This software is a preview release of the Windows Api Access classes
  4. // for Java. These classes provide direct, low-overhead access to commonly used
  5. // Windows api. These classes use the new J/Direct feature and therefore
  6. // require either Internet Explorer 4.0 beta-2, or the Microsoft SDK for Java 2.0.
  7. //
  8. // WARNING: These classes are still in development and are incomplete.
  9. // This preview release is being provided as-is in order to solicit feedback
  10. // and to assist developers in the use of J/Direct by providing a library
  11. // of prewritten declarations for the most common Win32 api. As with all
  12. // prerelease software, it is subject to significant change without notice before
  13. // shipping.
  14. //
  15. // Information on how to use J/Direct to write your own declarations
  16. // can be found in the Microsoft SDK for Java 2.0.
  17.  
  18. package com.ms.win32;
  19.  
  20.  
  21. /** @dll.struct() */
  22. class ABC {
  23.         public int abcA;
  24.         public int abcB;
  25.         public int abcC;
  26. }
  27.  
  28. /** @dll.struct() */
  29. class ABCFLOAT {
  30.         public float abcfA;
  31.         public float abcfB;
  32.         public float abcfC;
  33. }
  34.  
  35. /** @dll.struct() */
  36. class ACCEL {
  37.         public byte fVirt;
  38.         public short key;
  39.         public short cmd;
  40. }
  41.  
  42. /** @dll.struct() */
  43. class ACCESSTIMEOUT {
  44.         public int cbSize;
  45.         public int dwFlags;
  46.         public int iTimeOutMSec;
  47. }
  48.  
  49. /** @dll.struct() */
  50. class ANIMATIONINFO {
  51.         public int cbSize;
  52.         public int iMinAnimate;
  53. }
  54.  
  55. /** @dll.struct(pack=1) */
  56. class APPBARDATA {
  57.         public int cbSize;
  58.         public int hWnd;
  59.         public int uCallbackMessage;
  60.         public int uEdge;
  61.         public RECT     rc;
  62.         public int lParam;
  63. }
  64.  
  65. /** @dll.struct(pack=1, auto) */
  66. class AUXCAPS {
  67.         public short wMid;
  68.         public short wPid;
  69.         public int vDriverVersion;
  70.         /** @dll.structmap([type=TCHAR[32]]) */
  71.         public String   szPname;
  72.         public short wTechnology;
  73.         public short wReserved1;
  74.         public int dwSupport;
  75. }
  76.  
  77. /** @dll.struct() */
  78. class BITMAP {
  79.         public int bmType;
  80.         public int bmWidth;
  81.         public int bmHeight;
  82.         public int bmWidthBytes;
  83.         public short bmPlanes;
  84.         public short bmBitsPixel;
  85.         public int bmBits;
  86. }
  87.  
  88. /** @dll.struct() */
  89. class BROADCASTSYSMSG {
  90.         public int uiMessage;
  91.         public int wParam;
  92.         public int lParam;
  93. }
  94.  
  95. /** @dll.struct() */
  96. class BY_HANDLE_FILE_INFORMATION {
  97.         public int dwFileAttributes;
  98.         public FILETIME ftCreationTime;
  99.         public FILETIME ftLastAccessTime;
  100.         public FILETIME ftLastWriteTime;
  101.         public int dwVolumeSerialNumber;
  102.         public int nFileSizeHigh;
  103.         public int nFileSizeLow;
  104.         public int nNumberOfLinks;
  105.         public int nFileIndexHigh;
  106.         public int nFileIndexLow;
  107. }
  108.  
  109. /** @dll.struct() */
  110. class CHARSETINFO {
  111.         public int ciCharset;
  112.         public int ciACP;
  113.         public FONTSIGNATURE    fs;
  114. }
  115.  
  116. /** @dll.struct() */
  117. class CIEXYZ {
  118.         public int ciexyzX;
  119.         public int ciexyzY;
  120.         public int ciexyzZ;
  121. }
  122.  
  123. /** @dll.struct() */
  124. class CIEXYZTRIPLE {
  125.         public CIEXYZ   ciexyzRed;
  126.         public CIEXYZ   ciexyzGreen;
  127.         public CIEXYZ   ciexyzBlue;
  128. }
  129.  
  130. /** @dll.struct() */
  131. class CLIENTCREATESTRUCT {
  132.         public int hWindowMenu;
  133.         public int idFirstChild;
  134. }
  135.  
  136. /** @dll.struct() */
  137. class COLORADJUSTMENT {
  138.         public short caSize;
  139.         public short caFlags;
  140.         public short caIlluminantIndex;
  141.         public short caRedGamma;
  142.         public short caGreenGamma;
  143.         public short caBlueGamma;
  144.         public short caReferenceBlack;
  145.         public short caReferenceWhite;
  146.         public short caContrast;
  147.         public short caBrightness;
  148.         public short caColorfulness;
  149.         public short caRedGreenTint;
  150. }
  151.  
  152. /** @dll.struct() */
  153. class COMMTIMEOUTS {
  154.         public int ReadIntervalTimeout;
  155.         public int ReadTotalTimeoutMultiplier;
  156.         public int ReadTotalTimeoutConstant;
  157.         public int WriteTotalTimeoutMultiplier;
  158.         public int WriteTotalTimeoutConstant;
  159. }
  160.  
  161. /** @dll.struct() */
  162. class COMPAREITEMSTRUCT {
  163.         public int CtlType;
  164.         public int CtlID;
  165.         public int hwndItem;
  166.         public int itemID1;
  167.         public int itemData1;
  168.         public int itemID2;
  169.         public int itemData2;
  170.         public int dwLocaleId;
  171. }
  172.  
  173. /** @dll.struct() */
  174. class COMSTAT {
  175.         public int fBitFields;       //see constants below
  176.         public int cbInQue;
  177.         public int cbOutQue;
  178.  
  179.  
  180.         public static final int fCtsHold  = 0x00000001;
  181.         public static final int fDsrHold  = 0x00000002;
  182.         public static final int fRlsdHold = 0x00000004;
  183.         public static final int fXoffHold = 0x00000008;
  184.         public static final int fXoffSent = 0x00000010;
  185.         public static final int fEof      = 0x00000020;
  186.         public static final int fTxim     = 0x00000040;
  187.  
  188.  
  189. }
  190.  
  191. /** @dll.struct() */
  192. class CONSOLE_CURSOR_INFO {
  193.         public int dwSize;
  194.         public boolean bVisible;
  195. }
  196.  
  197. /** @dll.struct() */
  198. class CONSOLE_SCREEN_BUFFER_INFO {
  199.         public COORD    dwSize;
  200.         public COORD    dwCursorPosition;
  201.         public short wAttributes;
  202.         public SMALL_RECT       srWindow;
  203.         public COORD    dwMaximumWindowSize;
  204. }
  205.  
  206. /** @dll.struct() */
  207. class COORD {
  208.         public short X;
  209.         public short Y;
  210. }
  211.  
  212. /** @dll.struct() */
  213. class COPYDATASTRUCT {
  214.         public int dwData;
  215.         public int cbData;
  216.         public int lpData;
  217. }
  218.  
  219. /** @dll.struct() */
  220. class CPINFO {
  221.         public int MaxCharSize;
  222.         /** @dll.structmap([type=FIXEDARRAY, size=2]) */
  223.         public byte     DefaultChar[];
  224.         /** @dll.structmap([type=FIXEDARRAY, size=12]) */
  225.         public byte     LeadByte[];
  226. }
  227.  
  228. /** @dll.struct(auto) */
  229. class CREATESTRUCT {
  230.         public int lpCreateParams;
  231.         public int hInstance;
  232.         public int hMenu;
  233.         public int hwndParent;
  234.         public int cy;
  235.         public int cx;
  236.         public int y;
  237.         public int x;
  238.         public int style;
  239.         public String lpszName;
  240.         public String lpszClass;
  241.         public int dwExStyle;
  242. }
  243.  
  244. /** @dll.struct() */
  245. class CRGB {
  246.         public byte bRed;
  247.         public byte bGreen;
  248.         public byte bBlue;
  249.         public byte bExtra;
  250. }
  251.  
  252. /** @dll.struct(auto) */
  253. class CURRENCYFMT {
  254.         public int NumDigits;
  255.         public int LeadingZero;
  256.         public int Grouping;
  257.         public String lpDecimalSep;
  258.         public String lpThousandSep;
  259.         public int NegativeOrder;
  260.         public int PositiveOrder;
  261.         public String lpCurrencySymbol;
  262. }
  263.  
  264. /** @dll.struct() */
  265. class CURSORSHAPE {
  266.         public int xHotSpot;
  267.         public int yHotSpot;
  268.         public int cx;
  269.         public int cy;
  270.         public int cbWidth;
  271.         public byte Planes;
  272.         public byte BitsPixel;
  273. }
  274.  
  275. /** @dll.struct() */
  276. class CWPRETSTRUCT {
  277.         public int lResult;
  278.         public int lParam;
  279.         public int wParam;
  280.         public int message;
  281.         public int hwnd;
  282. }
  283.  
  284. /** @dll.struct() */
  285. class CWPSTRUCT {
  286.         public int lParam;
  287.         public int wParam;
  288.         public int message;
  289.         public int hwnd;
  290. }
  291.  
  292. /** @dll.struct() */
  293. class DCB {
  294.         public int DCBlength;
  295.         public int BaudRate;
  296.         public int fBitFields;
  297.         public short wReserved;
  298.         public short XonLim;
  299.         public short XoffLim;
  300.         public byte ByteSize;
  301.         public byte Parity;
  302.         public byte StopBits;
  303.         public char XonChar;
  304.         public char XoffChar;
  305.         public char ErrorChar;
  306.         public char EofChar;
  307.         public char EvtChar;
  308.         public short wReserved1;
  309.  
  310.  
  311.  
  312.         public static final int fBinary           = 0x00000001;
  313.         public static final int fParity           = 0x00000002;
  314.         public static final int fOutxCtsFlow      = 0x00000004;
  315.         public static final int fOutxDsrFlow      = 0x00000008;
  316.         public static final int fDtrControl       = 0x00000030;
  317.         public static final int fDsrSensitivity   = 0x00000040;
  318.         public static final int fTXContinueOnXoff = 0x00000080;
  319.         public static final int fOutX             = 0x00000100;
  320.         public static final int fInX              = 0x00000200;
  321.         public static final int fErrorChar        = 0x00000400;
  322.         public static final int fNull             = 0x00000800;
  323.         public static final int fRtsControl       = 0x00003000;
  324.         public static final int fAbortOnError     = 0x00004000;
  325.  
  326.  
  327. }
  328.  
  329. /** @dll.struct() */
  330. class DELETEITEMSTRUCT {
  331.         public int CtlType;
  332.         public int CtlID;
  333.         public int itemID;
  334.         public int hwndItem;
  335.         public int itemData;
  336. }
  337.  
  338. /** @dll.struct(auto) */
  339. class DEVMODE {
  340.         /** @dll.structmap([type=TCHAR[32]]) */
  341.         public String   dmDeviceName;
  342.         public short dmSpecVersion;
  343.         public short dmDriverVersion;
  344.         public short dmSize;
  345.         public short dmDriverExtra;
  346.         public int dmFields;
  347.         public short dmOrientation;
  348.         public short dmPaperSize;
  349.         public short dmPaperLength;
  350.         public short dmPaperWidth;
  351.         public short dmScale;
  352.         public short dmCopies;
  353.         public short dmDefaultSource;
  354.         public short dmPrintQuality;
  355.         public short dmColor;
  356.         public short dmDuplex;
  357.         public short dmYResolution;
  358.         public short dmTTOption;
  359.         public short dmCollate;
  360.         /** @dll.structmap([type=TCHAR[32]]) */
  361.         public String   dmFormName;
  362.         public short dmLogPixels;
  363.         public int dmBitsPerPel;
  364.         public int dmPelsWidth;
  365.         public int dmPelsHeight;
  366.         public int dmDisplayFlags;
  367.         public int dmDisplayFrequency;
  368.         public int dmICMMethod;
  369.         public int dmICMIntent;
  370.         public int dmMediaType;
  371.         public int dmDitherType;
  372.         public int dmICCManufacturer;
  373.         public int dmICCModel;
  374.         public int dmPanningWidth;
  375.         public int dmPanningHeight;
  376. }
  377.  
  378. /** @dll.struct(pack=1) */
  379. class DEVNAMES {
  380.         public short wDriverOffset;
  381.         public short wDeviceOffset;
  382.         public short wOutputOffset;
  383.         public short wDefault;
  384. }
  385.  
  386. /** @dll.struct(pack=2) */
  387. class DLGTEMPLATE {
  388.         public int style;
  389.         public int dwExtendedStyle;
  390.         public short cdit;
  391.         public short x;
  392.         public short y;
  393.         public short cx;
  394.         public short cy;
  395. }
  396.  
  397. /** @dll.struct(auto) */
  398. class DOCINFO {
  399.         public int cbSize;
  400.         public String lpszDocName;
  401.         public String lpszOutput;
  402.         public String lpszDatatype;
  403.         public int fwType;
  404. }
  405.  
  406. /** @dll.struct() */
  407. class DRAWITEMSTRUCT {
  408.         public int CtlType;
  409.         public int CtlID;
  410.         public int itemID;
  411.         public int itemAction;
  412.         public int itemState;
  413.         public int hwndItem;
  414.         public int hDC;
  415.         public RECT     rcItem;
  416.         public int itemData;
  417. }
  418.  
  419. /** @dll.struct() */
  420. class DRAWTEXTPARAMS {
  421.         public int cbSize;
  422.         public int iTabLength;
  423.         public int iLeftMargin;
  424.         public int iRightMargin;
  425.         public int uiLengthDrawn;
  426. }
  427.  
  428. /** @dll.struct() */
  429. class DROPSTRUCT {
  430.         public int hwndSource;
  431.         public int hwndSink;
  432.         public int wFmt;
  433.         public int dwData;
  434.         public POINT    ptDrop;
  435.         public int dwControlData;
  436. }
  437.  
  438. /** @dll.struct() */
  439. class ENHMETAHEADER {
  440.         public int iType;
  441.         public int nSize;
  442.         public RECTL    rclBounds;
  443.         public RECTL    rclFrame;
  444.         public int dSignature;
  445.         public int nVersion;
  446.         public int nBytes;
  447.         public int nRecords;
  448.         public short nHandles;
  449.         public short sReserved;
  450.         public int nDescription;
  451.         public int offDescription;
  452.         public int nPalEntries;
  453.         public SIZE     szlDevice;
  454.         public SIZE     szlMillimeters;
  455.         public int cbPixelFormat;
  456.         public int offPixelFormat;
  457.         public int bOpenGL;
  458. }
  459.  
  460. /** @dll.struct(auto) */
  461. class ENUMLOGFONT {
  462.         public LOGFONT  elfLogFont;
  463.         /** @dll.structmap([type=TCHAR[64]]) */
  464.         public String  elfFullName;
  465.         /** @dll.structmap([type=TCHAR[32]]) */
  466.         public String  elfStyle;
  467. }
  468.  
  469. /** @dll.struct(auto) */
  470. class ENUMLOGFONTEX {
  471.         public LOGFONT  elfLogFont;
  472.         /** @dll.structmap([type=TCHAR[64]]) */
  473.         public String  elfFullName;
  474.         /** @dll.structmap([type=TCHAR[32]]) */
  475.         public String  elfStyle;
  476.         /** @dll.structmap([type=TCHAR[32]]) */
  477.         public String  elfScript;
  478. }
  479.  
  480. /** @dll.struct(auto) */
  481. class EXTLOGFONT {
  482.         public LOGFONT  elfLogFont;
  483.         /** @dll.structmap([type=TCHAR[64]]) */
  484.         public String  elfFullName;
  485.         /** @dll.structmap([type=TCHAR[32]]) */
  486.         public String  elfStyle;
  487.         public int elfVersion;
  488.         public int elfStyleSize;
  489.         public int elfMatch;
  490.         public int elfReserved;
  491.         /** @dll.structmap([type=FIXEDARRAY, size=4]) */
  492.         public byte     elfVendorId[];
  493.         public int elfCulture;
  494.         public PANOSE   elfPanose;
  495. }
  496.  
  497. /** @dll.struct() */
  498. class FILETIME {
  499.         public int dwLowDateTime;
  500.         public int dwHighDateTime;
  501. }
  502.  
  503. /** @dll.struct() */
  504. class FILTERKEYS {
  505.         public int cbSize;
  506.         public int dwFlags;
  507.         public int iWaitMSec;
  508.         public int iDelayMSec;
  509.         public int iRepeatMSec;
  510.         public int iBounceMSec;
  511. }
  512.  
  513. /** @dll.struct() */
  514. class FIXED {
  515.         public short fract;
  516.         public short value;
  517. }
  518.  
  519. /** @dll.struct() */
  520. class FONTSIGNATURE {
  521.         /** @dll.structmap([type=FIXEDARRAY, size=4]) */
  522.         public int      fsUsb[];
  523.         /** @dll.structmap([type=FIXEDARRAY, size=2]) */
  524.         public int      fsCsb[];
  525. }
  526.  
  527. /** @dll.struct(auto) */
  528. class GCP_RESULTS {
  529.         public int lStructSize;
  530.         public String lpOutString;
  531.         public int lpOrder;
  532.         public int lpDx;
  533.         public int lpCaretPos;
  534.         public int lpClass;
  535.         public int lpGlyphs;
  536.         public int nGlyphs;
  537.         public int nMaxFit;
  538. }
  539.  
  540. /** @dll.struct() */
  541. class GENERIC_MAPPING {
  542.         public int GenericRead;
  543.         public int GenericWrite;
  544.         public int GenericExecute;
  545.         public int GenericAll;
  546. }
  547.  
  548. /** @dll.struct() */
  549. class GLYPHMETRICS {
  550.         public int gmBlackBoxX;
  551.         public int gmBlackBoxY;
  552.         public POINT    gmptGlyphOrigin;
  553.         public short gmCellIncX;
  554.         public short gmCellIncY;
  555. }
  556.  
  557. /** @dll.struct() */
  558. class HELPINFO {
  559.         public int cbSize;
  560.         public int iContextType;
  561.         public int iCtrlId;
  562.         public int hItemHandle;
  563.         public int dwContextId;
  564.         public POINT    MousePos;
  565. }
  566.  
  567. /** @dll.struct(auto) */
  568. class HELPWININFO {
  569.         public int wStructSize;
  570.         public int x;
  571.         public int y;
  572.         public int dx;
  573.         public int dy;
  574.         public int wMax;
  575.         /** @dll.structmap([type=TCHAR[2]]) */
  576.         public String  rgchMember;
  577. }
  578.  
  579. /** @dll.struct(auto) */
  580. class HIGHCONTRAST {
  581.         public int cbSize;
  582.         public int dwFlags;
  583.         public String lpszDefaultScheme;
  584. }
  585.  
  586.  
  587. /** @dll.struct(auto) */
  588. class HIGHCONTRAST_I {
  589.         public int cbSize;
  590.         public int dwFlags;
  591.         public int lpszDefaultScheme;
  592. }
  593.  
  594. /** @dll.struct(auto) */
  595. class HW_PROFILE_INFO {
  596.         public int dwDockInfo;
  597.         /** @dll.structmap([type=TCHAR[39]]) */
  598.         public String   szHwProfileGuid;
  599.         /** @dll.structmap([type=TCHAR[80]]) */
  600.         public String   szHwProfileName;
  601. }
  602.  
  603. /** @dll.struct() */
  604. class ICONINFO {
  605.         public boolean fIcon;
  606.         public int xHotspot;
  607.         public int yHotspot;
  608.         public int hbmMask;
  609.         public int hbmColor;
  610. }
  611.  
  612. /** @dll.struct(auto) */
  613. class ICONMETRICS {
  614.         public int cbSize;
  615.         public int iHorzSpacing;
  616.         public int iVertSpacing;
  617.         public int iTitleWrap;
  618.         public LOGFONT  lfFont;
  619. }
  620.  
  621. /** @dll.struct(pack=1, auto) */
  622. class JOYCAPS {
  623.         public short wMid;
  624.         public short wPid;
  625.         /** @dll.structmap([type=TCHAR[32]]) */
  626.         public String   szPname;
  627.         public int wXmin;
  628.         public int wXmax;
  629.         public int wYmin;
  630.         public int wYmax;
  631.         public int wZmin;
  632.         public int wZmax;
  633.         public int wNumButtons;
  634.         public int wPeriodMin;
  635.         public int wPeriodMax;
  636.         public int wRmin;
  637.         public int wRmax;
  638.         public int wUmin;
  639.         public int wUmax;
  640.         public int wVmin;
  641.         public int wVmax;
  642.         public int wCaps;
  643.         public int wMaxAxes;
  644.         public int wNumAxes;
  645.         public int wMaxButtons;
  646.         /** @dll.structmap([type=TCHAR[32]]) */
  647.         public String   szRegKey;
  648.         /** @dll.structmap([type=TCHAR[260]]) */
  649.         public String   szOEMVxD;
  650. }
  651.  
  652. /** @dll.struct(pack=1) */
  653. class JOYINFO {
  654.         public int wXpos;
  655.         public int wYpos;
  656.         public int wZpos;
  657.         public int wButtons;
  658. }
  659.  
  660. /** @dll.struct(pack=1) */
  661. class JOYINFOEX {
  662.         public int dwSize;
  663.         public int dwFlags;
  664.         public int dwXpos;
  665.         public int dwYpos;
  666.         public int dwZpos;
  667.         public int dwRpos;
  668.         public int dwUpos;
  669.         public int dwVpos;
  670.         public int dwButtons;
  671.         public int dwButtonNumber;
  672.         public int dwPOV;
  673.         public int dwReserved1;
  674.         public int dwReserved2;
  675. }
  676.  
  677. /** @dll.struct() */
  678. class KERNINGPAIR {
  679.         public short wFirst;
  680.         public short wSecond;
  681.         public int iKernAmount;
  682. }
  683.  
  684. /** @dll.struct() */
  685. class LOGBRUSH {
  686.         public int lbStyle;
  687.         public int lbColor;
  688.         public int lbHatch;
  689. }
  690.  
  691. /** @dll.struct(auto) */
  692. class LOGCOLORSPACE {
  693.         public int lcsSignature;
  694.         public int lcsVersion;
  695.         public int lcsSize;
  696.         public int lcsCSType;
  697.         public int lcsIntent;
  698.         public CIEXYZTRIPLE     lcsEndpoints;
  699.         public int lcsGammaRed;
  700.         public int lcsGammaGreen;
  701.         public int lcsGammaBlue;
  702.         /** @dll.structmap([type=TCHAR[260]]) */
  703.         public String   lcsFilename;
  704. }
  705.  
  706. /** @dll.struct(auto) */
  707. class LOGFONT {
  708.         public int lfHeight;
  709.         public int lfWidth;
  710.         public int lfEscapement;
  711.         public int lfOrientation;
  712.         public int lfWeight;
  713.         public byte lfItalic;
  714.         public byte lfUnderline;
  715.         public byte lfStrikeOut;
  716.         public byte lfCharSet;
  717.         public byte lfOutPrecision;
  718.         public byte lfClipPrecision;
  719.         public byte lfQuality;
  720.         public byte lfPitchAndFamily;
  721.         /** @dll.structmap([type=TCHAR[32]]) */
  722.         public String   lfFaceName;
  723. }
  724.  
  725. /** @dll.struct() */
  726. class LOGPALETTE {
  727.         public short palVersion;
  728.         public short palNumEntries;
  729.         public PALETTEENTRY     palPalEntry;
  730. }
  731.  
  732. /** @dll.struct() */
  733. class LOGPEN {
  734.         public int lopnStyle;
  735.         public POINT    lopnWidth;
  736.         public int lopnColor;
  737. }
  738.  
  739. /** @dll.struct() */
  740. class LUID {
  741.         public int LowPart;
  742.         public int HighPart;
  743. }
  744.  
  745. /** @dll.struct(pack=4) */
  746. class LUID_AND_ATTRIBUTES {
  747.         public long Luid;
  748.         public int Attributes;
  749. }
  750.  
  751. /** @dll.struct() */
  752. class MAT2 {
  753.         public FIXED    eM11;
  754.         public FIXED    eM12;
  755.         public FIXED    eM21;
  756.         public FIXED    eM22;
  757. }
  758.  
  759. /** @dll.struct(pack=1, auto) */
  760. class MCI_ANIM_OPEN_PARMS {
  761.         public int dwCallback;
  762.         public int wDeviceID;
  763.         public String lpstrDeviceType;
  764.         public String lpstrElementName;
  765.         public String lpstrAlias;
  766.         public int dwStyle;
  767.         public int hWndParent;
  768. }
  769.  
  770. /** @dll.struct(pack=1) */
  771. class MCI_ANIM_PLAY_PARMS {
  772.         public int dwCallback;
  773.         public int dwFrom;
  774.         public int dwTo;
  775.         public int dwSpeed;
  776. }
  777.  
  778. /** @dll.struct(pack=1) */
  779. class MCI_ANIM_RECT_PARMS {
  780.         public int dwCallback;
  781.         public RECT     rc;
  782. }
  783.  
  784. /** @dll.struct(pack=1) */
  785. class MCI_ANIM_STEP_PARMS {
  786.         public int dwCallback;
  787.         public int dwFrames;
  788. }
  789.  
  790. /** @dll.struct(pack=1) */
  791. class MCI_ANIM_UPDATE_PARMS {
  792.         public int dwCallback;
  793.         public RECT     rc;
  794.         public int hDC;
  795. }
  796.  
  797. /** @dll.struct(pack=1, auto) */
  798. class MCI_ANIM_WINDOW_PARMS {
  799.         public int dwCallback;
  800.         public int hWnd;
  801.         public int nCmdShow;
  802.         public String lpstrText;
  803. }
  804.  
  805. /** @dll.struct(pack=1) */
  806. class MCI_BREAK_PARMS {
  807.         public int dwCallback;
  808.         public int nVirtKey;
  809.         public int hwndBreak;
  810. }
  811.  
  812. /** @dll.struct(pack=1) */
  813. class MCI_GENERIC_PARMS {
  814.         public int dwCallback;
  815. }
  816.  
  817. /** @dll.struct(pack=1) */
  818. class MCI_GETDEVCAPS_PARMS {
  819.         public int dwCallback;
  820.         public int dwReturn;
  821.         public int dwItem;
  822. }
  823.  
  824. /** @dll.struct(pack=1, auto) */
  825. class MCI_INFO_PARMS {
  826.         public int dwCallback;
  827.         public String lpstrReturn;
  828.         public int dwRetSize;
  829. }
  830.  
  831. /** @dll.struct(pack=1, auto) */
  832. class MCI_LOAD_PARMS {
  833.         public int dwCallback;
  834.         public String lpfilename;
  835. }
  836.  
  837. /** @dll.struct(pack=1, auto) */
  838. class MCI_OPEN_PARMS {
  839.         public int dwCallback;
  840.         public int wDeviceID;
  841.         public String lpstrDeviceType;
  842.         public String lpstrElementName;
  843.         public String lpstrAlias;
  844. }
  845.  
  846. /** @dll.struct(pack=1, auto) */
  847. class MCI_OVLY_LOAD_PARMS {
  848.         public int dwCallback;
  849.         public String lpfilename;
  850.         public RECT     rc;
  851. }
  852.  
  853. /** @dll.struct(pack=1, auto) */
  854. class MCI_OVLY_OPEN_PARMS {
  855.         public int dwCallback;
  856.         public int wDeviceID;
  857.         public String lpstrDeviceType;
  858.         public String lpstrElementName;
  859.         public String lpstrAlias;
  860.         public int dwStyle;
  861.         public int hWndParent;
  862. }
  863.  
  864. /** @dll.struct(pack=1) */
  865. class MCI_OVLY_RECT_PARMS {
  866.         public int dwCallback;
  867.         public RECT     rc;
  868. }
  869.  
  870. /** @dll.struct(pack=1, auto) */
  871. class MCI_OVLY_SAVE_PARMS {
  872.         public int dwCallback;
  873.         public String lpfilename;
  874.         public RECT     rc;
  875. }
  876.  
  877. /** @dll.struct(pack=1, auto) */
  878. class MCI_OVLY_WINDOW_PARMS {
  879.         public int dwCallback;
  880.         public int hWnd;
  881.         public int nCmdShow;
  882.         public String lpstrText;
  883. }
  884.  
  885. /** @dll.struct(pack=1) */
  886. class MCI_PLAY_PARMS {
  887.         public int dwCallback;
  888.         public int dwFrom;
  889.         public int dwTo;
  890. }
  891.  
  892. /** @dll.struct(pack=1) */
  893. class MCI_RECORD_PARMS {
  894.         public int dwCallback;
  895.         public int dwFrom;
  896.         public int dwTo;
  897. }
  898.  
  899. /** @dll.struct(pack=1, auto) */
  900. class MCI_SAVE_PARMS {
  901.         public int dwCallback;
  902.         public String lpfilename;
  903. }
  904.  
  905. /** @dll.struct(pack=1) */
  906. class MCI_SEEK_PARMS {
  907.         public int dwCallback;
  908.         public int dwTo;
  909. }
  910.  
  911. /** @dll.struct(pack=1) */
  912. class MCI_SEQ_SET_PARMS {
  913.         public int dwCallback;
  914.         public int dwTimeFormat;
  915.         public int dwAudio;
  916.         public int dwTempo;
  917.         public int dwPort;
  918.         public int dwSlave;
  919.         public int dwMaster;
  920.         public int dwOffset;
  921. }
  922.  
  923. /** @dll.struct(pack=1) */
  924. class MCI_SET_PARMS {
  925.         public int dwCallback;
  926.         public int dwTimeFormat;
  927.         public int dwAudio;
  928. }
  929.  
  930. /** @dll.struct(pack=1) */
  931. class MCI_STATUS_PARMS {
  932.         public int dwCallback;
  933.         public int dwReturn;
  934.         public int dwItem;
  935.         public int dwTrack;
  936. }
  937.  
  938. /** @dll.struct(pack=1, auto) */
  939. class MCI_SYSINFO_PARMS {
  940.         public int dwCallback;
  941.         public String lpstrReturn;
  942.         public int dwRetSize;
  943.         public int dwNumber;
  944.         public int wDeviceType;
  945. }
  946.  
  947. /** @dll.struct(pack=1, auto) */
  948. class MCI_VD_ESCAPE_PARMS {
  949.         public int dwCallback;
  950.         public String lpstrCommand;
  951. }
  952.  
  953. /** @dll.struct(pack=1) */
  954. class MCI_VD_PLAY_PARMS {
  955.         public int dwCallback;
  956.         public int dwFrom;
  957.         public int dwTo;
  958.         public int dwSpeed;
  959. }
  960.  
  961. /** @dll.struct(pack=1) */
  962. class MCI_VD_STEP_PARMS {
  963.         public int dwCallback;
  964.         public int dwFrames;
  965. }
  966.  
  967. /** @dll.struct(pack=1) */
  968. class MCI_WAVE_DELETE_PARMS {
  969.         public int dwCallback;
  970.         public int dwFrom;
  971.         public int dwTo;
  972. }
  973.  
  974. /** @dll.struct(pack=1, auto) */
  975. class MCI_WAVE_OPEN_PARMS {
  976.         public int dwCallback;
  977.         public int wDeviceID;
  978.         public String lpstrDeviceType;
  979.         public String lpstrElementName;
  980.         public String lpstrAlias;
  981.         public int dwBufferSeconds;
  982. }
  983.  
  984. /** @dll.struct(pack=1) */
  985. class MCI_WAVE_SET_PARMS {
  986.         public int dwCallback;
  987.         public int dwTimeFormat;
  988.         public int dwAudio;
  989.         public int wInput;
  990.         public int wOutput;
  991.         public short wFormatTag;
  992.         public short wReserved2;
  993.         public short nChannels;
  994.         public short wReserved3;
  995.         public int nSamplesPerSec;
  996.         public int nAvgBytesPerSec;
  997.         public short nBlockAlign;
  998.         public short wReserved4;
  999.         public short wBitsPerSample;
  1000.         public short wReserved5;
  1001. }
  1002.  
  1003. /** @dll.struct(auto) */
  1004. class MDICREATESTRUCT {
  1005.         public String szClass;
  1006.         public String szTitle;
  1007.         public int hOwner;
  1008.         public int x;
  1009.         public int y;
  1010.         public int cx;
  1011.         public int cy;
  1012.         public int style;
  1013.         public int lParam;
  1014. }
  1015.  
  1016. /** @dll.struct() */
  1017. class MDINEXTMENU {
  1018.         public int hmenuIn;
  1019.         public int hmenuNext;
  1020.         public int hwndNext;
  1021. }
  1022.  
  1023. /** @dll.struct() */
  1024. class MEASUREITEMSTRUCT {
  1025.         public int CtlType;
  1026.         public int CtlID;
  1027.         public int itemID;
  1028.         public int itemWidth;
  1029.         public int itemHeight;
  1030.         public int itemData;
  1031. }
  1032.  
  1033. /** @dll.struct() */
  1034. class MEMORY_BASIC_INFORMATION {
  1035.         public int BaseAddress;
  1036.         public int AllocationBase;
  1037.         public int AllocationProtect;
  1038.         public int RegionSize;
  1039.         public int State;
  1040.         public int Protect;
  1041.         public int Type;
  1042. }
  1043.  
  1044. /** @dll.struct() */
  1045. class MEMORYSTATUS {
  1046.         public int dwLength;
  1047.         public int dwMemoryLoad;
  1048.         public int dwTotalPhys;
  1049.         public int dwAvailPhys;
  1050.         public int dwTotalPageFile;
  1051.         public int dwAvailPageFile;
  1052.         public int dwTotalVirtual;
  1053.         public int dwAvailVirtual;
  1054. }
  1055.  
  1056. /** @dll.struct(auto) */
  1057. class MENUITEMINFO {
  1058.         public int cbSize;
  1059.         public int fMask;
  1060.         public int fType;
  1061.         public int fState;
  1062.         public int wID;
  1063.         public int hSubMenu;
  1064.         public int hbmpChecked;
  1065.         public int hbmpUnchecked;
  1066.         public int dwItemData;
  1067.         public int dwTypeData;
  1068.         public int cch;
  1069. }
  1070.  
  1071. /** @dll.struct() */
  1072. class METAFILEPICT {
  1073.         public int mm;
  1074.         public int xExt;
  1075.         public int yExt;
  1076.         public int hMF;
  1077. }
  1078.  
  1079. /** @dll.struct(pack=1) */
  1080. class MIDIHDR {
  1081.         public String lpData;
  1082.         public int dwBufferLength;
  1083.         public int dwBytesRecorded;
  1084.         public int dwUser;
  1085.         public int dwFlags;
  1086.         public int lpNext;
  1087.         public int reserved;
  1088.         public int dwOffset;
  1089.         /** @dll.structmap([type=FIXEDARRAY, size=8]) */
  1090.         public int      dwReserved[];
  1091. }
  1092.  
  1093. /** @dll.struct(pack=1, auto) */
  1094. class MIDIINCAPS {
  1095.         public short wMid;
  1096.         public short wPid;
  1097.         public int vDriverVersion;
  1098.         /** @dll.structmap([type=TCHAR[32]]) */
  1099.         public String   szPname;
  1100.         public int dwSupport;
  1101. }
  1102.  
  1103. /** @dll.struct(pack=1, auto) */
  1104. class MIDIOUTCAPS {
  1105.         public short wMid;
  1106.         public short wPid;
  1107.         public int vDriverVersion;
  1108.         /** @dll.structmap([type=TCHAR[32]]) */
  1109.         public String   szPname;
  1110.         public short wTechnology;
  1111.         public short wVoices;
  1112.         public short wNotes;
  1113.         public short wChannelMask;
  1114.         public int dwSupport;
  1115. }
  1116.  
  1117. /** @dll.struct(pack=1) */
  1118. class MIDIPROPTEMPO {
  1119.         public int cbStruct;
  1120.         public int dwTempo;
  1121. }
  1122.  
  1123. /** @dll.struct(pack=1) */
  1124. class MIDIPROPTIMEDIV {
  1125.         public int cbStruct;
  1126.         public int dwTimeDiv;
  1127. }
  1128.  
  1129. /** @dll.struct(pack=1) */
  1130. class MIDISTRMBUFFVER {
  1131.         public int dwVersion;
  1132.         public int dwMid;
  1133.         public int dwOEMVersion;
  1134. }
  1135.  
  1136. /** @dll.struct() */
  1137. class MINIMIZEDMETRICS {
  1138.         public int cbSize;
  1139.         public int iWidth;
  1140.         public int iHorzGap;
  1141.         public int iVertGap;
  1142.         public int iArrange;
  1143. }
  1144.  
  1145. /** @dll.struct() */
  1146. class MINMAXINFO {
  1147.         public POINT    ptReserved;
  1148.         public POINT    ptMaxSize;
  1149.         public POINT    ptMaxPosition;
  1150.         public POINT    ptMinTrackSize;
  1151.         public POINT    ptMaxTrackSize;
  1152. }
  1153.  
  1154. /** @dll.struct(pack=1, auto) */
  1155. class MIXERCAPS {
  1156.         public short wMid;
  1157.         public short wPid;
  1158.         public int vDriverVersion;
  1159.         /** @dll.structmap([type=TCHAR[32]]) */
  1160.         public String   szPname;
  1161.         public int fdwSupport;
  1162.         public int cDestinations;
  1163. }
  1164.  
  1165. /** @dll.struct(pack=1) */
  1166. class MIXERCONTROLDETAILS_BOOLEAN {
  1167.         public int fValue;
  1168. }
  1169.  
  1170. /** @dll.struct(pack=1, auto) */
  1171. class MIXERCONTROLDETAILS_LISTTEXT {
  1172.         public int dwParam1;
  1173.         public int dwParam2;
  1174.         /** @dll.structmap([type=TCHAR[64]]) */
  1175.         public String  szName;
  1176. }
  1177.  
  1178. /** @dll.struct(pack=1) */
  1179. class MIXERCONTROLDETAILS_SIGNED {
  1180.         public int lValue;
  1181. }
  1182.  
  1183. /** @dll.struct(pack=1) */
  1184. class MIXERCONTROLDETAILS_UNSIGNED {
  1185.         public int dwValue;
  1186. }
  1187.  
  1188. /** @dll.struct(pack=1, auto) */
  1189. class MIXERLINE {
  1190.         public int cbStruct;
  1191.         public int dwDestination;
  1192.         public int dwSource;
  1193.         public int dwLineID;
  1194.         public int fdwLine;
  1195.         public int dwUser;
  1196.         public int dwComponentType;
  1197.         public int cChannels;
  1198.         public int cConnections;
  1199.         public int cControls;
  1200.         /** @dll.structmap([type=TCHAR[16]]) */
  1201.         public String   szShortName;
  1202.         /** @dll.structmap([type=TCHAR[64]]) */
  1203.         public String   szName;
  1204.         public int dwType;
  1205.         public int dwDeviceID;
  1206.         public short wMid;
  1207.         public short wPid;
  1208.         public int vDriverVersion;
  1209.         /** @dll.structmap([type=TCHAR[32]]) */
  1210.         public String   szPname;
  1211. }
  1212.  
  1213. /** @dll.struct(pack=1) */
  1214. class MMCKINFO {
  1215.         public int ckid;
  1216.         public int cksize;
  1217.         public int fccType;
  1218.         public int dwDataOffset;
  1219.         public int dwFlags;
  1220. }
  1221.  
  1222. /** @dll.struct(pack=1) */
  1223. class MMIOINFO {
  1224.         public int dwFlags;
  1225.         public int fccIOProc;
  1226.         public int pIOProc;
  1227.         public int wErrorRet;
  1228.         public int htask;
  1229.         public int cchBuffer;
  1230.         public int pchBuffer;
  1231.         public int pchNext;
  1232.         public int pchEndRead;
  1233.         public int pchEndWrite;
  1234.         public int lBufOffset;
  1235.         public int lDiskOffset;
  1236.         /** @dll.structmap([type=FIXEDARRAY, size=3]) */
  1237.         public int      adwInfo[];
  1238.         public int dwReserved1;
  1239.         public int dwReserved2;
  1240.         public int hmmio;
  1241. }
  1242.  
  1243. /** @dll.struct() */
  1244. class MOUSEKEYS {
  1245.         public int cbSize;
  1246.         public int dwFlags;
  1247.         public int iMaxSpeed;
  1248.         public int iTimeToMaxSpeed;
  1249.         public int iCtrlSpeed;
  1250.         public int dwReserved1;
  1251.         public int dwReserved2;
  1252. }
  1253.  
  1254. /** @dll.struct() */
  1255. class MSG {
  1256.         public int hwnd;
  1257.         public int message;
  1258.         public int wParam;
  1259.         public int lParam;
  1260.         public int time;
  1261.         public POINT    pt;
  1262. }
  1263.  
  1264. /** @dll.struct(auto) */
  1265. class MSGBOXPARAMS {
  1266.         public int cbSize;
  1267.         public int hwndOwner;
  1268.         public int hInstance;
  1269.         public String lpszText;
  1270.         public String lpszCaption;
  1271.         public int dwStyle;
  1272.         public String lpszIcon;
  1273.         public int dwContextHelpId;
  1274.         public int lpfnMsgBoxCallback;
  1275.         public int dwLanguageId;
  1276. }
  1277.  
  1278. /** @dll.struct() */
  1279. class NCCALCSIZE_PARAMS {
  1280.         public RECT     rgrc0;
  1281.         public RECT     rgrc1;
  1282.         public RECT     rgrc2;
  1283.         public int        lppos;
  1284. }
  1285.  
  1286. /** @dll.struct(pack=4, auto) */
  1287. class NEWTEXTMETRIC {
  1288.         public int tmHeight;
  1289.         public int tmAscent;
  1290.         public int tmDescent;
  1291.         public int tmInternalLeading;
  1292.         public int tmExternalLeading;
  1293.         public int tmAveCharWidth;
  1294.         public int tmMaxCharWidth;
  1295.         public int tmWeight;
  1296.         public int tmOverhang;
  1297.         public int tmDigitizedAspectX;
  1298.         public int tmDigitizedAspectY;
  1299.         public char tmFirstChar;
  1300.         public char tmLastChar;
  1301.         public char tmDefaultChar;
  1302.         public char tmBreakChar;
  1303.         public byte tmItalic;
  1304.         public byte tmUnderlined;
  1305.         public byte tmStruckOut;
  1306.         public byte tmPitchAndFamily;
  1307.         public byte tmCharSet;
  1308.         public int ntmFlags;
  1309.         public int ntmSizeEM;
  1310.         public int ntmCellHeight;
  1311.         public int ntmAvgWidth;
  1312. }
  1313.  
  1314. /** @dll.struct(auto) */
  1315. class NEWTEXTMETRICEX {
  1316.         public NEWTEXTMETRIC    ntmTm;
  1317.         public FONTSIGNATURE    ntmFontSig;
  1318. }
  1319.  
  1320. /** @dll.struct(auto) */
  1321. class NONCLIENTMETRICS {
  1322.         public int cbSize;
  1323.         public int iBorderWidth;
  1324.         public int iScrollWidth;
  1325.         public int iScrollHeight;
  1326.         public int iCaptionWidth;
  1327.         public int iCaptionHeight;
  1328.         public LOGFONT  lfCaptionFont;
  1329.         public int iSmCaptionWidth;
  1330.         public int iSmCaptionHeight;
  1331.         public LOGFONT  lfSmCaptionFont;
  1332.         public int iMenuWidth;
  1333.         public int iMenuHeight;
  1334.         public LOGFONT  lfMenuFont;
  1335.         public LOGFONT  lfStatusFont;
  1336.         public LOGFONT  lfMessageFont;
  1337. }
  1338.  
  1339. /** @dll.struct(pack=1, auto) */
  1340. class NOTIFYICONDATA {
  1341.         public int cbSize;
  1342.         public int hWnd;
  1343.         public int uID;
  1344.         public int uFlags;
  1345.         public int uCallbackMessage;
  1346.         public int hIcon;
  1347.         /** @dll.structmap([type=TCHAR[64]]) */
  1348.         public String   szTip;
  1349. }
  1350.  
  1351. /** @dll.struct(auto) */
  1352. class NUMBERFMT {
  1353.         public int NumDigits;
  1354.         public int LeadingZero;
  1355.         public int Grouping;
  1356.         public String lpDecimalSep;
  1357.         public String lpThousandSep;
  1358.         public int NegativeOrder;
  1359. }
  1360.  
  1361. /** @dll.struct() */
  1362. class OFSTRUCT {
  1363.         public byte cBytes;
  1364.         public byte fFixedDisk;
  1365.         public short nErrCode;
  1366.         public short Reserved1;
  1367.         public short Reserved2;
  1368.         /** @dll.structmap([type=TCHAR[128]]) */
  1369.         public String   szPathName;
  1370. }
  1371.  
  1372. /** @dll.struct(auto) */
  1373. class OSVERSIONINFO {
  1374.         public int dwOSVersionInfoSize;
  1375.         public int dwMajorVersion;
  1376.         public int dwMinorVersion;
  1377.         public int dwBuildNumber;
  1378.         public int dwPlatformId;
  1379.         /** @dll.structmap([type=TCHAR[128]]) */
  1380.         public String   szCSDVersion;
  1381. }
  1382.  
  1383. /** @dll.struct(auto) */
  1384. class OUTLINETEXTMETRIC {
  1385.         public int otmSize;
  1386.         public TEXTMETRIC       otmTextMetrics;
  1387.         public byte otmFiller;
  1388.         public PANOSE   otmPanoseNumber;
  1389.         public int otmfsSelection;
  1390.         public int otmfsType;
  1391.         public int otmsCharSlopeRise;
  1392.         public int otmsCharSlopeRun;
  1393.         public int otmItalicAngle;
  1394.         public int otmEMSquare;
  1395.         public int otmAscent;
  1396.         public int otmDescent;
  1397.         public int otmLineGap;
  1398.         public int otmsCapEmHeight;
  1399.         public int otmsXHeight;
  1400.         public RECT     otmrcFontBox;
  1401.         public int otmMacAscent;
  1402.         public int otmMacDescent;
  1403.         public int otmMacLineGap;
  1404.         public int otmusMinimumPPEM;
  1405.         public POINT    otmptSubscriptSize;
  1406.         public POINT    otmptSubscriptOffset;
  1407.         public POINT    otmptSuperscriptSize;
  1408.         public POINT    otmptSuperscriptOffset;
  1409.         public int otmsStrikeoutSize;
  1410.         public int otmsStrikeoutPosition;
  1411.         public int otmsUnderscoreSize;
  1412.         public int otmsUnderscorePosition;
  1413.         public int otmpFamilyName;
  1414.         public int otmpFaceName;
  1415.         public int otmpStyleName;
  1416.         public int otmpFullName;
  1417. }
  1418.  
  1419. /** @dll.struct() */
  1420. class OVERLAPPED {
  1421.         public int Internal;
  1422.         public int InternalHigh;
  1423.         public int Offset;
  1424.         public int OffsetHigh;
  1425.         public int hEvent;
  1426. }
  1427.  
  1428. /** @dll.struct() */
  1429. class PAINTSTRUCT {
  1430.         public int hdc;
  1431.         public boolean fErase;
  1432.         public RECT     rcPaint;
  1433.         public boolean fRestore;
  1434.         public boolean fIncUpdate;
  1435.         /** @dll.structmap([type=FIXEDARRAY, size=32]) */
  1436.         public byte     rgbReserved[];
  1437. }
  1438.  
  1439. /** @dll.struct() */
  1440. class PALETTEENTRY {
  1441.         public byte peRed;
  1442.         public byte peGreen;
  1443.         public byte peBlue;
  1444.         public byte peFlags;
  1445. }
  1446.  
  1447. /** @dll.struct() */
  1448. class PANOSE {
  1449.         public byte bFamilyType;
  1450.         public byte bSerifStyle;
  1451.         public byte bWeight;
  1452.         public byte bProportion;
  1453.         public byte bContrast;
  1454.         public byte bStrokeVariation;
  1455.         public byte bArmStyle;
  1456.         public byte bLetterform;
  1457.         public byte bMidline;
  1458.         public byte bXHeight;
  1459. }
  1460.  
  1461. /** @dll.struct() */
  1462. class PIXELFORMATDESCRIPTOR {
  1463.         public short nSize;
  1464.         public short nVersion;
  1465.         public int dwFlags;
  1466.         public byte iPixelType;
  1467.         public byte cColorBits;
  1468.         public byte cRedBits;
  1469.         public byte cRedShift;
  1470.         public byte cGreenBits;
  1471.         public byte cGreenShift;
  1472.         public byte cBlueBits;
  1473.         public byte cBlueShift;
  1474.         public byte cAlphaBits;
  1475.         public byte cAlphaShift;
  1476.         public byte cAccumBits;
  1477.         public byte cAccumRedBits;
  1478.         public byte cAccumGreenBits;
  1479.         public byte cAccumBlueBits;
  1480.         public byte cAccumAlphaBits;
  1481.         public byte cDepthBits;
  1482.         public byte cStencilBits;
  1483.         public byte cAuxBuffers;
  1484.         public byte iLayerType;
  1485.         public byte bReserved;
  1486.         public int dwLayerMask;
  1487.         public int dwVisibleMask;
  1488.         public int dwDamageMask;
  1489. }
  1490.  
  1491. /** @dll.struct() */
  1492. class POINT {
  1493.         public int x;
  1494.         public int y;
  1495. }
  1496.  
  1497. /** @dll.struct(auto) */
  1498. class PRINTER_DEFAULTS {
  1499.         public String pDatatype;
  1500.         public int  pDevMode;
  1501.         public int DesiredAccess;
  1502. }
  1503.  
  1504. /** @dll.struct() */
  1505. class PRIVILEGE_SET {
  1506.         public int PrivilegeCount;
  1507.         public int Control;
  1508.         public LUID_AND_ATTRIBUTES      Privilege;
  1509. }
  1510.  
  1511. /** @dll.struct() */
  1512. class PROCESS_INFORMATION {
  1513.         public int hProcess;
  1514.         public int hThread;
  1515.         public int dwProcessId;
  1516.         public int dwThreadId;
  1517. }
  1518.  
  1519. /** @dll.struct() */
  1520. class RASTERIZER_STATUS {
  1521.         public short nSize;
  1522.         public short wFlags;
  1523.         public short nLanguageID;
  1524. }
  1525.  
  1526. /** @dll.struct() */
  1527. class RECT {
  1528.         public int left;
  1529.         public int top;
  1530.         public int right;
  1531.         public int bottom;
  1532. }
  1533.  
  1534. /** @dll.struct() */
  1535. class RECTL {
  1536.         public int left;
  1537.         public int top;
  1538.         public int right;
  1539.         public int bottom;
  1540. }
  1541.  
  1542. /** @dll.struct() */
  1543. class RGBQUAD {
  1544.         public byte rgbBlue;
  1545.         public byte rgbGreen;
  1546.         public byte rgbRed;
  1547.         public byte rgbReserved;
  1548. }
  1549.  
  1550. /** @dll.struct() */
  1551. class SCROLLINFO {
  1552.         public int cbSize;
  1553.         public int fMask;
  1554.         public int nMin;
  1555.         public int nMax;
  1556.         public int nPage;
  1557.         public int nPos;
  1558.         public int nTrackPos;
  1559. }
  1560.  
  1561. /** @dll.struct() */
  1562. class SECURITY_ATTRIBUTES {
  1563.         public int nLength;
  1564.         public int lpSecurityDescriptor;
  1565.         public boolean bInheritHandle;
  1566. }
  1567.  
  1568. /** @dll.struct(auto) */
  1569. class SERIALKEYS {
  1570.         public int cbSize;
  1571.         public int dwFlags;
  1572.         public String lpszActivePort;
  1573.         public String lpszPort;
  1574.         public int iBaudRate;
  1575.         public int iPortState;
  1576.         public int iActive;
  1577. }
  1578.  
  1579. /** @dll.struct(pack=1, auto) */
  1580. class SHELLEXECUTEINFO {
  1581.         public int cbSize;
  1582.         public int fMask;
  1583.         public int hwnd;
  1584.         public String lpVerb;
  1585.         public String lpFile;
  1586.         public String lpParameters;
  1587.         public String lpDirectory;
  1588.         public int nShow;
  1589.         public int hInstApp;
  1590.         public int lpIDList;
  1591.         public String lpClass;
  1592.         public int hkeyClass;
  1593.         public int dwHotKey;
  1594.         public int hIcon;
  1595.         public int hProcess;
  1596. }
  1597.  
  1598. /** @dll.struct(pack=1, auto) */
  1599. class SHFILEINFO {
  1600.         public int hIcon;
  1601.         public int iIcon;
  1602.         public int dwAttributes;
  1603.         /** @dll.structmap([type=TCHAR[260]]) */
  1604.         public String   szDisplayName;
  1605.         /** @dll.structmap([type=TCHAR[80]]) */
  1606.         public String   szTypeName;
  1607. }
  1608.  
  1609. /** @dll.struct(pack=1, auto) */
  1610. class SHFILEOPSTRUCT {
  1611.         public int hwnd;
  1612.         public int wFunc;
  1613.         public int pFrom;
  1614.         public int pTo;
  1615.         public short fFlags;
  1616.         public boolean fAnyOperationsAborted;
  1617.         public int hNameMappings;
  1618.         public String lpszProgressTitle;
  1619. }
  1620.  
  1621. /** @dll.struct() */
  1622. class SIZE {
  1623.         public int cx;
  1624.         public int cy;
  1625. }
  1626.  
  1627. /** @dll.struct() */
  1628. class SMALL_RECT {
  1629.         public short Left;
  1630.         public short Top;
  1631.         public short Right;
  1632.         public short Bottom;
  1633. }
  1634.  
  1635. /** @dll.struct(auto) */
  1636. class SOUNDSENTRY {
  1637.         public int cbSize;
  1638.         public int dwFlags;
  1639.         public int iFSTextEffect;
  1640.         public int iFSTextEffectMSec;
  1641.         public int iFSTextEffectColorBits;
  1642.         public int iFSGrafEffect;
  1643.         public int iFSGrafEffectMSec;
  1644.         public int iFSGrafEffectColor;
  1645.         public int iWindowsEffect;
  1646.         public int iWindowsEffectMSec;
  1647.         // When calling to retrieve SOUNDSENTRY information,
  1648.         // set this field to a string of size 260 before
  1649.         // passing to SystemParametersInfo.
  1650.         public String lpszWindowsEffectDLL;
  1651.         public int iWindowsEffectOrdinal;
  1652. }
  1653.  
  1654. /** @dll.struct(auto) */
  1655. class STARTUPINFO {
  1656.         public int cb;
  1657.         public String lpReserved;
  1658.         public String lpDesktop;
  1659.         public String lpTitle;
  1660.         public int dwX;
  1661.         public int dwY;
  1662.         public int dwXSize;
  1663.         public int dwYSize;
  1664.         public int dwXCountChars;
  1665.         public int dwYCountChars;
  1666.         public int dwFillAttribute;
  1667.         public int dwFlags;
  1668.         public short wShowWindow;
  1669.         public short cbReserved2;
  1670.         public int lpReserved2;
  1671.         public int hStdInput;
  1672.         public int hStdOutput;
  1673.         public int hStdError;
  1674. }
  1675.  
  1676.  
  1677. /** @dll.struct(auto) */
  1678. /*private*/ class STARTUPINFO_I {
  1679.         public int cb;
  1680.         public int lpReserved;
  1681.         public int lpDesktop;
  1682.         public int lpTitle;
  1683.         public int dwX;
  1684.         public int dwY;
  1685.         public int dwXSize;
  1686.         public int dwYSize;
  1687.         public int dwXCountChars;
  1688.         public int dwYCountChars;
  1689.         public int dwFillAttribute;
  1690.         public int dwFlags;
  1691.         public short wShowWindow;
  1692.         public short cbReserved2;
  1693.         public int lpReserved2;
  1694.         public int hStdInput;
  1695.         public int hStdOutput;
  1696.         public int hStdError;
  1697. }
  1698.  
  1699. /** @dll.struct() */
  1700. class STICKYKEYS {
  1701.         public int cbSize;
  1702.         public int dwFlags;
  1703. }
  1704.  
  1705. /** @dll.struct() */
  1706. class SYSTEM_INFO {
  1707.     public short wProcessorArchitecture;
  1708.     public short wReserved;
  1709.     public int   dwPageSize;
  1710.     public int   lpMinimumApplicationAddress;
  1711.     public int   lpMaximumApplicationAddress;
  1712.     public int   dwActiveProcessorMask;
  1713.     public int   dwNumberOfProcessors;
  1714.     public int   dwProcessorType;
  1715.     public int   dwAllocationGranularity;
  1716.     public short wProcessorLevel;
  1717.     public short wProcessorRevision;
  1718. }
  1719.  
  1720. /** @dll.struct() */
  1721. class SYSTEM_POWER_STATUS {
  1722.         public byte ACLineStatus;
  1723.         public byte BatteryFlag;
  1724.         public byte BatteryLifePercent;
  1725.         public byte Reserved1;
  1726.         public int BatteryLifeTime;
  1727.         public int BatteryFullLifeTime;
  1728. }
  1729.  
  1730. /** @dll.struct() */
  1731. class SYSTEMTIME {
  1732.         public short wYear;
  1733.         public short wMonth;
  1734.         public short wDayOfWeek;
  1735.         public short wDay;
  1736.         public short wHour;
  1737.         public short wMinute;
  1738.         public short wSecond;
  1739.         public short wMilliseconds;
  1740. }
  1741.  
  1742. /** @dll.struct(auto) */
  1743. class TEXTMETRIC {
  1744.         public int tmHeight;
  1745.         public int tmAscent;
  1746.         public int tmDescent;
  1747.         public int tmInternalLeading;
  1748.         public int tmExternalLeading;
  1749.         public int tmAveCharWidth;
  1750.         public int tmMaxCharWidth;
  1751.         public int tmWeight;
  1752.         public int tmOverhang;
  1753.         public int tmDigitizedAspectX;
  1754.         public int tmDigitizedAspectY;
  1755.         public char tmFirstChar;
  1756.         public char tmLastChar;
  1757.         public char tmDefaultChar;
  1758.         public char tmBreakChar;
  1759.         public byte tmItalic;
  1760.         public byte tmUnderlined;
  1761.         public byte tmStruckOut;
  1762.         public byte tmPitchAndFamily;
  1763.         public byte tmCharSet;
  1764. }
  1765.  
  1766. /** @dll.struct(unicode) */
  1767. class TIME_ZONE_INFORMATION {
  1768.         public int Bias;
  1769.         /** @dll.structmap([type=TCHAR[32]]) */
  1770.         public String   StandardName;
  1771.         public SYSTEMTIME       StandardDate;
  1772.         public int StandardBias;
  1773.         /** @dll.structmap([type=TCHAR[32]]) */
  1774.         public String   DaylightName;
  1775.         public SYSTEMTIME       DaylightDate;
  1776.         public int DaylightBias;
  1777. }
  1778.  
  1779. /** @dll.struct(pack=1) */
  1780. class TIMECAPS {
  1781.         public int wPeriodMin;
  1782.         public int wPeriodMax;
  1783. }
  1784.  
  1785. /** @dll.struct() */
  1786. class TOGGLEKEYS {
  1787.         public int cbSize;
  1788.         public int dwFlags;
  1789. }
  1790.  
  1791. /** @dll.struct() */
  1792. class TPMPARAMS {
  1793.         public int cbSize;
  1794.         public RECT     rcExclude;
  1795. }
  1796.  
  1797. /** @dll.struct() */
  1798. class TRACKMOUSEEVENT {
  1799.         public int cbSize;
  1800.         public int dwFlags;
  1801.         public int hwndTrack;
  1802.         public int dwHoverTime;
  1803. }
  1804.  
  1805. /** @dll.struct(pack=1) */
  1806. class WAVEFORMAT {
  1807.         public short wFormatTag;
  1808.         public short nChannels;
  1809.         public int nSamplesPerSec;
  1810.         public int nAvgBytesPerSec;
  1811.         public short nBlockAlign;
  1812. }
  1813.  
  1814. /** @dll.struct(pack=1) */
  1815. class WAVEFORMATEX {
  1816.         public short wFormatTag;
  1817.         public short nChannels;
  1818.         public int nSamplesPerSec;
  1819.         public int nAvgBytesPerSec;
  1820.         public short nBlockAlign;
  1821.         public short wBitsPerSample;
  1822.         public short cbSize;
  1823. }
  1824.  
  1825. /** @dll.struct(pack=1) */
  1826. class WAVEHDR {
  1827.         public int lpData;
  1828.         public int dwBufferLength;
  1829.         public int dwBytesRecorded;
  1830.         public int dwUser;
  1831.         public int dwFlags;
  1832.         public int dwLoops;
  1833.         public int lpNext;
  1834.         public int reserved;
  1835. }
  1836.  
  1837. /** @dll.struct(pack=1, auto) */
  1838. class WAVEINCAPS {
  1839.         public short wMid;
  1840.         public short wPid;
  1841.         public int vDriverVersion;
  1842.         /** @dll.structmap([type=TCHAR[32]]) */
  1843.         public String   szPname;
  1844.         public int dwFormats;
  1845.         public short wChannels;
  1846.         public short wReserved1;
  1847. }
  1848.  
  1849. /** @dll.struct(pack=1, auto) */
  1850. class WAVEOUTCAPS {
  1851.         public short wMid;
  1852.         public short wPid;
  1853.         public int vDriverVersion;
  1854.         /** @dll.structmap([type=TCHAR[32]]) */
  1855.         public String   szPname;
  1856.         public int dwFormats;
  1857.         public short wChannels;
  1858.         public short wReserved1;
  1859.         public int dwSupport;
  1860. }
  1861.  
  1862. /** @dll.struct() */
  1863. class WIN32_FILE_ATTRIBUTE_DATA {
  1864.         public int dwFileAttributes;
  1865.         public FILETIME ftCreationTime;
  1866.         public FILETIME ftLastAccessTime;
  1867.         public FILETIME ftLastWriteTime;
  1868.         public int nFileSizeHigh;
  1869.         public int nFileSizeLow;
  1870. }
  1871.  
  1872. /** @dll.struct(auto) */
  1873. class WIN32_FIND_DATA {
  1874.         public int dwFileAttributes;
  1875.         public FILETIME ftCreationTime;
  1876.         public FILETIME ftLastAccessTime;
  1877.         public FILETIME ftLastWriteTime;
  1878.         public int nFileSizeHigh;
  1879.         public int nFileSizeLow;
  1880.         public int dwReserved0;
  1881.         public int dwReserved1;
  1882.         /** @dll.structmap([type=TCHAR[260]]) */
  1883.         public String   cFileName;
  1884.         /** @dll.structmap([type=TCHAR[14]]) */
  1885.         public String   cAlternateFileName;
  1886. }
  1887.  
  1888. /** @dll.struct() */
  1889. class WINDOWPLACEMENT {
  1890.         public int length;
  1891.         public int flags;
  1892.         public int showCmd;
  1893.         public POINT    ptMinPosition;
  1894.         public POINT    ptMaxPosition;
  1895.         public RECT     rcNormalPosition;
  1896. }
  1897.  
  1898. /** @dll.struct() */
  1899. class WINDOWPOS {
  1900.         public int hwnd;
  1901.         public int hwndInsertAfter;
  1902.         public int x;
  1903.         public int y;
  1904.         public int cx;
  1905.         public int cy;
  1906.         public int flags;
  1907. }
  1908.  
  1909. /** @dll.struct(auto) */
  1910. class WNDCLASS {
  1911.         public int style;
  1912.         public int lpfnWndProc;
  1913.         public int cbClsExtra;
  1914.         public int cbWndExtra;
  1915.         public int hInstance;
  1916.         public int hIcon;
  1917.         public int hCursor;
  1918.         public int hbrBackground;
  1919.         public String lpszMenuName;
  1920.         public String lpszClassName;
  1921. }
  1922.  
  1923. /** @dll.struct(auto) */
  1924. class WNDCLASSEX {
  1925.         public int cbSize;
  1926.         public int style;
  1927.         public int lpfnWndProc;
  1928.         public int cbClsExtra;
  1929.         public int cbWndExtra;
  1930.         public int hInstance;
  1931.         public int hIcon;
  1932.         public int hCursor;
  1933.         public int hbrBackground;
  1934.         public String lpszMenuName;
  1935.         public String lpszClassName;
  1936.         public int hIconSm;
  1937. }
  1938.  
  1939. /** @dll.struct() */
  1940. class XFORM {
  1941.         public float eM11;
  1942.         public float eM12;
  1943.         public float eM21;
  1944.         public float eM22;
  1945.         public float eDx;
  1946.         public float eDy;
  1947. }