FileDocCategorySizeDatePackage
Structs.javaAPI DocExample50823Fri Apr 24 01:00:00 BST 1998com.ms.win32

Structs.java

// Copyright (C) 1997 Microsoft Corporation  All Rights Reserved

// This software is a preview release of the Windows Api Access classes
// for Java. These classes provide direct, low-overhead access to commonly used
// Windows api. These classes use the new J/Direct feature and therefore
// require either Internet Explorer 4.0 beta-2, or the Microsoft SDK for Java 2.0.
//
// WARNING: These classes are still in development and are incomplete.
// This preview release is being provided as-is in order to solicit feedback
// and to assist developers in the use of J/Direct by providing a library
// of prewritten declarations for the most common Win32 api. As with all
// prerelease software, it is subject to significant change without notice before
// shipping.
//
// Information on how to use J/Direct to write your own declarations
// can be found in the Microsoft SDK for Java 2.0.

package com.ms.win32;


/** @dll.struct() */
class ABC {
        public int abcA;
        public int abcB;
        public int abcC;
}

/** @dll.struct() */
class ABCFLOAT {
        public float abcfA;
        public float abcfB;
        public float abcfC;
}

/** @dll.struct() */
class ACCEL {
        public byte fVirt;
        public short key;
        public short cmd;
}

/** @dll.struct() */
class ACCESSTIMEOUT {
        public int cbSize;
        public int dwFlags;
        public int iTimeOutMSec;
}

/** @dll.struct() */
class ANIMATIONINFO {
        public int cbSize;
        public int iMinAnimate;
}

/** @dll.struct(pack=1) */
class APPBARDATA {
        public int cbSize;
        public int hWnd;
        public int uCallbackMessage;
        public int uEdge;
        public RECT     rc;
        public int lParam;
}

/** @dll.struct(pack=1, auto) */
class AUXCAPS {
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public short wTechnology;
        public short wReserved1;
        public int dwSupport;
}

/** @dll.struct() */
class BITMAP {
        public int bmType;
        public int bmWidth;
        public int bmHeight;
        public int bmWidthBytes;
        public short bmPlanes;
        public short bmBitsPixel;
        public int bmBits;
}

/** @dll.struct() */
class BROADCASTSYSMSG {
        public int uiMessage;
        public int wParam;
        public int lParam;
}

/** @dll.struct() */
class BY_HANDLE_FILE_INFORMATION {
        public int dwFileAttributes;
        public FILETIME ftCreationTime;
        public FILETIME ftLastAccessTime;
        public FILETIME ftLastWriteTime;
        public int dwVolumeSerialNumber;
        public int nFileSizeHigh;
        public int nFileSizeLow;
        public int nNumberOfLinks;
        public int nFileIndexHigh;
        public int nFileIndexLow;
}

/** @dll.struct() */
class CHARSETINFO {
        public int ciCharset;
        public int ciACP;
        public FONTSIGNATURE    fs;
}

/** @dll.struct() */
class CIEXYZ {
        public int ciexyzX;
        public int ciexyzY;
        public int ciexyzZ;
}

/** @dll.struct() */
class CIEXYZTRIPLE {
        public CIEXYZ   ciexyzRed;
        public CIEXYZ   ciexyzGreen;
        public CIEXYZ   ciexyzBlue;
}

/** @dll.struct() */
class CLIENTCREATESTRUCT {
        public int hWindowMenu;
        public int idFirstChild;
}

/** @dll.struct() */
class COLORADJUSTMENT {
        public short caSize;
        public short caFlags;
        public short caIlluminantIndex;
        public short caRedGamma;
        public short caGreenGamma;
        public short caBlueGamma;
        public short caReferenceBlack;
        public short caReferenceWhite;
        public short caContrast;
        public short caBrightness;
        public short caColorfulness;
        public short caRedGreenTint;
}

/** @dll.struct() */
class COMMTIMEOUTS {
        public int ReadIntervalTimeout;
        public int ReadTotalTimeoutMultiplier;
        public int ReadTotalTimeoutConstant;
        public int WriteTotalTimeoutMultiplier;
        public int WriteTotalTimeoutConstant;
}

/** @dll.struct() */
class COMPAREITEMSTRUCT {
        public int CtlType;
        public int CtlID;
        public int hwndItem;
        public int itemID1;
        public int itemData1;
        public int itemID2;
        public int itemData2;
        public int dwLocaleId;
}

/** @dll.struct() */
class COMSTAT {
        public int fBitFields;       //see constants below
        public int cbInQue;
        public int cbOutQue;


        public static final int fCtsHold  = 0x00000001;
        public static final int fDsrHold  = 0x00000002;
        public static final int fRlsdHold = 0x00000004;
        public static final int fXoffHold = 0x00000008;
        public static final int fXoffSent = 0x00000010;
        public static final int fEof      = 0x00000020;
        public static final int fTxim     = 0x00000040;


}

/** @dll.struct() */
class CONSOLE_CURSOR_INFO {
        public int dwSize;
        public boolean bVisible;
}

/** @dll.struct() */
class CONSOLE_SCREEN_BUFFER_INFO {
        public COORD    dwSize;
        public COORD    dwCursorPosition;
        public short wAttributes;
        public SMALL_RECT       srWindow;
        public COORD    dwMaximumWindowSize;
}

/** @dll.struct() */
class COORD {
        public short X;
        public short Y;
}

/** @dll.struct() */
class COPYDATASTRUCT {
        public int dwData;
        public int cbData;
        public int lpData;
}

/** @dll.struct() */
class CPINFO {
        public int MaxCharSize;
        /** @dll.structmap([type=FIXEDARRAY, size=2]) */
        public byte     DefaultChar[];
        /** @dll.structmap([type=FIXEDARRAY, size=12]) */
        public byte     LeadByte[];
}

/** @dll.struct(auto) */
class CREATESTRUCT {
        public int lpCreateParams;
        public int hInstance;
        public int hMenu;
        public int hwndParent;
        public int cy;
        public int cx;
        public int y;
        public int x;
        public int style;
        public String lpszName;
        public String lpszClass;
        public int dwExStyle;
}

/** @dll.struct() */
class CRGB {
        public byte bRed;
        public byte bGreen;
        public byte bBlue;
        public byte bExtra;
}

/** @dll.struct(auto) */
class CURRENCYFMT {
        public int NumDigits;
        public int LeadingZero;
        public int Grouping;
        public String lpDecimalSep;
        public String lpThousandSep;
        public int NegativeOrder;
        public int PositiveOrder;
        public String lpCurrencySymbol;
}

/** @dll.struct() */
class CURSORSHAPE {
        public int xHotSpot;
        public int yHotSpot;
        public int cx;
        public int cy;
        public int cbWidth;
        public byte Planes;
        public byte BitsPixel;
}

/** @dll.struct() */
class CWPRETSTRUCT {
        public int lResult;
        public int lParam;
        public int wParam;
        public int message;
        public int hwnd;
}

/** @dll.struct() */
class CWPSTRUCT {
        public int lParam;
        public int wParam;
        public int message;
        public int hwnd;
}

/** @dll.struct() */
class DCB {
        public int DCBlength;
        public int BaudRate;
        public int fBitFields;
        public short wReserved;
        public short XonLim;
        public short XoffLim;
        public byte ByteSize;
        public byte Parity;
        public byte StopBits;
        public char XonChar;
        public char XoffChar;
        public char ErrorChar;
        public char EofChar;
        public char EvtChar;
        public short wReserved1;



        public static final int fBinary           = 0x00000001;
        public static final int fParity           = 0x00000002;
        public static final int fOutxCtsFlow      = 0x00000004;
        public static final int fOutxDsrFlow      = 0x00000008;
        public static final int fDtrControl       = 0x00000030;
        public static final int fDsrSensitivity   = 0x00000040;
        public static final int fTXContinueOnXoff = 0x00000080;
        public static final int fOutX             = 0x00000100;
        public static final int fInX              = 0x00000200;
        public static final int fErrorChar        = 0x00000400;
        public static final int fNull             = 0x00000800;
        public static final int fRtsControl       = 0x00003000;
        public static final int fAbortOnError     = 0x00004000;


}

/** @dll.struct() */
class DELETEITEMSTRUCT {
        public int CtlType;
        public int CtlID;
        public int itemID;
        public int hwndItem;
        public int itemData;
}

/** @dll.struct(auto) */
class DEVMODE {
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   dmDeviceName;
        public short dmSpecVersion;
        public short dmDriverVersion;
        public short dmSize;
        public short dmDriverExtra;
        public int dmFields;
        public short dmOrientation;
        public short dmPaperSize;
        public short dmPaperLength;
        public short dmPaperWidth;
        public short dmScale;
        public short dmCopies;
        public short dmDefaultSource;
        public short dmPrintQuality;
        public short dmColor;
        public short dmDuplex;
        public short dmYResolution;
        public short dmTTOption;
        public short dmCollate;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   dmFormName;
        public short dmLogPixels;
        public int dmBitsPerPel;
        public int dmPelsWidth;
        public int dmPelsHeight;
        public int dmDisplayFlags;
        public int dmDisplayFrequency;
        public int dmICMMethod;
        public int dmICMIntent;
        public int dmMediaType;
        public int dmDitherType;
        public int dmICCManufacturer;
        public int dmICCModel;
        public int dmPanningWidth;
        public int dmPanningHeight;
}

/** @dll.struct(pack=1) */
class DEVNAMES {
        public short wDriverOffset;
        public short wDeviceOffset;
        public short wOutputOffset;
        public short wDefault;
}

/** @dll.struct(pack=2) */
class DLGTEMPLATE {
        public int style;
        public int dwExtendedStyle;
        public short cdit;
        public short x;
        public short y;
        public short cx;
        public short cy;
}

/** @dll.struct(auto) */
class DOCINFO {
        public int cbSize;
        public String lpszDocName;
        public String lpszOutput;
        public String lpszDatatype;
        public int fwType;
}

/** @dll.struct() */
class DRAWITEMSTRUCT {
        public int CtlType;
        public int CtlID;
        public int itemID;
        public int itemAction;
        public int itemState;
        public int hwndItem;
        public int hDC;
        public RECT     rcItem;
        public int itemData;
}

/** @dll.struct() */
class DRAWTEXTPARAMS {
        public int cbSize;
        public int iTabLength;
        public int iLeftMargin;
        public int iRightMargin;
        public int uiLengthDrawn;
}

/** @dll.struct() */
class DROPSTRUCT {
        public int hwndSource;
        public int hwndSink;
        public int wFmt;
        public int dwData;
        public POINT    ptDrop;
        public int dwControlData;
}

/** @dll.struct() */
class ENHMETAHEADER {
        public int iType;
        public int nSize;
        public RECTL    rclBounds;
        public RECTL    rclFrame;
        public int dSignature;
        public int nVersion;
        public int nBytes;
        public int nRecords;
        public short nHandles;
        public short sReserved;
        public int nDescription;
        public int offDescription;
        public int nPalEntries;
        public SIZE     szlDevice;
        public SIZE     szlMillimeters;
        public int cbPixelFormat;
        public int offPixelFormat;
        public int bOpenGL;
}

/** @dll.struct(auto) */
class ENUMLOGFONT {
        public LOGFONT  elfLogFont;
        /** @dll.structmap([type=TCHAR[64]]) */
        public String  elfFullName;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String  elfStyle;
}

/** @dll.struct(auto) */
class ENUMLOGFONTEX {
        public LOGFONT  elfLogFont;
        /** @dll.structmap([type=TCHAR[64]]) */
        public String  elfFullName;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String  elfStyle;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String  elfScript;
}

/** @dll.struct(auto) */
class EXTLOGFONT {
        public LOGFONT  elfLogFont;
        /** @dll.structmap([type=TCHAR[64]]) */
        public String  elfFullName;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String  elfStyle;
        public int elfVersion;
        public int elfStyleSize;
        public int elfMatch;
        public int elfReserved;
        /** @dll.structmap([type=FIXEDARRAY, size=4]) */
        public byte     elfVendorId[];
        public int elfCulture;
        public PANOSE   elfPanose;
}

/** @dll.struct() */
class FILETIME {
        public int dwLowDateTime;
        public int dwHighDateTime;
}

/** @dll.struct() */
class FILTERKEYS {
        public int cbSize;
        public int dwFlags;
        public int iWaitMSec;
        public int iDelayMSec;
        public int iRepeatMSec;
        public int iBounceMSec;
}

/** @dll.struct() */
class FIXED {
        public short fract;
        public short value;
}

/** @dll.struct() */
class FONTSIGNATURE {
        /** @dll.structmap([type=FIXEDARRAY, size=4]) */
        public int      fsUsb[];
        /** @dll.structmap([type=FIXEDARRAY, size=2]) */
        public int      fsCsb[];
}

/** @dll.struct(auto) */
class GCP_RESULTS {
        public int lStructSize;
        public String lpOutString;
        public int lpOrder;
        public int lpDx;
        public int lpCaretPos;
        public int lpClass;
        public int lpGlyphs;
        public int nGlyphs;
        public int nMaxFit;
}

/** @dll.struct() */
class GENERIC_MAPPING {
        public int GenericRead;
        public int GenericWrite;
        public int GenericExecute;
        public int GenericAll;
}

/** @dll.struct() */
class GLYPHMETRICS {
        public int gmBlackBoxX;
        public int gmBlackBoxY;
        public POINT    gmptGlyphOrigin;
        public short gmCellIncX;
        public short gmCellIncY;
}

/** @dll.struct() */
class HELPINFO {
        public int cbSize;
        public int iContextType;
        public int iCtrlId;
        public int hItemHandle;
        public int dwContextId;
        public POINT    MousePos;
}

/** @dll.struct(auto) */
class HELPWININFO {
        public int wStructSize;
        public int x;
        public int y;
        public int dx;
        public int dy;
        public int wMax;
        /** @dll.structmap([type=TCHAR[2]]) */
        public String  rgchMember;
}

/** @dll.struct(auto) */
class HIGHCONTRAST {
        public int cbSize;
        public int dwFlags;
        public String lpszDefaultScheme;
}


/** @dll.struct(auto) */
class HIGHCONTRAST_I {
        public int cbSize;
        public int dwFlags;
        public int lpszDefaultScheme;
}

/** @dll.struct(auto) */
class HW_PROFILE_INFO {
        public int dwDockInfo;
        /** @dll.structmap([type=TCHAR[39]]) */
        public String   szHwProfileGuid;
        /** @dll.structmap([type=TCHAR[80]]) */
        public String   szHwProfileName;
}

/** @dll.struct() */
class ICONINFO {
        public boolean fIcon;
        public int xHotspot;
        public int yHotspot;
        public int hbmMask;
        public int hbmColor;
}

/** @dll.struct(auto) */
class ICONMETRICS {
        public int cbSize;
        public int iHorzSpacing;
        public int iVertSpacing;
        public int iTitleWrap;
        public LOGFONT  lfFont;
}

/** @dll.struct(pack=1, auto) */
class JOYCAPS {
        public short wMid;
        public short wPid;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public int wXmin;
        public int wXmax;
        public int wYmin;
        public int wYmax;
        public int wZmin;
        public int wZmax;
        public int wNumButtons;
        public int wPeriodMin;
        public int wPeriodMax;
        public int wRmin;
        public int wRmax;
        public int wUmin;
        public int wUmax;
        public int wVmin;
        public int wVmax;
        public int wCaps;
        public int wMaxAxes;
        public int wNumAxes;
        public int wMaxButtons;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szRegKey;
        /** @dll.structmap([type=TCHAR[260]]) */
        public String   szOEMVxD;
}

/** @dll.struct(pack=1) */
class JOYINFO {
        public int wXpos;
        public int wYpos;
        public int wZpos;
        public int wButtons;
}

/** @dll.struct(pack=1) */
class JOYINFOEX {
        public int dwSize;
        public int dwFlags;
        public int dwXpos;
        public int dwYpos;
        public int dwZpos;
        public int dwRpos;
        public int dwUpos;
        public int dwVpos;
        public int dwButtons;
        public int dwButtonNumber;
        public int dwPOV;
        public int dwReserved1;
        public int dwReserved2;
}

/** @dll.struct() */
class KERNINGPAIR {
        public short wFirst;
        public short wSecond;
        public int iKernAmount;
}

/** @dll.struct() */
class LOGBRUSH {
        public int lbStyle;
        public int lbColor;
        public int lbHatch;
}

/** @dll.struct(auto) */
class LOGCOLORSPACE {
        public int lcsSignature;
        public int lcsVersion;
        public int lcsSize;
        public int lcsCSType;
        public int lcsIntent;
        public CIEXYZTRIPLE     lcsEndpoints;
        public int lcsGammaRed;
        public int lcsGammaGreen;
        public int lcsGammaBlue;
        /** @dll.structmap([type=TCHAR[260]]) */
        public String   lcsFilename;
}

/** @dll.struct(auto) */
class LOGFONT {
        public int lfHeight;
        public int lfWidth;
        public int lfEscapement;
        public int lfOrientation;
        public int lfWeight;
        public byte lfItalic;
        public byte lfUnderline;
        public byte lfStrikeOut;
        public byte lfCharSet;
        public byte lfOutPrecision;
        public byte lfClipPrecision;
        public byte lfQuality;
        public byte lfPitchAndFamily;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   lfFaceName;
}

/** @dll.struct() */
class LOGPALETTE {
        public short palVersion;
        public short palNumEntries;
        public PALETTEENTRY     palPalEntry;
}

/** @dll.struct() */
class LOGPEN {
        public int lopnStyle;
        public POINT    lopnWidth;
        public int lopnColor;
}

/** @dll.struct() */
class LUID {
        public int LowPart;
        public int HighPart;
}

/** @dll.struct(pack=4) */
class LUID_AND_ATTRIBUTES {
        public long Luid;
        public int Attributes;
}

/** @dll.struct() */
class MAT2 {
        public FIXED    eM11;
        public FIXED    eM12;
        public FIXED    eM21;
        public FIXED    eM22;
}

/** @dll.struct(pack=1, auto) */
class MCI_ANIM_OPEN_PARMS {
        public int dwCallback;
        public int wDeviceID;
        public String lpstrDeviceType;
        public String lpstrElementName;
        public String lpstrAlias;
        public int dwStyle;
        public int hWndParent;
}

/** @dll.struct(pack=1) */
class MCI_ANIM_PLAY_PARMS {
        public int dwCallback;
        public int dwFrom;
        public int dwTo;
        public int dwSpeed;
}

/** @dll.struct(pack=1) */
class MCI_ANIM_RECT_PARMS {
        public int dwCallback;
        public RECT     rc;
}

/** @dll.struct(pack=1) */
class MCI_ANIM_STEP_PARMS {
        public int dwCallback;
        public int dwFrames;
}

/** @dll.struct(pack=1) */
class MCI_ANIM_UPDATE_PARMS {
        public int dwCallback;
        public RECT     rc;
        public int hDC;
}

/** @dll.struct(pack=1, auto) */
class MCI_ANIM_WINDOW_PARMS {
        public int dwCallback;
        public int hWnd;
        public int nCmdShow;
        public String lpstrText;
}

/** @dll.struct(pack=1) */
class MCI_BREAK_PARMS {
        public int dwCallback;
        public int nVirtKey;
        public int hwndBreak;
}

/** @dll.struct(pack=1) */
class MCI_GENERIC_PARMS {
        public int dwCallback;
}

/** @dll.struct(pack=1) */
class MCI_GETDEVCAPS_PARMS {
        public int dwCallback;
        public int dwReturn;
        public int dwItem;
}

/** @dll.struct(pack=1, auto) */
class MCI_INFO_PARMS {
        public int dwCallback;
        public String lpstrReturn;
        public int dwRetSize;
}

/** @dll.struct(pack=1, auto) */
class MCI_LOAD_PARMS {
        public int dwCallback;
        public String lpfilename;
}

/** @dll.struct(pack=1, auto) */
class MCI_OPEN_PARMS {
        public int dwCallback;
        public int wDeviceID;
        public String lpstrDeviceType;
        public String lpstrElementName;
        public String lpstrAlias;
}

/** @dll.struct(pack=1, auto) */
class MCI_OVLY_LOAD_PARMS {
        public int dwCallback;
        public String lpfilename;
        public RECT     rc;
}

/** @dll.struct(pack=1, auto) */
class MCI_OVLY_OPEN_PARMS {
        public int dwCallback;
        public int wDeviceID;
        public String lpstrDeviceType;
        public String lpstrElementName;
        public String lpstrAlias;
        public int dwStyle;
        public int hWndParent;
}

/** @dll.struct(pack=1) */
class MCI_OVLY_RECT_PARMS {
        public int dwCallback;
        public RECT     rc;
}

/** @dll.struct(pack=1, auto) */
class MCI_OVLY_SAVE_PARMS {
        public int dwCallback;
        public String lpfilename;
        public RECT     rc;
}

/** @dll.struct(pack=1, auto) */
class MCI_OVLY_WINDOW_PARMS {
        public int dwCallback;
        public int hWnd;
        public int nCmdShow;
        public String lpstrText;
}

/** @dll.struct(pack=1) */
class MCI_PLAY_PARMS {
        public int dwCallback;
        public int dwFrom;
        public int dwTo;
}

/** @dll.struct(pack=1) */
class MCI_RECORD_PARMS {
        public int dwCallback;
        public int dwFrom;
        public int dwTo;
}

/** @dll.struct(pack=1, auto) */
class MCI_SAVE_PARMS {
        public int dwCallback;
        public String lpfilename;
}

/** @dll.struct(pack=1) */
class MCI_SEEK_PARMS {
        public int dwCallback;
        public int dwTo;
}

/** @dll.struct(pack=1) */
class MCI_SEQ_SET_PARMS {
        public int dwCallback;
        public int dwTimeFormat;
        public int dwAudio;
        public int dwTempo;
        public int dwPort;
        public int dwSlave;
        public int dwMaster;
        public int dwOffset;
}

/** @dll.struct(pack=1) */
class MCI_SET_PARMS {
        public int dwCallback;
        public int dwTimeFormat;
        public int dwAudio;
}

/** @dll.struct(pack=1) */
class MCI_STATUS_PARMS {
        public int dwCallback;
        public int dwReturn;
        public int dwItem;
        public int dwTrack;
}

/** @dll.struct(pack=1, auto) */
class MCI_SYSINFO_PARMS {
        public int dwCallback;
        public String lpstrReturn;
        public int dwRetSize;
        public int dwNumber;
        public int wDeviceType;
}

/** @dll.struct(pack=1, auto) */
class MCI_VD_ESCAPE_PARMS {
        public int dwCallback;
        public String lpstrCommand;
}

/** @dll.struct(pack=1) */
class MCI_VD_PLAY_PARMS {
        public int dwCallback;
        public int dwFrom;
        public int dwTo;
        public int dwSpeed;
}

/** @dll.struct(pack=1) */
class MCI_VD_STEP_PARMS {
        public int dwCallback;
        public int dwFrames;
}

/** @dll.struct(pack=1) */
class MCI_WAVE_DELETE_PARMS {
        public int dwCallback;
        public int dwFrom;
        public int dwTo;
}

/** @dll.struct(pack=1, auto) */
class MCI_WAVE_OPEN_PARMS {
        public int dwCallback;
        public int wDeviceID;
        public String lpstrDeviceType;
        public String lpstrElementName;
        public String lpstrAlias;
        public int dwBufferSeconds;
}

/** @dll.struct(pack=1) */
class MCI_WAVE_SET_PARMS {
        public int dwCallback;
        public int dwTimeFormat;
        public int dwAudio;
        public int wInput;
        public int wOutput;
        public short wFormatTag;
        public short wReserved2;
        public short nChannels;
        public short wReserved3;
        public int nSamplesPerSec;
        public int nAvgBytesPerSec;
        public short nBlockAlign;
        public short wReserved4;
        public short wBitsPerSample;
        public short wReserved5;
}

/** @dll.struct(auto) */
class MDICREATESTRUCT {
        public String szClass;
        public String szTitle;
        public int hOwner;
        public int x;
        public int y;
        public int cx;
        public int cy;
        public int style;
        public int lParam;
}

/** @dll.struct() */
class MDINEXTMENU {
        public int hmenuIn;
        public int hmenuNext;
        public int hwndNext;
}

/** @dll.struct() */
class MEASUREITEMSTRUCT {
        public int CtlType;
        public int CtlID;
        public int itemID;
        public int itemWidth;
        public int itemHeight;
        public int itemData;
}

/** @dll.struct() */
class MEMORY_BASIC_INFORMATION {
        public int BaseAddress;
        public int AllocationBase;
        public int AllocationProtect;
        public int RegionSize;
        public int State;
        public int Protect;
        public int Type;
}

/** @dll.struct() */
class MEMORYSTATUS {
        public int dwLength;
        public int dwMemoryLoad;
        public int dwTotalPhys;
        public int dwAvailPhys;
        public int dwTotalPageFile;
        public int dwAvailPageFile;
        public int dwTotalVirtual;
        public int dwAvailVirtual;
}

/** @dll.struct(auto) */
class MENUITEMINFO {
        public int cbSize;
        public int fMask;
        public int fType;
        public int fState;
        public int wID;
        public int hSubMenu;
        public int hbmpChecked;
        public int hbmpUnchecked;
        public int dwItemData;
        public int dwTypeData;
        public int cch;
}

/** @dll.struct() */
class METAFILEPICT {
        public int mm;
        public int xExt;
        public int yExt;
        public int hMF;
}

/** @dll.struct(pack=1) */
class MIDIHDR {
        public String lpData;
        public int dwBufferLength;
        public int dwBytesRecorded;
        public int dwUser;
        public int dwFlags;
        public int lpNext;
        public int reserved;
        public int dwOffset;
        /** @dll.structmap([type=FIXEDARRAY, size=8]) */
        public int      dwReserved[];
}

/** @dll.struct(pack=1, auto) */
class MIDIINCAPS {
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public int dwSupport;
}

/** @dll.struct(pack=1, auto) */
class MIDIOUTCAPS {
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public short wTechnology;
        public short wVoices;
        public short wNotes;
        public short wChannelMask;
        public int dwSupport;
}

/** @dll.struct(pack=1) */
class MIDIPROPTEMPO {
        public int cbStruct;
        public int dwTempo;
}

/** @dll.struct(pack=1) */
class MIDIPROPTIMEDIV {
        public int cbStruct;
        public int dwTimeDiv;
}

/** @dll.struct(pack=1) */
class MIDISTRMBUFFVER {
        public int dwVersion;
        public int dwMid;
        public int dwOEMVersion;
}

/** @dll.struct() */
class MINIMIZEDMETRICS {
        public int cbSize;
        public int iWidth;
        public int iHorzGap;
        public int iVertGap;
        public int iArrange;
}

/** @dll.struct() */
class MINMAXINFO {
        public POINT    ptReserved;
        public POINT    ptMaxSize;
        public POINT    ptMaxPosition;
        public POINT    ptMinTrackSize;
        public POINT    ptMaxTrackSize;
}

/** @dll.struct(pack=1, auto) */
class MIXERCAPS {
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public int fdwSupport;
        public int cDestinations;
}

/** @dll.struct(pack=1) */
class MIXERCONTROLDETAILS_BOOLEAN {
        public int fValue;
}

/** @dll.struct(pack=1, auto) */
class MIXERCONTROLDETAILS_LISTTEXT {
        public int dwParam1;
        public int dwParam2;
        /** @dll.structmap([type=TCHAR[64]]) */
        public String  szName;
}

/** @dll.struct(pack=1) */
class MIXERCONTROLDETAILS_SIGNED {
        public int lValue;
}

/** @dll.struct(pack=1) */
class MIXERCONTROLDETAILS_UNSIGNED {
        public int dwValue;
}

/** @dll.struct(pack=1, auto) */
class MIXERLINE {
        public int cbStruct;
        public int dwDestination;
        public int dwSource;
        public int dwLineID;
        public int fdwLine;
        public int dwUser;
        public int dwComponentType;
        public int cChannels;
        public int cConnections;
        public int cControls;
        /** @dll.structmap([type=TCHAR[16]]) */
        public String   szShortName;
        /** @dll.structmap([type=TCHAR[64]]) */
        public String   szName;
        public int dwType;
        public int dwDeviceID;
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
}

/** @dll.struct(pack=1) */
class MMCKINFO {
        public int ckid;
        public int cksize;
        public int fccType;
        public int dwDataOffset;
        public int dwFlags;
}

/** @dll.struct(pack=1) */
class MMIOINFO {
        public int dwFlags;
        public int fccIOProc;
        public int pIOProc;
        public int wErrorRet;
        public int htask;
        public int cchBuffer;
        public int pchBuffer;
        public int pchNext;
        public int pchEndRead;
        public int pchEndWrite;
        public int lBufOffset;
        public int lDiskOffset;
        /** @dll.structmap([type=FIXEDARRAY, size=3]) */
        public int      adwInfo[];
        public int dwReserved1;
        public int dwReserved2;
        public int hmmio;
}

/** @dll.struct() */
class MOUSEKEYS {
        public int cbSize;
        public int dwFlags;
        public int iMaxSpeed;
        public int iTimeToMaxSpeed;
        public int iCtrlSpeed;
        public int dwReserved1;
        public int dwReserved2;
}

/** @dll.struct() */
class MSG {
        public int hwnd;
        public int message;
        public int wParam;
        public int lParam;
        public int time;
        public POINT    pt;
}

/** @dll.struct(auto) */
class MSGBOXPARAMS {
        public int cbSize;
        public int hwndOwner;
        public int hInstance;
        public String lpszText;
        public String lpszCaption;
        public int dwStyle;
        public String lpszIcon;
        public int dwContextHelpId;
        public int lpfnMsgBoxCallback;
        public int dwLanguageId;
}

/** @dll.struct() */
class NCCALCSIZE_PARAMS {
        public RECT     rgrc0;
        public RECT     rgrc1;
        public RECT     rgrc2;
        public int        lppos;
}

/** @dll.struct(pack=4, auto) */
class NEWTEXTMETRIC {
        public int tmHeight;
        public int tmAscent;
        public int tmDescent;
        public int tmInternalLeading;
        public int tmExternalLeading;
        public int tmAveCharWidth;
        public int tmMaxCharWidth;
        public int tmWeight;
        public int tmOverhang;
        public int tmDigitizedAspectX;
        public int tmDigitizedAspectY;
        public char tmFirstChar;
        public char tmLastChar;
        public char tmDefaultChar;
        public char tmBreakChar;
        public byte tmItalic;
        public byte tmUnderlined;
        public byte tmStruckOut;
        public byte tmPitchAndFamily;
        public byte tmCharSet;
        public int ntmFlags;
        public int ntmSizeEM;
        public int ntmCellHeight;
        public int ntmAvgWidth;
}

/** @dll.struct(auto) */
class NEWTEXTMETRICEX {
        public NEWTEXTMETRIC    ntmTm;
        public FONTSIGNATURE    ntmFontSig;
}

/** @dll.struct(auto) */
class NONCLIENTMETRICS {
        public int cbSize;
        public int iBorderWidth;
        public int iScrollWidth;
        public int iScrollHeight;
        public int iCaptionWidth;
        public int iCaptionHeight;
        public LOGFONT  lfCaptionFont;
        public int iSmCaptionWidth;
        public int iSmCaptionHeight;
        public LOGFONT  lfSmCaptionFont;
        public int iMenuWidth;
        public int iMenuHeight;
        public LOGFONT  lfMenuFont;
        public LOGFONT  lfStatusFont;
        public LOGFONT  lfMessageFont;
}

/** @dll.struct(pack=1, auto) */
class NOTIFYICONDATA {
        public int cbSize;
        public int hWnd;
        public int uID;
        public int uFlags;
        public int uCallbackMessage;
        public int hIcon;
        /** @dll.structmap([type=TCHAR[64]]) */
        public String   szTip;
}

/** @dll.struct(auto) */
class NUMBERFMT {
        public int NumDigits;
        public int LeadingZero;
        public int Grouping;
        public String lpDecimalSep;
        public String lpThousandSep;
        public int NegativeOrder;
}

/** @dll.struct() */
class OFSTRUCT {
        public byte cBytes;
        public byte fFixedDisk;
        public short nErrCode;
        public short Reserved1;
        public short Reserved2;
        /** @dll.structmap([type=TCHAR[128]]) */
        public String   szPathName;
}

/** @dll.struct(auto) */
class OSVERSIONINFO {
        public int dwOSVersionInfoSize;
        public int dwMajorVersion;
        public int dwMinorVersion;
        public int dwBuildNumber;
        public int dwPlatformId;
        /** @dll.structmap([type=TCHAR[128]]) */
        public String   szCSDVersion;
}

/** @dll.struct(auto) */
class OUTLINETEXTMETRIC {
        public int otmSize;
        public TEXTMETRIC       otmTextMetrics;
        public byte otmFiller;
        public PANOSE   otmPanoseNumber;
        public int otmfsSelection;
        public int otmfsType;
        public int otmsCharSlopeRise;
        public int otmsCharSlopeRun;
        public int otmItalicAngle;
        public int otmEMSquare;
        public int otmAscent;
        public int otmDescent;
        public int otmLineGap;
        public int otmsCapEmHeight;
        public int otmsXHeight;
        public RECT     otmrcFontBox;
        public int otmMacAscent;
        public int otmMacDescent;
        public int otmMacLineGap;
        public int otmusMinimumPPEM;
        public POINT    otmptSubscriptSize;
        public POINT    otmptSubscriptOffset;
        public POINT    otmptSuperscriptSize;
        public POINT    otmptSuperscriptOffset;
        public int otmsStrikeoutSize;
        public int otmsStrikeoutPosition;
        public int otmsUnderscoreSize;
        public int otmsUnderscorePosition;
        public int otmpFamilyName;
        public int otmpFaceName;
        public int otmpStyleName;
        public int otmpFullName;
}

/** @dll.struct() */
class OVERLAPPED {
        public int Internal;
        public int InternalHigh;
        public int Offset;
        public int OffsetHigh;
        public int hEvent;
}

/** @dll.struct() */
class PAINTSTRUCT {
        public int hdc;
        public boolean fErase;
        public RECT     rcPaint;
        public boolean fRestore;
        public boolean fIncUpdate;
        /** @dll.structmap([type=FIXEDARRAY, size=32]) */
        public byte     rgbReserved[];
}

/** @dll.struct() */
class PALETTEENTRY {
        public byte peRed;
        public byte peGreen;
        public byte peBlue;
        public byte peFlags;
}

/** @dll.struct() */
class PANOSE {
        public byte bFamilyType;
        public byte bSerifStyle;
        public byte bWeight;
        public byte bProportion;
        public byte bContrast;
        public byte bStrokeVariation;
        public byte bArmStyle;
        public byte bLetterform;
        public byte bMidline;
        public byte bXHeight;
}

/** @dll.struct() */
class PIXELFORMATDESCRIPTOR {
        public short nSize;
        public short nVersion;
        public int dwFlags;
        public byte iPixelType;
        public byte cColorBits;
        public byte cRedBits;
        public byte cRedShift;
        public byte cGreenBits;
        public byte cGreenShift;
        public byte cBlueBits;
        public byte cBlueShift;
        public byte cAlphaBits;
        public byte cAlphaShift;
        public byte cAccumBits;
        public byte cAccumRedBits;
        public byte cAccumGreenBits;
        public byte cAccumBlueBits;
        public byte cAccumAlphaBits;
        public byte cDepthBits;
        public byte cStencilBits;
        public byte cAuxBuffers;
        public byte iLayerType;
        public byte bReserved;
        public int dwLayerMask;
        public int dwVisibleMask;
        public int dwDamageMask;
}

/** @dll.struct() */
class POINT {
        public int x;
        public int y;
}

/** @dll.struct(auto) */
class PRINTER_DEFAULTS {
        public String pDatatype;
        public int  pDevMode;
        public int DesiredAccess;
}

/** @dll.struct() */
class PRIVILEGE_SET {
        public int PrivilegeCount;
        public int Control;
        public LUID_AND_ATTRIBUTES      Privilege;
}

/** @dll.struct() */
class PROCESS_INFORMATION {
        public int hProcess;
        public int hThread;
        public int dwProcessId;
        public int dwThreadId;
}

/** @dll.struct() */
class RASTERIZER_STATUS {
        public short nSize;
        public short wFlags;
        public short nLanguageID;
}

/** @dll.struct() */
class RECT {
        public int left;
        public int top;
        public int right;
        public int bottom;
}

/** @dll.struct() */
class RECTL {
        public int left;
        public int top;
        public int right;
        public int bottom;
}

/** @dll.struct() */
class RGBQUAD {
        public byte rgbBlue;
        public byte rgbGreen;
        public byte rgbRed;
        public byte rgbReserved;
}

/** @dll.struct() */
class SCROLLINFO {
        public int cbSize;
        public int fMask;
        public int nMin;
        public int nMax;
        public int nPage;
        public int nPos;
        public int nTrackPos;
}

/** @dll.struct() */
class SECURITY_ATTRIBUTES {
        public int nLength;
        public int lpSecurityDescriptor;
        public boolean bInheritHandle;
}

/** @dll.struct(auto) */
class SERIALKEYS {
        public int cbSize;
        public int dwFlags;
        public String lpszActivePort;
        public String lpszPort;
        public int iBaudRate;
        public int iPortState;
        public int iActive;
}

/** @dll.struct(pack=1, auto) */
class SHELLEXECUTEINFO {
        public int cbSize;
        public int fMask;
        public int hwnd;
        public String lpVerb;
        public String lpFile;
        public String lpParameters;
        public String lpDirectory;
        public int nShow;
        public int hInstApp;
        public int lpIDList;
        public String lpClass;
        public int hkeyClass;
        public int dwHotKey;
        public int hIcon;
        public int hProcess;
}

/** @dll.struct(pack=1, auto) */
class SHFILEINFO {
        public int hIcon;
        public int iIcon;
        public int dwAttributes;
        /** @dll.structmap([type=TCHAR[260]]) */
        public String   szDisplayName;
        /** @dll.structmap([type=TCHAR[80]]) */
        public String   szTypeName;
}

/** @dll.struct(pack=1, auto) */
class SHFILEOPSTRUCT {
        public int hwnd;
        public int wFunc;
        public int pFrom;
        public int pTo;
        public short fFlags;
        public boolean fAnyOperationsAborted;
        public int hNameMappings;
        public String lpszProgressTitle;
}

/** @dll.struct() */
class SIZE {
        public int cx;
        public int cy;
}

/** @dll.struct() */
class SMALL_RECT {
        public short Left;
        public short Top;
        public short Right;
        public short Bottom;
}

/** @dll.struct(auto) */
class SOUNDSENTRY {
        public int cbSize;
        public int dwFlags;
        public int iFSTextEffect;
        public int iFSTextEffectMSec;
        public int iFSTextEffectColorBits;
        public int iFSGrafEffect;
        public int iFSGrafEffectMSec;
        public int iFSGrafEffectColor;
        public int iWindowsEffect;
        public int iWindowsEffectMSec;
        // When calling to retrieve SOUNDSENTRY information,
        // set this field to a string of size 260 before
        // passing to SystemParametersInfo.
        public String lpszWindowsEffectDLL;
        public int iWindowsEffectOrdinal;
}

/** @dll.struct(auto) */
class STARTUPINFO {
        public int cb;
        public String lpReserved;
        public String lpDesktop;
        public String lpTitle;
        public int dwX;
        public int dwY;
        public int dwXSize;
        public int dwYSize;
        public int dwXCountChars;
        public int dwYCountChars;
        public int dwFillAttribute;
        public int dwFlags;
        public short wShowWindow;
        public short cbReserved2;
        public int lpReserved2;
        public int hStdInput;
        public int hStdOutput;
        public int hStdError;
}


/** @dll.struct(auto) */
/*private*/ class STARTUPINFO_I {
        public int cb;
        public int lpReserved;
        public int lpDesktop;
        public int lpTitle;
        public int dwX;
        public int dwY;
        public int dwXSize;
        public int dwYSize;
        public int dwXCountChars;
        public int dwYCountChars;
        public int dwFillAttribute;
        public int dwFlags;
        public short wShowWindow;
        public short cbReserved2;
        public int lpReserved2;
        public int hStdInput;
        public int hStdOutput;
        public int hStdError;
}

/** @dll.struct() */
class STICKYKEYS {
        public int cbSize;
        public int dwFlags;
}

/** @dll.struct() */
class SYSTEM_INFO {
    public short wProcessorArchitecture;
    public short wReserved;
    public int   dwPageSize;
    public int   lpMinimumApplicationAddress;
    public int   lpMaximumApplicationAddress;
    public int   dwActiveProcessorMask;
    public int   dwNumberOfProcessors;
    public int   dwProcessorType;
    public int   dwAllocationGranularity;
    public short wProcessorLevel;
    public short wProcessorRevision;
}

/** @dll.struct() */
class SYSTEM_POWER_STATUS {
        public byte ACLineStatus;
        public byte BatteryFlag;
        public byte BatteryLifePercent;
        public byte Reserved1;
        public int BatteryLifeTime;
        public int BatteryFullLifeTime;
}

/** @dll.struct() */
class SYSTEMTIME {
        public short wYear;
        public short wMonth;
        public short wDayOfWeek;
        public short wDay;
        public short wHour;
        public short wMinute;
        public short wSecond;
        public short wMilliseconds;
}

/** @dll.struct(auto) */
class TEXTMETRIC {
        public int tmHeight;
        public int tmAscent;
        public int tmDescent;
        public int tmInternalLeading;
        public int tmExternalLeading;
        public int tmAveCharWidth;
        public int tmMaxCharWidth;
        public int tmWeight;
        public int tmOverhang;
        public int tmDigitizedAspectX;
        public int tmDigitizedAspectY;
        public char tmFirstChar;
        public char tmLastChar;
        public char tmDefaultChar;
        public char tmBreakChar;
        public byte tmItalic;
        public byte tmUnderlined;
        public byte tmStruckOut;
        public byte tmPitchAndFamily;
        public byte tmCharSet;
}

/** @dll.struct(unicode) */
class TIME_ZONE_INFORMATION {
        public int Bias;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   StandardName;
        public SYSTEMTIME       StandardDate;
        public int StandardBias;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   DaylightName;
        public SYSTEMTIME       DaylightDate;
        public int DaylightBias;
}

/** @dll.struct(pack=1) */
class TIMECAPS {
        public int wPeriodMin;
        public int wPeriodMax;
}

/** @dll.struct() */
class TOGGLEKEYS {
        public int cbSize;
        public int dwFlags;
}

/** @dll.struct() */
class TPMPARAMS {
        public int cbSize;
        public RECT     rcExclude;
}

/** @dll.struct() */
class TRACKMOUSEEVENT {
        public int cbSize;
        public int dwFlags;
        public int hwndTrack;
        public int dwHoverTime;
}

/** @dll.struct(pack=1) */
class WAVEFORMAT {
        public short wFormatTag;
        public short nChannels;
        public int nSamplesPerSec;
        public int nAvgBytesPerSec;
        public short nBlockAlign;
}

/** @dll.struct(pack=1) */
class WAVEFORMATEX {
        public short wFormatTag;
        public short nChannels;
        public int nSamplesPerSec;
        public int nAvgBytesPerSec;
        public short nBlockAlign;
        public short wBitsPerSample;
        public short cbSize;
}

/** @dll.struct(pack=1) */
class WAVEHDR {
        public int lpData;
        public int dwBufferLength;
        public int dwBytesRecorded;
        public int dwUser;
        public int dwFlags;
        public int dwLoops;
        public int lpNext;
        public int reserved;
}

/** @dll.struct(pack=1, auto) */
class WAVEINCAPS {
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public int dwFormats;
        public short wChannels;
        public short wReserved1;
}

/** @dll.struct(pack=1, auto) */
class WAVEOUTCAPS {
        public short wMid;
        public short wPid;
        public int vDriverVersion;
        /** @dll.structmap([type=TCHAR[32]]) */
        public String   szPname;
        public int dwFormats;
        public short wChannels;
        public short wReserved1;
        public int dwSupport;
}

/** @dll.struct() */
class WIN32_FILE_ATTRIBUTE_DATA {
        public int dwFileAttributes;
        public FILETIME ftCreationTime;
        public FILETIME ftLastAccessTime;
        public FILETIME ftLastWriteTime;
        public int nFileSizeHigh;
        public int nFileSizeLow;
}

/** @dll.struct(auto) */
class WIN32_FIND_DATA {
        public int dwFileAttributes;
        public FILETIME ftCreationTime;
        public FILETIME ftLastAccessTime;
        public FILETIME ftLastWriteTime;
        public int nFileSizeHigh;
        public int nFileSizeLow;
        public int dwReserved0;
        public int dwReserved1;
        /** @dll.structmap([type=TCHAR[260]]) */
        public String   cFileName;
        /** @dll.structmap([type=TCHAR[14]]) */
        public String   cAlternateFileName;
}

/** @dll.struct() */
class WINDOWPLACEMENT {
        public int length;
        public int flags;
        public int showCmd;
        public POINT    ptMinPosition;
        public POINT    ptMaxPosition;
        public RECT     rcNormalPosition;
}

/** @dll.struct() */
class WINDOWPOS {
        public int hwnd;
        public int hwndInsertAfter;
        public int x;
        public int y;
        public int cx;
        public int cy;
        public int flags;
}

/** @dll.struct(auto) */
class WNDCLASS {
        public int style;
        public int lpfnWndProc;
        public int cbClsExtra;
        public int cbWndExtra;
        public int hInstance;
        public int hIcon;
        public int hCursor;
        public int hbrBackground;
        public String lpszMenuName;
        public String lpszClassName;
}

/** @dll.struct(auto) */
class WNDCLASSEX {
        public int cbSize;
        public int style;
        public int lpfnWndProc;
        public int cbClsExtra;
        public int cbWndExtra;
        public int hInstance;
        public int hIcon;
        public int hCursor;
        public int hbrBackground;
        public String lpszMenuName;
        public String lpszClassName;
        public int hIconSm;
}

/** @dll.struct() */
class XFORM {
        public float eM11;
        public float eM12;
        public float eM21;
        public float eM22;
        public float eDx;
        public float eDy;
}